public async Task <IHttpActionResult> PostGroupRoleMap(SiteRolePermissionsDTO groupRoleDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            bool result = await _RoleService.SaveSitePermission(groupRoleDto);

            if (!result)
            {
                return(NotFound());
            }

            return(Ok(result));
        }
Example #2
0
        //public async Task<RoleDTO> Create(RoleDTO role)
        //{
        //    RoleMaster roleMaster = new RoleMaster();
        //    roleMaster.Id = Guid.NewGuid();
        //    roleMaster.IsVisible = role.IsVisible;
        //    db.RoleMasters.Add(roleMaster);
        //    await db.SaveChangesAsync();
        //    return role;
        //}

        //public async Task<int> Edit(RoleDTO role)
        //{
        //    RoleMaster rm = new RoleMaster();
        //    rm.Id = role.Id;
        //    rm.IsVisible = role.IsVisible;
        //    rm.Name = role.Name;
        //    db.RoleMasters.Add(rm);
        //    db.Entry(rm).State = EntityState.Modified;
        //    int result = await db.SaveChangesAsync();
        //    return result;
        //}


        public async Task <bool> SaveSitePermission(SiteRolePermissionsDTO _dto)
        {
            try
            {
                GroupMaster groupMaster = new GroupMaster();
                if (_dto != null)
                {
                    if (_dto.SiteRolePermissions.ToList().Count > 0)
                    {
                        var SiteMapRolePermission = db.SiteMapRolePermissions.Where(o => o.RoleId == _dto.RoleId).ToList();
                        if (SiteMapRolePermission.ToList().Count > 0)
                        {
                            db.SiteMapRolePermissions.RemoveRange(SiteMapRolePermission);
                        }

                        List <SiteMapRolePermission> _SiteMapRolePermissionList = new List <SiteMapRolePermission>();
                        foreach (SiteRolePermissionDetailDTO item in _dto.SiteRolePermissions)
                        {
                            SiteMapRolePermission _SiteMapRolePermission = new SiteMapRolePermission();
                            _SiteMapRolePermission.Id           = Guid.NewGuid();
                            _SiteMapRolePermission.RoleId       = _dto.RoleId ?? Guid.Empty;
                            _SiteMapRolePermission.SiteMapId    = item.SiteMapId ?? Guid.Empty;
                            _SiteMapRolePermission.PermissionId = item.PermissionId ?? Guid.Empty;
                            _SiteMapRolePermissionList.Add(_SiteMapRolePermission);
                        }

                        db.SiteMapRolePermissions.AddRange(_SiteMapRolePermissionList);
                    }

                    await db.SaveChangesAsync();

                    db.Dispose();

                    return(true);
                }

                return(false);
            }
            catch (DbUpdateConcurrencyException)
            {
                return(false);
            }
        }