示例#1
0
        // 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());
        }
示例#2
0
        // 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)));
        }