Пример #1
0
        public async Task <IHttpActionResult> PostProfilePreposition(ProfilePrepositionDTO profilePrepositionDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userId = User.Identity.GetUserId();

            if (string.IsNullOrEmpty(profilePrepositionDTO.ProfileId))
            {
                profilePrepositionDTO.ProfileId = userId;
            }
            if (profilePrepositionDTO.ProfileId != userId)
            {
                return(Unauthorized());
            }

            var profilePreposition = AutoMapper.Mapper.Map <ProfilePreposition>(profilePrepositionDTO);

            db.ProfilePrepositions.Add(profilePreposition);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("GetProfilePrepositionByName", new { id = profilePreposition.Id },
                                  AutoMapper.Mapper.Map <ProfilePrepositionDTO>(profilePreposition)));
        }
Пример #2
0
        public async Task <IHttpActionResult> GetProfilePreposition(int id)
        {
            var userId = User.Identity.GetUserId();
            ProfilePrepositionDTO profilePrepositionDTO =
                AutoMapper.Mapper.Map <ProfilePrepositionDTO>(await db.ProfilePrepositions
                                                              .Where(p => p.Id == id && p.ProfileId == userId)
                                                              .FirstOrDefaultAsync());

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

            return(Ok(profilePrepositionDTO));
        }
Пример #3
0
        public async Task <IHttpActionResult> PutProfilePreposition(int id, ProfilePrepositionDTO profilePrepositionDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != profilePrepositionDTO.Id)
            {
                return(BadRequest());
            }

            var userId = User.Identity.GetUserId();

            if (string.IsNullOrEmpty(profilePrepositionDTO.ProfileId))
            {
                profilePrepositionDTO.ProfileId = userId;
            }
            if (profilePrepositionDTO.ProfileId != userId)
            {
                return(Unauthorized());
            }

            db.Entry(AutoMapper.Mapper.Map <ProfilePreposition>(profilePrepositionDTO)).State =
                EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProfilePrepositionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }