예제 #1
0
        public RolePermissionListViewModel UpdateRolePermission(RolePermissionListViewModel model)
        {
            var entityCollection = this._rolePermissionsRepository.Get(null).Where(x => x.RoleId == model.RoleId);

            if (entityCollection.Count() > 0)
            {
                foreach (var item in entityCollection)
                {
                    this._rolePermissionsRepository.Delete(item);
                }
                this._unitOfWork.Commit();
            }

            if (model.List?.Count > 0)
            {
                foreach (var item in model.List)
                {
                    RolePermission newEntity = new RolePermission
                    {
                        RoleId       = model.RoleId,
                        PermissionId = item.Value
                    };
                    this._rolePermissionsRepository.Add(newEntity);
                }
                this._unitOfWork.Commit();
            }

            return(model);
        }
        public ActionResult <RolePermissionListViewModel> GetAllRolePermission(RolePermissionListViewModel rolePermissionListViewModel)
        {
            RolePermissionListViewModel rolePermissionListView = new RolePermissionListViewModel();

            try
            {
                rolePermissionListView = _roleBasedAccessService.GetAllRolePermission(rolePermissionListViewModel);
            }
            catch (Exception es)
            {
                rolePermissionListView._failure = true;
                rolePermissionListView._message = es.Message;
            }
            return(rolePermissionListView);
        }
예제 #3
0
        public RolePermissionListViewModel GetRolePermission(long roleId)
        {
            var lang             = this._languageService.CurrentLanguage;
            var entityCollection = this._rolePermissionsRepository.Get(null).Where(x => x.RoleId == roleId).ToList();

            RolePermissionListViewModel result = new RolePermissionListViewModel
            {
                RoleId = roleId,
                List   = new List <NmaeValueViewModel>()
            };

            foreach (var item in entityCollection)
            {
                result.List.Add(new NmaeValueViewModel
                {
                    Value = item.PermissionId.Value,
                    Name  = item.Permission.ChildTranslatedPermissions.FirstOrDefault(x => x.Language == lang).Name
                });
            }
            return(result);
        }
예제 #4
0
        /// <summary>
        /// Get All Role Permission
        /// </summary>
        /// <param name="rolePermissionListViewModel"></param>
        /// <returns></returns>
        public RolePermissionListViewModel GetAllRolePermission(RolePermissionListViewModel rolePermissionListViewModel)
        {
            RolePermissionListViewModel rolePermissionListView = new RolePermissionListViewModel();

            try
            {
                if (TokenManager.CheckToken(rolePermissionListViewModel._tenantName + rolePermissionListViewModel._userName, rolePermissionListViewModel._token))
                {
                    rolePermissionListView = this.roleBasedAccessRepository.GetAllRolePermission(rolePermissionListViewModel);
                }
                else
                {
                    rolePermissionListView._failure = true;
                    rolePermissionListView._message = TOKENINVALID;
                }
            }
            catch (Exception es)
            {
                rolePermissionListView._failure = true;
                rolePermissionListView._message = es.Message;
            }
            return(rolePermissionListView);
        }
예제 #5
0
        /// <summary>
        ///  ValidateUserLogin method is used for authentcatred the login process
        /// </summary>
        /// <param name="objModel"></param>
        /// <returns></returns>

        public LoginViewModel ValidateUserLogin(LoginViewModel objModel)
        {
            LoginViewModel ReturnModel = new LoginViewModel();

            try
            {
                var decrypted = Utility.Decrypt(objModel.Password);

                string passwordHash = Utility.GetHashedPassword(decrypted);
                ReturnModel._tenantName = objModel._tenantName;
                //var encryptedPassword = EncodePassword(objModel.Password);
                var user = this.context?.UserMaster.Include(x => x.Membership).Where(x => x.EmailAddress == objModel.Email && x.TenantId == objModel.TenantId &&
                                                                                     x.PasswordHash == passwordHash).FirstOrDefault();
                var correctEmailList    = this.context?.UserMaster.Where(x => x.EmailAddress.Contains(objModel.Email)).ToList();
                var correctPasswordList = this.context?.UserMaster.Where(x => x.PasswordHash == passwordHash).ToList();
                if (user == null && correctEmailList.Count > 0 && correctPasswordList.Count == 0)
                {
                    ReturnModel.UserId   = null;
                    ReturnModel._failure = true;
                    ReturnModel._message = PASSWORDMESSAGE;
                }
                else if (user == null && correctEmailList.Count == 0 && correctPasswordList.Count > 0)
                {
                    ReturnModel.UserId   = null;
                    ReturnModel._failure = true;
                    ReturnModel._message = EMAILMESSAGE;
                }
                else if (user == null && correctEmailList.Count == 0 && correctPasswordList.Count == 0)
                {
                    ReturnModel.UserId   = null;
                    ReturnModel._failure = true;
                    ReturnModel._message = PASSWORDMESSAGE;
                }
                else
                {
                    if (user.MembershipId == 4)
                    {
                        var userPhoto = this.context?.StaffMaster.Where(x => x.TenantId == user.TenantId && x.SchoolId == user.SchoolId && x.StaffId == user.UserId).Select(x => x.StaffPhoto).FirstOrDefault();

                        if (userPhoto != null)
                        {
                            ReturnModel.UserPhoto = userPhoto;
                        }
                    }
                    if (user.MembershipId == 7)
                    {
                        var userPhoto = this.context?.StudentMaster.Where(x => x.TenantId == user.TenantId && x.SchoolId == user.SchoolId && x.StudentId == user.UserId).Select(x => x.StudentPhoto).FirstOrDefault();

                        if (userPhoto != null)
                        {
                            ReturnModel.UserPhoto = userPhoto;
                        }
                    }
                    if (user.MembershipId == 6)
                    {
                        var userPhoto = this.context?.ParentInfo.Where(x => x.TenantId == user.TenantId && x.SchoolId == user.SchoolId && x.ParentId == user.UserId).Select(x => x.ParentPhoto).FirstOrDefault();

                        if (userPhoto != null)
                        {
                            ReturnModel.UserPhoto = userPhoto;
                        }
                    }

                    ReturnModel.UserId         = user.UserId;
                    ReturnModel.TenantId       = user.TenantId;
                    ReturnModel.Email          = user.EmailAddress;
                    ReturnModel.Name           = user.Name;
                    ReturnModel.MembershipName = user.Membership.Profile;
                    ReturnModel.MembershipId   = user.Membership.MembershipId;
                    ReturnModel._failure       = false;
                    ReturnModel._message       = "";

                    if (objModel.SchoolId == null)
                    {
                        objModel.SchoolId = 1;
                    }

                    RolePermissionListViewModel rolePermissionListView = new RolePermissionListViewModel();
                    rolePermissionListView.PermissionList = new List <RolePermissionViewModel>();

                    var permissionGroup = this.context?.PermissionGroup.Select(pg => new PermissionGroup
                    {
                        PermissionGroupId   = pg.PermissionGroupId,
                        TenantId            = pg.TenantId,
                        SchoolId            = pg.SchoolId,
                        PermissionGroupName = pg.PermissionGroupName,
                        ShortName           = pg.ShortName,
                        IsActive            = pg.IsActive,
                        IsSystem            = pg.IsSystem,
                        Title              = pg.Title,
                        IconType           = pg.IconType,
                        Icon               = pg.Icon,
                        SortOrder          = pg.SortOrder,
                        Type               = pg.Type,
                        Path               = pg.Path,
                        BadgeType          = pg.BadgeType,
                        BadgeValue         = pg.BadgeValue,
                        Active             = pg.Active,
                        PermissionCategory = (ICollection <PermissionCategory>)pg.PermissionCategory.Select(pc => new PermissionCategory
                        {
                            PermissionCategoryId   = pc.PermissionCategoryId,
                            TenantId               = pc.TenantId,
                            SchoolId               = pc.SchoolId,
                            PermissionGroupId      = pc.PermissionGroupId,
                            PermissionCategoryName = pc.PermissionCategoryName,
                            ShortCode              = pc.ShortCode,
                            Path                  = pc.Path,
                            Title                 = pc.Title,
                            Type                  = pc.Type,
                            EnableView            = pc.EnableView,
                            EnableAdd             = pc.EnableAdd,
                            EnableDelete          = pc.EnableDelete,
                            EnableEdit            = pc.EnableEdit,
                            PermissionSubcategory = (ICollection <PermissionSubcategory>)pc.PermissionSubcategory.Select(psc => new PermissionSubcategory
                            {
                                TenantId                  = psc.TenantId,
                                SchoolId                  = psc.SchoolId,
                                PermissionCategoryId      = psc.PermissionCategoryId,
                                PermissionSubcategoryId   = psc.PermissionSubcategoryId,
                                PermissionGroupId         = psc.PermissionGroupId,
                                PermissionSubcategoryName = psc.PermissionSubcategoryName,
                                ShortCode                 = psc.ShortCode,
                                Path           = psc.Path,
                                Title          = psc.Title,
                                Type           = psc.Type,
                                EnableView     = psc.EnableView,
                                EnableAdd      = psc.EnableAdd,
                                EnableDelete   = psc.EnableDelete,
                                EnableEdit     = psc.EnableEdit,
                                RolePermission = (ICollection <RolePermission>)psc.RolePermission.Select(scrp => new RolePermission
                                {
                                    RolePermissionId        = scrp.RolePermissionId,
                                    TenantId                = scrp.TenantId,
                                    SchoolId                = scrp.SchoolId,
                                    MembershipId            = scrp.MembershipId,
                                    PermissionSubcategoryId = scrp.PermissionSubcategoryId,
                                    CanView   = scrp.CanView,
                                    CanAdd    = scrp.CanAdd,
                                    CanDelete = scrp.CanDelete,
                                    CanEdit   = scrp.CanEdit,
                                }).Where(x => x.TenantId == objModel.TenantId && x.SchoolId == objModel.SchoolId && x.MembershipId == 1)
                            }).Where(x => x.TenantId == objModel.TenantId && x.SchoolId == objModel.SchoolId),
                            RolePermission = (ICollection <RolePermission>)pc.RolePermission.Select(crp => new RolePermission
                            {
                                RolePermissionId     = crp.RolePermissionId,
                                TenantId             = crp.TenantId,
                                SchoolId             = crp.SchoolId,
                                MembershipId         = crp.MembershipId,
                                PermissionCategoryId = crp.PermissionCategoryId,
                                CanView   = crp.CanView,
                                CanAdd    = crp.CanAdd,
                                CanDelete = crp.CanDelete,
                                CanEdit   = crp.CanEdit,
                            }).Where(x => x.TenantId == objModel.TenantId && x.SchoolId == objModel.SchoolId && x.MembershipId == 1)
                        }).Where(x => x.TenantId == objModel.TenantId && x.SchoolId == objModel.SchoolId),
                        RolePermission = (ICollection <RolePermission>)pg.RolePermission.Select(grp => new RolePermission
                        {
                            RolePermissionId  = grp.RolePermissionId,
                            TenantId          = grp.TenantId,
                            SchoolId          = grp.SchoolId,
                            MembershipId      = grp.MembershipId,
                            PermissionGroupId = grp.PermissionGroupId,
                            CanView           = grp.CanView,
                            CanAdd            = grp.CanAdd,
                            CanDelete         = grp.CanDelete,
                            CanEdit           = grp.CanEdit,
                        }).Where(x => x.TenantId == objModel.TenantId && x.SchoolId == objModel.SchoolId && x.MembershipId == 1)
                    }).Where(x => x.TenantId == objModel.TenantId && x.SchoolId == objModel.SchoolId).OrderBy(x => x.SortOrder).ToList();

                    if (permissionGroup.Count() > 0)
                    {
                        foreach (PermissionGroup pg in permissionGroup.ToList())
                        {
                            RolePermissionViewModel pgvm = new RolePermissionViewModel();
                            pgvm.permissionGroup = new PermissionGroup();
                            pgvm.permissionGroup = pg;
                            rolePermissionListView.PermissionList.Add(pgvm);
                        }

                        ReturnModel.PermissionList = rolePermissionListView.PermissionList;
                        ReturnModel.SchoolId       = objModel.SchoolId;
                    }
                }
            }

            catch (Exception ex)
            {
                ReturnModel._failure = true;
                ReturnModel._message = ex.Message;
            }


            return(ReturnModel);
        }
        /// <summary>
        /// Get All Role Permission
        /// </summary>
        /// <param name="rolePermissionListViewModel"></param>
        /// <returns></returns>
        public RolePermissionListViewModel GetAllRolePermission(RolePermissionListViewModel rolePermissionListViewModel)
        {
            RolePermissionListViewModel rolePermissionListView = new RolePermissionListViewModel();

            try
            {
                rolePermissionListView.PermissionList = new List <RolePermissionViewModel>();

                //var permissionGroup = this.context?.PermissionGroups.Include(pc => pc.PermissionCategories).ThenInclude(rp => rp.RolePermissions.Where//(a=>a.RoleId==objModel.role.RoleId)).Where(x => x.TenantId == objModel.role.TenantId && x.HospitalId == objModel.role.HospitalId && x.IsActive == true );

                var permissionGroup = this.context?.PermissionGroup.Select(pg => new PermissionGroup
                {
                    PermissionGroupId   = pg.PermissionGroupId,
                    TenantId            = pg.TenantId,
                    SchoolId            = pg.SchoolId,
                    PermissionGroupName = pg.PermissionGroupName,
                    ShortName           = pg.ShortName,
                    IsActive            = pg.IsActive,
                    IsSystem            = pg.IsSystem,
                    Title              = pg.Title,
                    IconType           = pg.IconType,
                    Icon               = pg.Icon,
                    SortOrder          = pg.SortOrder,
                    Type               = pg.Type,
                    Path               = pg.Path,
                    BadgeType          = pg.BadgeType,
                    BadgeValue         = pg.BadgeValue,
                    Active             = pg.Active,
                    PermissionCategory = (ICollection <PermissionCategory>)pg.PermissionCategory.Select(pc => new PermissionCategory
                    {
                        PermissionCategoryId   = pc.PermissionCategoryId,
                        TenantId               = pc.TenantId,
                        SchoolId               = pc.SchoolId,
                        PermissionGroupId      = pc.PermissionGroupId,
                        PermissionCategoryName = pc.PermissionCategoryName,
                        ShortCode              = pc.ShortCode,
                        Path                  = pc.Path,
                        Title                 = pc.Title,
                        Type                  = pc.Type,
                        EnableView            = pc.EnableView,
                        EnableAdd             = pc.EnableAdd,
                        EnableDelete          = pc.EnableDelete,
                        EnableEdit            = pc.EnableEdit,
                        PermissionSubcategory = (ICollection <PermissionSubcategory>)pc.PermissionSubcategory.Select(psc => new PermissionSubcategory
                        {
                            TenantId                  = psc.TenantId,
                            SchoolId                  = psc.SchoolId,
                            PermissionCategoryId      = psc.PermissionCategoryId,
                            PermissionSubcategoryId   = psc.PermissionSubcategoryId,
                            PermissionGroupId         = psc.PermissionGroupId,
                            PermissionSubcategoryName = psc.PermissionSubcategoryName,
                            ShortCode                 = psc.ShortCode,
                            Path           = psc.Path,
                            Title          = psc.Title,
                            Type           = psc.Type,
                            EnableView     = psc.EnableView,
                            EnableAdd      = psc.EnableAdd,
                            EnableDelete   = psc.EnableDelete,
                            EnableEdit     = psc.EnableEdit,
                            RolePermission = (ICollection <RolePermission>)psc.RolePermission.Select(scrp => new RolePermission
                            {
                                RolePermissionId        = scrp.RolePermissionId,
                                TenantId                = scrp.TenantId,
                                SchoolId                = scrp.SchoolId,
                                MembershipId            = scrp.MembershipId,
                                PermissionSubcategoryId = scrp.PermissionSubcategoryId,
                                CanView   = scrp.CanView,
                                CanAdd    = scrp.CanAdd,
                                CanDelete = scrp.CanDelete,
                                CanEdit   = scrp.CanEdit,
                            }).Where(x => x.TenantId == rolePermissionListViewModel.TenantId && x.SchoolId == rolePermissionListViewModel.SchoolId && x.MembershipId == rolePermissionListViewModel.MembershipId)
                        }).Where(x => x.TenantId == rolePermissionListViewModel.TenantId && x.SchoolId == rolePermissionListViewModel.SchoolId),
                        RolePermission = (ICollection <RolePermission>)pc.RolePermission.Select(crp => new RolePermission
                        {
                            RolePermissionId     = crp.RolePermissionId,
                            TenantId             = crp.TenantId,
                            SchoolId             = crp.SchoolId,
                            MembershipId         = crp.MembershipId,
                            PermissionCategoryId = crp.PermissionCategoryId,
                            CanView   = crp.CanView,
                            CanAdd    = crp.CanAdd,
                            CanDelete = crp.CanDelete,
                            CanEdit   = crp.CanEdit,
                        }).Where(x => x.TenantId == rolePermissionListViewModel.TenantId && x.SchoolId == rolePermissionListViewModel.SchoolId && x.MembershipId == rolePermissionListViewModel.MembershipId)
                    }).Where(x => x.TenantId == rolePermissionListViewModel.TenantId && x.SchoolId == rolePermissionListViewModel.SchoolId),
                    RolePermission = (ICollection <RolePermission>)pg.RolePermission.Select(grp => new RolePermission
                    {
                        RolePermissionId  = grp.RolePermissionId,
                        TenantId          = grp.TenantId,
                        SchoolId          = grp.SchoolId,
                        MembershipId      = grp.MembershipId,
                        PermissionGroupId = grp.PermissionGroupId,
                        CanView           = grp.CanView,
                        CanAdd            = grp.CanAdd,
                        CanDelete         = grp.CanDelete,
                        CanEdit           = grp.CanEdit,
                    }).Where(x => x.TenantId == rolePermissionListViewModel.TenantId && x.SchoolId == rolePermissionListViewModel.SchoolId && x.MembershipId == rolePermissionListViewModel.MembershipId)
                }).Where(x => x.TenantId == rolePermissionListViewModel.TenantId && x.SchoolId == rolePermissionListViewModel.SchoolId).OrderBy(x => x.SortOrder).ToList();

                if (permissionGroup.Count() > 0)
                {
                    foreach (PermissionGroup pg in permissionGroup.ToList())
                    {
                        RolePermissionViewModel pgvm = new RolePermissionViewModel();
                        pgvm.permissionGroup = new PermissionGroup();
                        pgvm.permissionGroup = pg;

                        //Get Role permission
                        //foreach (PermissionCategory pc in pg.PermissionCategory)
                        //{
                        //    if (pc.RolePermission.Count == 0)
                        //    {

                        //        RolePermission rp = new RolePermission();
                        //        rp.PermissionCategoryId = pc.PermissionCategoryId;
                        //        rp.MembershipId = rolePermissionListViewModel.MembershipId;
                        //        rp.CanAdd = false;
                        //        rp.CanDelete = false;
                        //        rp.CanEdit = false;
                        //        rp.CanView = false;
                        //        rp.TenantId = rolePermissionListViewModel.TenantId;
                        //        rp.SchoolId = rolePermissionListViewModel.SchoolId;
                        //        pc.RolePermission.Add(rp);
                        //    }
                        //}

                        rolePermissionListView.PermissionList.Add(pgvm);
                    }
                    //objViewModel.PermissionList = permissionGroup.ToList();
                    rolePermissionListView._failure = false;
                    rolePermissionListView._message = "Permission List Fetched";
                }
                else
                {
                    rolePermissionListView._failure = true;
                    rolePermissionListView._message = NORECORDFOUND;
                }
                rolePermissionListView._token       = rolePermissionListViewModel._token;
                rolePermissionListView.TenantId     = rolePermissionListViewModel.TenantId;
                rolePermissionListView.SchoolId     = rolePermissionListViewModel.SchoolId;
                rolePermissionListView.MembershipId = rolePermissionListViewModel.MembershipId;
            }
            catch (Exception ex)
            {
                rolePermissionListView._message = ex.Message;
                rolePermissionListView._failure = true;
            }
            return(rolePermissionListView);
        }