Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 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());
 }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        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());
        }