public async Task <HttpResponseMessage> CreateGroup(string name, float?capacity)
        {
            SaveGroupResource saveGroupResource = new SaveGroupResource()
            {
                Name     = name,
                Capacity = capacity
            };

            return(await Client.PostAsync(GroupApiUrl, ConvertToJsonData <SaveGroupResource>(saveGroupResource)));
        }
        public async Task <ActionResult <FullGroupResource> > CreateGroup([FromBody] SaveGroupResource saveGroupResource)
        {
            var groupDtoToCreate = _mapper.Map <GroupDto>(saveGroupResource);
            var newGroupDto      = await _groupService.CreateGroupAsync(groupDtoToCreate);

            var groupDto = await _groupService.GetGroupByIdAsync(newGroupDto.Id);

            var groupResource = _mapper.Map <GroupResource>(groupDto);

            return(Ok(groupResource));
        }
Beispiel #3
0
        public async Task <IActionResult> UpdateGroup([FromBody] SaveGroupResource saveGroupResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            repository.Update(saveGroupResource);
            await unitOfWork.CompleteAsync();

            return(Ok(saveGroupResource));
        }
Beispiel #4
0
        public async Task <IActionResult> Post([FromBody] SaveGroupResource value)
        {
            Group group = _mapper.Map <Group>(value);

            await _context.Group.AddAsync(group);

            await _context.SaveChangesAsync();

            var created = _mapper.Map <GroupResource>(group);

            return(CreatedAtAction(nameof(Get), new { id = created.Id }, created));
        }
        public async Task <HttpResponseMessage> CreateGroupWithUnknowProperty(string name, float?capacity, string extraProperty)
        {
            SaveGroupResource saveGroupResource = new SaveGroupResource()
            {
                Name     = name,
                Capacity = capacity
            };

            var serializedGroupPayload        = ConvertToJsonData <dynamic>(saveGroupResource);
            Dictionary <string, string> group = ConvertToObject <Dictionary <string, string> >(await serializedGroupPayload.ReadAsStringAsync());

            group.Add(extraProperty, "wrong value");
            var test = ConvertToJsonData <IDictionary <string, string> >(group);

            return(await Client.PostAsync(GroupApiUrl, ConvertToJsonData <IDictionary <string, string> >(group)));
        }
Beispiel #6
0
        public void Update(SaveGroupResource saveGroupResource)
        {
            var group = context.Groups.FindAsync(saveGroupResource.Id).Result;

            var users = _userManager.Users.ToList();

            group.Name = saveGroupResource.Name;

            var removedUsers = users.Where(u => !saveGroupResource.Members.Any(gr => gr == u.UserName)).Select(u => new UserGroup {
                GroupId = saveGroupResource.Id, UserId = u.Id
            }).ToList();
            // context.UserGroups.RemoveRange(removedUsers);

            // var addedUsers = users.Where(u => saveGroupResource.Members.Any(gr=>gr == u.UserName)).Select(u=> new UserGroup{GroupId = saveGroupResource.Id , UserId = u.Id }).ToList();

            // foreach (var auser in addedUsers)
            //     context.UserGroups.Add(auser);
        }
Beispiel #7
0
        public void Add(SaveGroupResource saveGroupResource)
        {
            var group = new Group {
                Name = saveGroupResource.Name
            };

            var users = _userManager.Users.ToList();

            var selectedUsers = users.Where(u => saveGroupResource.Members.Any(m => m == u.UserName)).ToList();

            context.Groups.Add(group);

            foreach (var item in selectedUsers)
            {
                var userGroup = new UserGroup {
                    GroupId = group.Id, UserId = item.Id
                };
                context.UserGroups.Add(userGroup);
            }
        }
        public async Task <ActionResult <GroupResource> > UpdateGroup(int id,
                                                                      [FromBody] SaveGroupResource saveGroupResource)
        {
            if (id <= 0)
            {
                return(BadRequest());
            }

            var groupDtoForUpdate = await _groupService.GetGroupByIdAsync(id);

            if (groupDtoForUpdate == null)
            {
                return(NotFound());
            }

            var groupDto = _mapper.Map <GroupDto>(saveGroupResource);
            await _groupService.UpdateGroupAsync(groupDtoForUpdate, groupDto);

            var updatedGroup = await _groupService.GetGroupByIdAsync(id);

            var updatedGroupResource = _mapper.Map <GroupResource>(updatedGroup);

            return(Ok(updatedGroupResource));
        }