コード例 #1
0
        public async Task <IHttpActionResult> PostProfileLanguage(ProfileLanguageDTO profileLanguageDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userId = User.Identity.GetUserId();

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

            var profileLanguage = AutoMapper.Mapper.Map <ProfileLanguage>(profileLanguageDTO);

            db.ProfileLanguages.Add(profileLanguage);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("GetProfileLanguageById", new { id = profileLanguage.Id },
                                  AutoMapper.Mapper.Map <ProfileLanguageDTO>(profileLanguage)));
        }
コード例 #2
0
        public async Task <IHttpActionResult> GetActive()
        {
            var userId = User.Identity.GetUserId();
            ProfileLanguageDTO profileLanguageDTO =
                AutoMapper.Mapper.Map <ProfileLanguageDTO>(await db.ProfileLanguages
                                                           .Where(p => p.ProfileId == userId && p.IsActive == true)
                                                           .FirstOrDefaultAsync());

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

            return(Ok(profileLanguageDTO));
        }
コード例 #3
0
        public async Task <IHttpActionResult> PutProfileLanguage(int id, ProfileLanguageDTO profileLanguageDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

            var userId = User.Identity.GetUserId();

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

            var profileLanguage = AutoMapper.Mapper.Map <ProfileLanguage>(profileLanguageDTO);

            db.Entry(profileLanguage).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }