Friday, 31 March 2017

Redirect To Another Page If User Have No Right TO Access Page

No comments
public class ValidateUserAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (SessionFactory.Instance.CurrentUsers == null)
                filterContext.Result = new RedirectResult(string.Format("/Home/Login?ReturnUrl={0}"HttpUtility.UrlEncode(filterContext.HttpContext.Request.Url.AbsolutePath)));
            else if (SessionFactory.Instance.CurrentUsers.clientid == 0)
                filterContext.Result = new RedirectResult(string.Format("/Home/Login"HttpUtility.UrlEncode(filterContext.HttpContext.Request.Url.AbsolutePath)));
        }
    }
 
    public class ValidateSetupAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (SessionFactory.Instance.CurrentUsers.roleid == (int)Constant.Roles.user)
                filterContext.Result = new RedirectResult(string.Format("/Dashboard/Dashboard"HttpUtility.UrlEncode(filterContext.HttpContext.Request.Url.AbsolutePath)));
        }
    }




Controller

[ValidateUser]
[ValidateSetup]
public class MasterController : Controller
{
}
read more

Sunday, 26 March 2017

Delete Multiple Items With Checkbox MVC

No comments
JQUERY

$('#selectAllCheck').click(function (e) {
                   var table = $(e.target).closest('table');
                   $('td input:checkbox', table).prop('checked'this.checked);
               });

function Inactivate() {
                debugger
                var mainForm = $("#frmDrugsView");
                var serializeData = JSON.stringify(mainForm.serializeArray());
                $.ajax({
                    type: "POST",
                    url: "@Url.Action("Inactivate", "Master")",
                    data: "{ 'jsonString': '" + serializeData.toString() + "' }",
                    async: true,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (responseData) {
                        debugger
                        location.reload();
                    },
                    error: function (e) {
                         
                    }
                });
            }


HTML

@using (@Html.BeginForm(nullnullFormMethod.Post, new { id = "frmDrugsView", @class = "form-horizontal bordered-group", role = "form" }))
{
<table class="table">
<tr>
 <th><input type="checkbox" id="selectAllCheck" /></th>                                            
</tr>
@foreach (var item in @Model.lstDrugRel)
 {
   <tr class='@(item.IsActive==false?"deletedPatient":"")'>
   <td><input type="checkbox" name="inactiveDrug" id="inactiveDrug" value="@item.drugid" />
   </td>                                               
   </tr>
 }
</table>
<input type="submit" class="btn btn-primary " id="btnInactive" value="Save" 
onclick="Inactivate();return false;">
}                 

Controller


//Inactivate Drugs
        public ActionResult Inactivate(string jsonString)
        {
            List<serializeJsonRequest> serializeJsonRequest = JsonConvert.DeserializeObject<List<serializeJsonRequest>>(jsonString); 
            foreach (var item in serializeJsonRequest)
            {
                if (item.name == "inactiveDrug")
                {
                    var drugRepository = uom.Repository<DrugRepository>();
                    var drugData = drugRepository.GetDrugById(int.Parse(item.value));
                    drugData.IsActive = false;
                    drugRepository.UpdateDrug(drugData);
                }
            }
            return Json("Sucess"JsonRequestBehavior.AllowGet);
        }
read more

Wednesday, 22 March 2017

Accordian In Ionic

No comments
Controller


//Accordian Start
    $scope.accordian = [
     { title: "CallList", id: 1 },
     { title: "Schedule", id: 2 },
     { title: "CallHistory", id: 3 },
    ];
 
    $scope.toggleAccordian = function (accordian) {
        if ($scope.isAccordianShown(accordian)) {
            $scope.shownaccordian = null;
        } else {
            $scope.shownaccordian = accordian;
        }
    };
    $scope.isAccordianShown = function (accordian) {
        return $scope.shownaccordian === accordian;
    };
    $scope.toggleAccordian('1');


HTML

<div ng-repeat="(key, value) in accordian| groupBy: 'id'">
                <ion-item class="item-stable" ng-click="toggleAccordian(key)"
                          ng-class="{active: isAccordianShown(key)}">
                    <i class="icon" ng-class="isAccordianShown(key) ? 'ion-minus' : 'ion-plus'"></i>
                    &nbsp;
                    <span style="margin:5px;color#7fa42d;font-weightbold;">{{key=='1'?'Call List':key=='2'?'Next 7 Days Schedule':key=='3'?'Call History':''}}</span>
                </ion-item> 
                <ion-item class="" ng-repeat="items in value" ng-show="isAccordianShown(key)">                   
                    <div class="col-lg-12" ng-repeat="x in xx" ng-show="key=='1'">                      
                    </div>                   
                    <div class="list" ng-repeat="z in zz" ng-show="key=='2'">                       
                    </div>
                    <div class="col list" ng-show="key=='3'">                       
                    </div>                                      
                </ion-item>
            </div>
read more

Friday, 10 March 2017

Required Environment Variables To Setup Cordova Project

No comments
User Variable
------------------

ANDROID_HOME
C:\Program Files (x86)\Android\android-sdk

JAVA_HOME
C:\Program Files\Java\jdk1.8.0_111

PATH:-
C:\Users\vikas\AppData\Roaming\npm\node_modules\cordova\bin
C:\Program Files\Java\jdk1.8.0_111\bin
C:\Users\vikas\AppData\Roaming\npm



system variables
---------------------------
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_111
read more

Thursday, 2 March 2017

make Checkbox to work as radiobutton

No comments
JS


$scope.doctorStatus = [
     { title: "Available", checked: true },
     { title: "Busy", checked: false },
     { title: "NA", checked: false },
    ];
 
    $scope.UpdateSelection = function (position, itens, title) {
        angular.forEach(itens, function (subscription, index) {
            if (position != index)
                subscription.checked = false;
            else
                subscription.checked = true;
        }
        );
    }

HTML


<div class="card" ng-show="!callList.length">           
            <ion-item class="item-checkbox" ng-repeat="item in doctorStatus" style="padding:0 !important">
                <ion-checkbox ng-model="item.checked" ng-click="UpdateSelection($index, doctorStatus, item.title);">{{item.title}}</ion-checkbox>
            </ion-item>
 
        </div>
read more

Wednesday, 1 March 2017

Show Default Load Image Till Image Is Fully Loaded From Server

No comments
src is default image

<img load-image="{{item.ImageURL}}" src="img/rolling.gif" />

Directive

app.directive('loadImage'function () {
    return {
        restrict: 'A',
        scope: { loadImage: '@' },
        link: function (scope, element, attrs) {
            element.one('load'function () {
                element.attr('src', scope.loadImage);
            });
        }
    };
}); 
read more

Focus On Next Input On Enter

No comments
Directive


//move to next input when enter
app.directive('focus'function () {
    return {
        restrict: 'A',
        link: function ($scope, elem, attrs) {
            elem.bind('keydown'function (e) {
                var code = e.keyCode || e.which;
                if (code === 13) {
                    e.preventDefault();
                    //          elem.next().focus();
 
                    if (elem.attr('id') == "registerEmail") {
                        $(':input:eq(' + ($(':input').index(this) + 1) + ')').on('focus'function () {
                            $(this).attr('type''date');
                        });
                        $(':input:eq(' + ($(':input').index(this) + 1) + ')').focus().click();
                    }
                    else {
                        $(':input:eq(' + ($(':input').index(this) + 1) + ')').focus();
                    }
                }
            });
        }
    }
});

HTML

<label>
  <input id="email" focus type="email" ng-model="userEmail" required>
/label>
<label>
  <input id="password" focus type="password" ng-model="userPassword" required>
</label> 
read more

Validation In ModalPopUp

No comments

HTML
<script id="templates/changePassword.html" type="text/ng-template">
    <ion-modal-view class="grey_bg">
        <ion-nav-bar class="bar-balanced">
            <ion-nav-title>
                Change Password
            </ion-nav-title>
            <ion-nav-buttons side="right">
                <button class="button button-icon button-clear ion-close-round"
 ng-click="ChangePassword()"></button>
            </ion-nav-buttons>
        </ion-nav-bar>
        <ion-content class="has-header toTransofrm" padding="10">
            <div class="list">
                <form class="register-form" name="formRegister">
                    <label class="item item-input" 
ng-class="{ 'has-errors' : formRegister.oldPassword.$invalid && 
!formRegister.oldPassword.$pristine, 'no-errors' : formRegister.oldPassword.$valid}">
                        <input focus type="password" placeholder="Current Password" 
id="oldPassword" name="oldPassword" ng-model="oldPassword" required />
                    </label>
                    <label class="item item-input" 
ng-class="{ 'has-errors' : formRegister.userPassword.$invalid 
&& !formRegister.userPassword.$pristine, 'no-errors' : formRegister.userPassword.$valid}">
                        <input focus type="password" placeholder="New Password" 
id="userPassword" name="userPassword" ng-model="userPassword" required />
                    </label>
                    <label class="item item-input" 
ng-class="{ 'has-errors' : formRegister.confirmPassword.$invalid && 
!formRegister.confirmPassword.$pristine, 'no-errors' : formRegister.confirmPassword.$valid}">
                        <input focus type="password" id="confirmPassword" 
name="confirmPassword" placeholder="Confirm New Password" 
ng-model="confirmPassword" required compare-to="userPassword">
                    </label>
                    <div class="msg-block ng-invalid" ng-show="formRegister.$error">
                        <span class="msg-error ng-invalid" 
ng-show="formRegister.confirmPassword.$error.pwmatch">
                            Password doesn't match.
                        </span>
                    </div>
                    <div class="button-bar bar-balanced">
                        <a class="button" ng-click="openPasswordModal()" 
ng-disabled="formRegister.$invalid" style="font-size:25px">Change Password</a>
                    </div>
                </form>
 
            </div>
 
        </ion-content>
    </ion-modal-view>
</script>

JS

//open popup model
   $scope.openPasswordModal = function (animation) {
       $ionicModal.fromTemplateUrl('templates/changePassword.html', {
           scope: $scope,
           animation: animation
       }).then(function (modal) {
           $scope.passwordModal = modal;
           $scope.passwordModal.show();
       });
   };
   //close popup model
   $scope.closePasswordModal = function () {
       $scope.passwordModal.hide();
   };

Directive

//password compare
app.directive('compareTo', [function () {
    return {
        require: "ngModel",
        scope: {
            otherModelValue: "=compareTo"
        },
        link: function (scope, element, attributes, ngModel) {
            var firstPassword = '#' + attributes.compareTo;
            element.on('keyup'function () {
                scope.$apply(function () {
                    var v = element.val() === $(firstPassword).val();
                    ngModel.$setValidity('pwmatch', v);
                });
            });
        }
    };
}]);
read more