public List <UserModel> GetUsers(PostUsersRequest request) { var identity = User.Identity; var userID = Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(identity); if (!request.IsUpdate) { return(_repo.GetUsers(request, UserId)); } else { _repo.UpdateUser(request.User, UserId); return(null); } }
public List <UserModel> GetUsers(PostUsersRequest req, Guid currentUser) { var users = new List <UserModel>(); using (var _db = new CoreEntities()) { users = (from u in _db.User_Get(req.FirstName, req.LastName, null, null, null, null, null, currentUser) select UsersAdapter.ToClientUser(u)).ToList(); foreach (var user in users) { var addresses = (from a in _db.UserAddress_GET(user.UserId) where a != null select AddressAdapter.toServiceAddress(a) ).ToList(); foreach (var ad in addresses) { if (ad != null) { user.Address.Add(ad); } } var emails = (from e in _db.Email_Get(user.UserId) where e != null && e.Id != null select new Email() { EmailAddress = e.Email, EmailType = e.EmailType, EmailId = (Guid)e.Id }).ToList(); foreach (var em in emails) { if (em != null) { user.Emails.Add(em); } } var phones = (from ph in _db.Phone_Get(user.UserId) where ph != null && ph.Id != null select new Phone() { PhoneId = (Guid)ph.Id, Description = ph.PhoneDescription, PhoneNumber = ph.PhoneNumber, PhoneType = ph.PhoneType, IsPrimaryPhone = true }).ToList(); foreach (var ph in phones) { if (ph != null) { user.Phones.Add(ph); } } var ChildrenRelations = (from r in _db.UserRelations_Get(user.UserId, null) select new UserRelation() { ToUserId = (Guid)r.ToUserId, FromUserId = (Guid)r.FromUserId, Type = r.RelationType }).ToList(); foreach (var ch in ChildrenRelations) { ch.User = (from u in _db.User_Get(null, null, null, null, null, null, ch.ToUserId, currentUser) select UsersAdapter.ToClientUser(u)).FirstOrDefault(); user.Relations.Add(ch); } var parentsRelations = (from r in _db.UserRelations_Get(null, user.UserId) select new UserRelation() { ToUserId = (Guid)r.ToUserId, FromUserId = (Guid)r.FromUserId, Type = r.RelationType }).ToList(); foreach (var prt in parentsRelations) { prt.User = (from u in _db.User_Get(null, null, null, null, null, null, prt.FromUserId, currentUser) select UsersAdapter.ToClientUser(u)).FirstOrDefault(); user.Relations.Add(prt); } } } return(users); }