public IHttpActionResult PostSurveyUser(SurveyUser surveyUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.SurveyUsers.Add(surveyUser); try { db.SaveChanges(); } catch (DbUpdateException) { if (SurveyUserExists(surveyUser.SurveyUserId)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = surveyUser.SurveyUserId }, surveyUser)); }
public async Task <IActionResult> PutSurveyUser([FromRoute] int id, [FromBody] SurveyUser surveyUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != surveyUser.SurveyId) { return(BadRequest()); } _context.Entry(surveyUser).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SurveyUserExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
private bool FilledSurvey(SurveyUser surveyUser) { bool filled = false; foreach (Question q in surveyUser.Survey.Questions) { foreach (ClosedAnswer c in q.ClosedAnswers) { if (c.Response) { filled = true; } else { filled = false; } } if (!q.OpenAnswer.Response.Equals("")) { filled = true; } } return(filled); }
public IActionResult BeginSurvey(string guid, string emailId) { Survey sur = _dBContext.Survey.Where(x => x.SurveyGuid == guid).FirstOrDefault(); emailId = Convert.ToString(emailId).ToLower(); if (sur == null) { return(BadRequest(Messages.SurveyNotFoundError)); } if (sur.Enddate < DateTime.UtcNow) { return(BadRequest(Messages.SurveyEnded)); } bool checkSurveyEmail = _dBContext.SurveyUser.Any(x => x.SurveyId == sur.Surveyid && x.SurveyUserEmail.ToLower().Equals(emailId)); if (checkSurveyEmail && Convert.ToBoolean(sur.Emailidrequired) && !string.IsNullOrEmpty(emailId)) { return(BadRequest(Messages.SurveyAlreadyTaken)); } SurveyUser surveyUser = new SurveyUser(); surveyUser.SurveyId = sur.Surveyid; surveyUser.SurveyUserEmail = emailId; surveyUser.SurveyUserGuid = Guid.NewGuid().ToString(); surveyUser.InsertedDatetime = DateTime.UtcNow; _dBContext.SurveyUser.Add(surveyUser); _dBContext.SaveChanges(); return(Ok(surveyUser)); }
private static void RunSurvey(SurveyCollection collection, int surveyId, SurveyUser user) { SurveyEngine engine = new SurveyEngine(collection); engine.StartSurvey(surveyId, user); Question currentQuestion = engine.CurrentQuestion; do { Console.WriteLine(currentQuestion.Title); foreach (var answer in currentQuestion.Answers) { Console.WriteLine($"___{answer.Id}) {answer.Title}"); } Console.WriteLine($"Enter your selection"); string[] result = Console.ReadLine().Split(','); List <Answer> selection = new List <Answer>(); for (int i = 0; i < result.Length; i++) { int id = Int32.Parse(result[i]); if (currentQuestion.Answers.Max(x => x.Id) >= id) { selection.Add(currentQuestion.Answers[id]); } } engine.Answer(selection); currentQuestion = engine.NextQuestion(); } while (currentQuestion != null); Console.WriteLine($"Your score is {engine.Result.Score} from {engine.Result.MaxScore}"); }
public IHttpActionResult PutSurveyUser(string id, SurveyUser surveyUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != surveyUser.SurveyUserId) { return(BadRequest()); } db.Entry(surveyUser).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!SurveyUserExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IActionResult> PostSurveyUser([FromBody] SurveyUser surveyUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (FilledSurvey(surveyUser)) { _context.SurveyUser.Add(surveyUser); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (SurveyUserExists(surveyUser.SurveyId)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } } else { return(new StatusCodeResult(StatusCodes.Status400BadRequest)); } return(CreatedAtAction("GetSurveyUser", new { id = surveyUser.SurveyId }, surveyUser)); }
public async Task <IActionResult> Register(RegistrationViewModel model) { if (ModelState.IsValid) { var user = new SurveyUser() { UserName = model.Email, LastName = model.LastName, FirstName = model.FirstName, Email = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { if (!_roleManager.RoleExistsAsync("NormalUser").Result) { IdentityRole role = new IdentityRole(); role.Name = "NormalUser"; // role.Description = "Perform normal operations."; IdentityResult roleResult = _roleManager. CreateAsync(role).Result; if (!roleResult.Succeeded) { ModelState.AddModelError("", "Error while creating role!"); return(View()); } } if (!_roleManager.RoleExistsAsync("SuperUser").Result) { IdentityRole role = new IdentityRole(); role.Name = "SuperUser"; // role.Description = "Perform normal operations."; IdentityResult roleResult = _roleManager. CreateAsync(role).Result; if (!roleResult.Succeeded) { ModelState.AddModelError("", "Error while creating role!"); return(View()); } } _userManager.AddToRoleAsync(user, "SuperUser").Wait(); await _signInManager.SignInAsync(user, isPersistent : false); _logger.LogInformation(3, "User created a new account with password."); return(RedirectToAction(nameof(HomeController.Index), "Home")); } } // If we got this far, something failed, redisplay form return(View(model)); }
CreateSurveyUser(Survey survey, Shortcode shortcode, ClaimsPrincipal currentUser) { var user = new UserViewModel { UserName = Guid.NewGuid().ToString("D") }; SurveyUser appUser = Mapper.Map <SurveyUser> (user); var result = await _accountManager.CreateSurveyUserAsync(appUser, shortcode, null, new (string claimName, string claimValue) [] {
public SurveyUserDTO(SurveyUser user) { Id = user.Id; FirstName = user.FirstName; LastName = user.LastName; DoB = user.DoB; Gender = user.Gender; Country = user.Country; }
public static void Main(string[] args) { Console.WriteLine("Hello World!"); SurveyUser user = new SurveyUser("admin", "0000", UserRole.User | UserRole.Admin); SurveyCollection collection = new SurveyCollection( user ); var survey = (Survey)collection.AddChild("Survey 1"); var question = (Question)survey.AddChild("Question 1"); question.AddChild("Asnwer 1"); question.AddChild("Answer 2"); ((Answer)question.AddChild("Answer 3")).IsCorrect = true; question = (Question)survey.AddChild("Question 2"); question.AddChild("Answer 21"); question.AddChild("Answer 22"); ((Answer)question.AddChild("Answer 23")).IsCorrect = true; Random rndCorrect = new Random(); Random rndScrore = new Random(); var survey2 = (Survey)collection.AddChild("Survey2"); for (int i = 1; i <= 10; i++) { string title = $"Question 2.{i}"; survey2.Questions.Add(i, title); for (int j = 1; j <= 5; j++) { survey2.Questions[i].Answers.Add(j, $"Answer 2.{i}.{j}"); } int randNum = rndCorrect.Next(1, 5); int range = 10; survey2.Questions[i].Answers[randNum].IsCorrect = true; survey2.Questions[i].Answers[randNum].AnswerScore = rndScrore.NextDouble() * range; } foreach (Survey item in collection.Surveys) { item.PrintSurveyData(Console.WriteLine); } RunSurvey(collection, survey2.Id, user); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); }
public IHttpActionResult GetSurveyUser(string id) { SurveyUser surveyUser = db.SurveyUsers.Find(id); if (surveyUser == null) { return(NotFound()); } return(Ok(surveyUser)); }
private void updateUser(SurveyUser user) { try { db.Entry(user).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } catch (Exception) { throw; } }
public IHttpActionResult DeleteSurveyUser(string id) { SurveyUser surveyUser = db.SurveyUsers.Find(id); if (surveyUser == null) { return(NotFound()); } db.SurveyUsers.Remove(surveyUser); db.SaveChanges(); return(Ok(surveyUser)); }
public async Task <SaveSurveyUserResponse> SaveAsync(SurveyUser surveyUser) { try { await _surveyUserRepository.AddAsync(surveyUser); await _unitOfWork.CompleteAsync(); return(new SaveSurveyUserResponse(surveyUser)); } catch (Exception e) { return(new SaveSurveyUserResponse($"Произошла ошибка: {e.Message}")); } }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <SurveyUser>(SurveyUser => { SurveyUser.Property(s => s.FirstName).IsRequired(); SurveyUser.Property(s => s.FirstName).HasMaxLength(600); SurveyUser.Property(s => s.Id).IsRequired(); SurveyUser.HasKey(s => s.Id); SurveyUser.Property(s => s.LastName).IsRequired(); SurveyUser.Property(s => s.LastName).HasMaxLength(600); SurveyUser.Property(s => s.Country).IsRequired(); SurveyUser.Property(s => s.Country).HasMaxLength(600); }); modelBuilder.Entity <Answers>(Answers => { Answers.Property(a => a.Id).IsRequired(); Answers.HasKey(a => a.Id); Answers.Property(a => a.UserId).IsRequired(); Answers.HasKey(a => a.UserId); Answers.Property(a => a.OptionId).IsRequired(); Answers.HasKey(a => a.OptionId); Answers.HasOne(a => a.User).WithMany().HasForeignKey(a => a.UserId); Answers.HasOne(a => a.Option).WithMany().HasForeignKey(a => a.OptionId); }); modelBuilder.Entity <Option>(Option => { Option.Property(s => s.Id).IsRequired(); Option.HasKey(o => o.Id); Option.Property(o => o.Text).IsRequired(); Option.Property(o => o.Text).HasMaxLength(600); Option.Property(s => s.NumOrder).IsRequired(); Option.Property(s => s.QuestionId); Option.HasOne(s => s.Question).WithMany(s => s.Options).HasForeignKey(s => s.QuestionId); }); modelBuilder.Entity <Question>(Question => { Question.Property(s => s.Id).IsRequired(); Question.HasKey(o => o.Id); Question.Property(o => o.Text).IsRequired(); Question.Property(o => o.Text).HasMaxLength(600); Question.Property(o => o.Description).IsRequired(); Question.Property(o => o.Text).HasMaxLength(600); Question.HasMany(o => o.Options).WithOne(o => o.Question).HasForeignKey(o => o.QuestionId); }); }
public async Task <bool> CreateSurveyUser(SurveyUserDTO user) { var surveyUser = new SurveyUser { FirstName = user.FirstName, LastName = user.LastName, DoB = user.DoB, Gender = user.Gender, Country = user.Country }; _context.SurveyUsers.Add(surveyUser); await _context.SaveChangesAsync(); return(true); }
private void HandleIteration(SurveyUser user) { if (user.CurrentIteration < 3) { SendMessage(user.SurveyUserId, "Please indicate your symptom (1)Headache, (2)Dizziness, (3)Nausea, (4)Fatigue, (5)Sadness, (0)None"); user.CurrentIteration++; user.CurrentQuestion = 1; updateUser(user); } else if (user.CurrentIteration == 3) { SendMessage(user.SurveyUserId, "Thank you and see you soon"); user.isCompletedSurvey = true; updateUser(user); } }
private void saveUserResponse(SurveyUser user, string response) { List <string> question1Responses = new List <string> { "0", "1", "2", "3", "4", "5" }; List <string> question2Responses = new List <string> { "0", "1", "2", "3", "4" }; if ((user.CurrentQuestion == 1 && question1Responses.Contains(response)) || (user.CurrentQuestion == 2 && question2Responses.Contains(response))) { db.SurveyResponses.Add(new SurveyResponse { SurveyResponseId = Guid.NewGuid().ToString(), SurveyUserId = user.SurveyUserId, SurveyQuestionId = user.CurrentQuestion, SurveyIteration = user.CurrentIteration, ResponseText = response }); } }
private void HandleQuestion1(SurveyUser user, string response) { saveUserResponse(user, response); switch (response) { case "0": SendMessage(user.SurveyUserId, "Thank you and we will check with you later."); user.isCompletedSurvey = true; updateUser(user); break; case "1": SendMessage(user.SurveyUserId, "On a scale from 0 (none) to 4 (severe), how would you rate your Headache in the last 24 hours?"); user.CurrentQuestion = 2; updateUser(user); break; case "2": SendMessage(user.SurveyUserId, "On a scale from 0 (none) to 4 (severe), how would you rate your Dizziness in the last 24 hours?"); user.CurrentQuestion = 2; updateUser(user); break; case "3": SendMessage(user.SurveyUserId, "On a scale from 0 (none) to 4 (severe), how would you rate your Nausea in the last 24 hours?"); user.CurrentQuestion = 2; updateUser(user); break; case "4": SendMessage(user.SurveyUserId, "On a scale from 0 (none) to 4 (severe), how would you rate your Fatigue in the last 24 hours?"); user.CurrentQuestion = 2; updateUser(user); break; case "5": SendMessage(user.SurveyUserId, "On a scale from 0 (none) to 4 (severe), how would you rate your Sadness in the last 24 hours?"); user.CurrentQuestion = 2; updateUser(user); break; default: SendMessage(user.SurveyUserId, "Please enter a number from 0 to 5"); break; } }
private void HandleQuestion2(SurveyUser user, string response) { if (isValidResponse(response)) { saveUserResponse(user, response); var userResponse = db.SurveyResponses.Where(r => r.SurveyUserId.Equals(user.SurveyUserId) && r.SurveyQuestionId == 1 && r.SurveyIteration == user.CurrentIteration).FirstOrDefault(); var symptom = symtomsList[userResponse.ResponseText]; switch (response) { case "0": SendMessage(user.SurveyUserId, "You do not have a " + symptom); HandleIteration(user); break; case "1": case "2": SendMessage(user.SurveyUserId, "You have a mild " + symptom); HandleIteration(user); break; case "3": SendMessage(user.SurveyUserId, "You have a moderate " + symptom); HandleIteration(user); break; case "4": SendMessage(user.SurveyUserId, "You have a severe " + symptom); HandleIteration(user); break; default: SendMessage(user.SurveyUserId, "Please enter a number from 0 to 4"); break; } } else { SendMessage(user.SurveyUserId, "Please enter a number from 0 to 4"); } }
public ActionResult Save(SurveyUser surveyUser, int id) { if (!ModelState.IsValid) { var viewModel = new AnswerSurveyFormViewModel() { SurveyUser = surveyUser, }; return(View("AnswerSurvey", viewModel)); } surveyUser.SurveyID = id; _context.SurveyUsers.Add(surveyUser); _context.SaveChanges(); return(RedirectToAction("Index", "SurveyUser")); }
public IActionResult UpdateFeedbackComment(int surveyId, SurveyFeedbackViewModel surveyFeedbackViewModel) { UserFeedbackResponse userFeedbackResponse = new UserFeedbackResponse(); string userguid = Request.Headers[Constants.UserToken]; string decyrptstring = Security.Decrypt(userguid); if (string.IsNullOrEmpty(decyrptstring)) { return(BadRequest(Messages.UnauthorizedUserError)); } User user = _dBContext.User.Where(x => x.UserGuid == decyrptstring).FirstOrDefault(); if (user == null) { return(BadRequest(Messages.UserNotFoundError)); } Survey survey = _dBContext.Survey.Where(x => x.CreatedBy == user.Userid && x.Surveyid == surveyId).FirstOrDefault(); if (survey == null) { return(BadRequest(Messages.SurveyNotFoundError)); } SurveyUser surveyUser = _dBContext.SurveyUser.Where(x => x.SurveyId == surveyId && x.SurveyUserId == surveyFeedbackViewModel.FeedbackId).FirstOrDefault(); if (surveyUser == null) { return(BadRequest(Messages.FeedbackNotFound)); } surveyUser.ReviewComment = surveyFeedbackViewModel.Comment; surveyUser.ReviewCompleted = Convert.ToBoolean(surveyFeedbackViewModel.reviewComplete) ? 1 : 0; surveyUser.ReviewDatetime = DateTime.UtcNow; _dBContext.SurveyUser.Update(surveyUser); _dBContext.SaveChanges(); return(Ok(surveyUser)); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <SurveyUser>(SurveyUser => { SurveyUser.Property(p => p.Id).IsRequired(); SurveyUser.HasKey(p => p.Id); SurveyUser.Property(p => p.FirstName).IsRequired(); SurveyUser.Property(p => p.LastName).IsRequired(); SurveyUser.Property(p => p.Country).IsRequired(); SurveyUser.HasMany(p => p.Gender); SurveyUser.HasMany(p => p.DoB); }); modelBuilder.Entity <Answers>(Answers => { Answers.Property(p => p.Id).IsRequired(); Answers.HasKey(p => p.Id); Answers.Property(p => p.UserId).IsRequired(); Answers.Property(p => p.OptionId).IsRequired(); Answers.HasMany(p => p.Option); Answers.HasMany(p => p.User); }); }
private void HandleRegisterUser(SurveyUser user, string response) { if (user.isCompletedSurvey) { return; } else { switch (user.CurrentQuestion) { case 1: HandleQuestion1(user, response); break; case 2: HandleQuestion2(user, response); break; default: break; } } }
public IActionResult DisplaySurvey(SurveyUser NewUser, string name, string location, string language, string comments) { List <SurveyUser> users = new List <SurveyUser>(); if (ModelState.IsValid) { // users.Add(new SurveyUser(){ // Name = "Jambo", // Location = "Seattle", // Language = "ReactJS", // Comments = "This is my comment", // }); // SurveyUser newuser = new SurveyUser() { // Name = name, // Location = location, // Language = language, // Comments = comments, // }; // ViewBag.displayname = name; // ViewBag.displaylocation = location; // ViewBag.displaylanguage = language; // ViewBag.displaycomments = comments; users.Add(new SurveyUser() { Name = name, Location = location, Language = language, Comments = comments, }); return(Redirect("DisplaySurvey")); } else { return(View("RequestSurvey")); } }
/// <summary> /// /// </summary> /// <param name="user"></param> /// <param name="shortcodeRef"></param> /// <param name="shortcode"></param> /// <param name="claimName"></param> /// <param name="claimValue"></param> /// <returns></returns> public async Task <Tuple <bool, string[], SurveyUser> > CreateSurveyUserAsync(SurveyUser user, Shortcode shortcodeRef, string shortcodes, (string claimName, string claimValue)[] claims)
public virtual SurveyUser Put(SurveyUser surveyUser) { _surveyUserCommands.ActiveUser = Models.ApiContext.ActiveUser; return(_surveyUserCommands.Put(surveyUser)); }
public async Task AddAsync(SurveyUser surveyUser) { await _context.SurveyUsers.AddAsync(surveyUser); }
public IActionResult GetSurveyUserFeedback(string surveyUserGuid) { SurveyViewModel surview = new SurveyViewModel(); string userguid = Request.Headers[Constants.UserToken]; string decyrptstring = Security.Decrypt(userguid); if (string.IsNullOrEmpty(decyrptstring)) { return(BadRequest(Messages.UnauthorizedUserError)); } User user = _dBContext.User.Where(x => x.UserGuid == decyrptstring).FirstOrDefault(); if (user == null) { return(BadRequest(Messages.UserNotFoundError)); } SurveyUser surveyuser = _dBContext.SurveyUser.Where(x => x.SurveyUserGuid == surveyUserGuid).FirstOrDefault(); if (surveyuser == null) { return(BadRequest(Messages.SurveyUserNotFoundError)); } Survey survey = _dBContext.Survey.Where(x => x.CreatedBy == user.Userid && x.Surveyid == surveyuser.SurveyId).FirstOrDefault(); if (survey == null) { return(BadRequest(Messages.SurveyNotFoundError)); } surview = _mapper.Map <SurveyViewModel>(survey); List <SurveyQuestions> surveyQuestions = _dBContext.SurveyQuestions.Where(x => x.StatusId != (int)EnumStatus.Deleted && x.SurveyId == survey.Surveyid).ToList(); List <QuestionType> questiontypes = _dBContext.QuestionType.ToList(); List <SurveyQuestionsViewModel> viewquestions = new List <SurveyQuestionsViewModel>(); foreach (var item in surveyQuestions) { SurveyQuestionsViewModel viewquestion = _mapper.Map <SurveyQuestionsViewModel>(item); List <SurveyUserQuestionOptions> surveyuserquestionoptions = new List <SurveyUserQuestionOptions>(); List <string> selectedoptions = new List <string>(); string optiontypevalue = null; List <SurveyQuestionOptions> options = new List <SurveyQuestionOptions>(); options = _dBContext.SurveyQuestionOptions.Where(x => x.SurveyQuestionId == item.SurveyQuestionId).OrderBy(x => x.OptionKey).ToList(); surveyuserquestionoptions = _dBContext.SurveyUserQuestionOptions.Where(x => x.SurveyQuestionId == item.SurveyQuestionId && x.SurveyUserId == surveyuser.SurveyUserId).ToList(); if (questiontypes != null) { optiontypevalue = questiontypes.FirstOrDefault(x => x.TypeId == item.TypeId).TypeValue; } if (surveyuserquestionoptions != null) { foreach (var itemq in surveyuserquestionoptions) { string option = null; option = itemq.SurveyQuestionOptionId; selectedoptions.Add(option); } } Dictionary <string, object> dict = new Dictionary <string, object>(); foreach (var opt in options) { dict.Add(opt.OptionKey, opt.OptionValue); } viewquestion.Options = dict; viewquestion.ObjectOptions = options; viewquestion.questiontype = optiontypevalue; viewquestion.selectedValues = selectedoptions; viewquestions.Add(viewquestion); } surview.SurveyQuestions = viewquestions; return(Ok(surview)); }