// Update choosen user with new changes. public async Task <IEnumerable <User> > UpdateUser([FromBody] NewUserInfoFromClient changedUser, int id) { var updateUser = await _orgsDataBase.Users .Where(selectedUser => selectedUser.Id == id) .FirstOrDefaultAsync(); updateUser.Name = changedUser.Name; updateUser.SecondName = changedUser.SecondName; updateUser.Surname = changedUser.Surname; updateUser.EMail = changedUser.EMail; updateUser.Attachments = new List <Attachment>(); for (int i = 0; i < changedUser.OrgsIds.Length; i++) { updateUser.Attachments.Add(new Attachment() { OrganisationId = changedUser.OrgsIds[i], UserId = updateUser.Id }); } _orgsDataBase.Users.Update(updateUser); await _orgsDataBase.SaveChangesAsync(); return(await _orgsDataBase.Users .Include(user => user.Attachments) .ThenInclude(attachment => attachment.Organisation) .ToListAsync()); }
// Create and new user into the database. public async Task <IEnumerable <UserDto> > AddUser([FromBody] NewUserInfoFromClient info) { var tmp = info.Name; var oneUser = new Models.User() { Name = info.Name, SecondName = info.SecondName, Surname = info.Surname, EMail = info.EMail, Attachments = new List <Attachment>() }; for (int i = 0; i < info.OrgsIds.Length; i++) { oneUser.Attachments.Add(new Attachment() { OrganisationId = info.OrgsIds[i], UserId = oneUser.Id }); } await _orgsDataBase.Users.AddAsync(oneUser); await _orgsDataBase.SaveChangesAsync(); return((await _orgsDataBase.Users .Include(user => user.Attachments) .ThenInclude(attachment => attachment.Organisation) .ToListAsync()) .Select(item => _mapper.Map <UserDto>(item))); }