public IHttpActionResult ChangeCategory(SurveyBindingModel surveyBindingModel) { try { var identity = (ClaimsIdentity)User.Identity; var userId = int.Parse(identity.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value); var survey = surveyService.GetAsNoTracking(surveyBindingModel.Id); var roleName = identity.Claims.Where(c => c.Type == ClaimTypes.Role).FirstOrDefault().Value; if (survey == null) { return(BadRequest()); } if (survey.UserId != userId && roleName.Equals("User")) { return(Unauthorized()); } survey.CategoryId = surveyBindingModel.CategoryId; surveyService.Update(survey); unitOfWork.Commit(); return(Ok()); } catch (Exception) { return(BadRequest()); } }
public async Task <IActionResult> Title(SurveyBindingModel model) { if (ModelState.IsValid) { var surveyModel = model.ToServiceModel(); await _surveyService.EditSurveyAsync(surveyModel); return(RedirectToAction($"Edit", "Survey", new { SurveyId = surveyModel.Id })); } return(View(model)); }
public async Task <IActionResult> Create([FromForm] SurveyBindingModel model) { if (ModelState.IsValid) { var surveyModel = model.ToServiceModel(); string email = User.Identity.Name; await _surveyService.CreateSurveyAsync(surveyModel, email); return(RedirectToAction($"Create", "Question", new { surveyId = surveyModel.Id })); } return(View(model)); }
public IHttpActionResult PostSurvey(SurveyBindingModel surveyBM) { try { var userId = int.Parse(((ClaimsIdentity)User.Identity).Claims.Where(c => c.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value); this.ValidateOrdinalNumber(surveyBM.Questions.Select(q => q.OrdinalNumber).ToList(), surveyBM.Questions.Count()); Survey survey = AutoMapper.Mapper.Map <SurveyBindingModel, Survey>(surveyBM); survey.State = State.OPENED; surveyService.Create(survey, userId); unitOfWork.Commit(); } catch (Exception e) { if (ModelState.Count() == 0) { ModelState.AddModelError("", "Postoji anketa sa unetim imenom"); } return(BadRequest(ModelState)); } return(Ok()); }
public IHttpActionResult PutSurvey(int id, SurveyBindingModel surveyBM) { var identity = (ClaimsIdentity)User.Identity; var claims = identity.Claims; int userId = int.Parse(claims.Where(c => c.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value); string roleName = claims.Where(c => c.Type == ClaimTypes.Role).FirstOrDefault().Value; if (roleName.Equals("User") && userId != surveyBM.UserId) { return(BadRequest()); } if (id != surveyBM.Id) { return(BadRequest()); } try { this.ValidateOrdinalNumber(surveyBM.Questions.Select(q => q.OrdinalNumber).ToList(), surveyBM.Questions.Count()); var survey = AutoMapper.Mapper.Map <SurveyBindingModel, Survey>(surveyBM); surveyService.Update(survey); unitOfWork.Commit(); } catch (Exception e) { if (ModelState.Count() == 0) { ModelState.AddModelError("", "Postoji anketa sa unetim imenom"); } return(BadRequest(ModelState)); } return(Ok()); }
public IHttpActionResult PostFavoriteSurvey(SurveyBindingModel surveyBM) { var identity = (ClaimsIdentity)User.Identity; var claims = identity.Claims; var userId = int.Parse(claims.Where(c => c.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value); try { FavoriteSurveys obj = new FavoriteSurveys() { UserId = userId, SurveyId = surveyBM.Id }; favoriteSurveysService.Create(obj); unitOfWork.Commit(); } catch (Exception) { return(BadRequest()); } return(Ok()); }