/// <summary> /// Update or create a single JarsUserRole or a list of Roles, depending on whether the Role or Roles property has got a value set. /// If the Role property is set the Role will be created or updated and the Roles property will be ignored. /// To create or update more than one Role, assign a list to the Roles property and make sure Role is set to nothing/null. /// </summary> /// <param name="request">The request containing the Role or Roles that needs to be created or updated</param> /// <returns>depending on the values supplied, the updated Role or Roles will be returned.</returns> public virtual JarsUserRolesResponse Any(StoreJarsUserRoles request) { return(ExecuteFaultHandledMethod(() => { JarsUserRolesResponse response = new JarsUserRolesResponse(); IJarsUserRoleRepository _repository = _DataRepositoryFactory.GetDataRepository <IJarsUserRoleRepository>(); bool isSingleEnt = false; if (request.Role != null) { isSingleEnt = true; } if (request.Role != null) { response.Role = _repository.CreateUpdate(request.Role, request.ModifiedBy); } else { response.Roles = _repository.CreateUpdateList(request.Roles, request.ModifiedBy).ToList(); } return response; })); }
public object Any(FindJarsUserRoles request) { IJarsUserRoleRepository repository = _DataRepositoryFactory.GetDataRepository <IJarsUserRoleRepository>(); JarsUserRolesResponse response = new JarsUserRolesResponse(); if (request.FetchAsDto) { if (request.Name != null) { response.RoleDtos = repository.Where(g => g.Name == request.Name).ToList().ConvertTo <List <JarsUserRoleDto> >(); } if (request.ContainingUserAccountId != 0) { response.RoleDtos = repository.Where(g => g.UserAccounts.Contains(g.UserAccounts.FirstOrDefault(u => u.Id == request.ContainingUserAccountId))).ToList().ConvertTo <List <JarsUserRoleDto> >(); } } else { var plist = new List <Expression <Func <JarsUserRole, object> > >(); plist.Add(p => p.UserAccounts); if (request.Name != null) { response.Roles = repository.WhereQueryOverEagerly(g => g.Name == request.Name, plist).ToList(); } else if (request.ContainingUserAccountId != 0) { response.Roles = repository.WhereQueryOverEagerly(g => g.UserAccounts.Contains(g.UserAccounts.FirstOrDefault(u => u.Id == request.ContainingUserAccountId)), plist).ToList(); } else { response.Roles = repository.GetAllEagerly(plist).ToList(); } } response.UpdateChildReferences(); return(response); }