public async Task <IHttpActionResult> PutPeopleGroup(int id, PeopleGroupDto peopleGroupDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != peopleGroupDto.ID)
            {
                return(BadRequest());
            }
            var peopleGroup = DtoToEntityIMapper.Map <PeopleGroupDto, PeopleGroup>(peopleGroupDto); ////

            UoW.GetRepository <PeopleGroup>().ModifyEntityState(peopleGroup);

            try
            {
                await UoW.SaveAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PeopleGroupExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <IHttpActionResult> PostPeopleGroup(PeopleGroupDto peopleGroupDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var peopleGroup = DtoToEntityIMapper.Map <PeopleGroupDto, PeopleGroup>(peopleGroupDto); ////

            UoW.GetRepository <PeopleGroup>().Insert(peopleGroup);
            await UoW.SaveAsync();

            return(CreatedAtRoute("DefaultApi", new { id = peopleGroup.ID }, peopleGroup));
        }
        public async Task <ActionResult <PeopleGroupDto> > PostPeopleGroup([FromBody] PeopleGroupDto peopleGroupDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            PeopleGroup peopleGroup = DtoToEntityIMapper.Map <PeopleGroupDto, PeopleGroup>(peopleGroupDto);

            repository.Add(peopleGroup);
            await uoW.SaveAsync();

            return(CreatedAtAction("GetPeopleGroup", new { id = peopleGroup.ID }, peopleGroupDto));
        }
        public async Task <ActionResult <PeopleGroupDto> > GetPeopleGroup([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var peopleGroup = await repository.GetAsync(a => a.ID == id);

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

            PeopleGroupDto peopleGroupDto = EntityToDtoIMapper.Map <PeopleGroup, PeopleGroupDto>(peopleGroup);

            return(Ok(peopleGroupDto));
        }
        public async Task <ActionResult <PeopleGroupDto> > PutPeopleGroup([FromRoute] int id, [FromBody] PeopleGroupDto peopleGroupDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != peopleGroupDto.ID)
            {
                return(BadRequest());
            }

            PeopleGroup peopleGroup = DtoToEntityIMapper.Map <PeopleGroupDto, PeopleGroup>(peopleGroupDto);

            repository.ModifyEntryState(peopleGroup, EntityState.Modified);

            try
            {
                await uoW.SaveAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PeopleGroupExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }