public async Task <IResponseResult> SaveScreens(ScreensAssignedParameters parameters) { if (parameters.ScreenAssigned != null) { foreach (var ScreenId in parameters.ScreenAssigned) { var isExists = await _menuRoleUnitOfWork.Repository.FirstOrDefaultAsync(q => q.MenuId == ScreenId && q.RoleId == parameters.RoleId) != null; if (!isExists) { var obj = new MenuRoles() { Id = Guid.NewGuid().ToString(), RoleId = parameters.RoleId, MenuId = ScreenId }; _menuRoleUnitOfWork.Repository.Add(obj); } } } if (parameters.ScreenAssignedRemove != null) { var dataRemoved = await _menuRoleUnitOfWork.Repository.FindAsync(q => parameters.ScreenAssignedRemove.Contains(q.MenuId) && q.RoleId == parameters.RoleId); _menuRoleUnitOfWork.Repository.RemoveRange(dataRemoved); } await _menuRoleUnitOfWork.SaveChanges(); return(ResponseResult.GetRepositoryActionResult(true, status: HttpStatusCode.Created, message: HttpStatusCode.Created.ToString())); }
public async Task <IResult> SaveScreens([FromForm] ScreensAssignedParameters parameters) { var repositoryResult = await _menuServices.SaveScreens(parameters); var result = ResponseHandler.GetResult(repositoryResult); return(result); }