public void CreateNewExpressionOfInterest(ExpressInterestViewModel viewModel, int userId) { var expressionOfInterest = new ExpressInterestDataModel { PlayedBefore = (bool)viewModel.PlayedBeforeAnswer, Position = viewModel.SelectedPosition, IdentityId = userId }; dbContext.ExpressionsOfInterest.Add(expressionOfInterest); dbContext.SaveChanges(); }
public ActionResult Express(ExpressInterestViewModel model) { if (!ModelState.IsValid) { return(View("~/Views/Player/Interested/Express.cshtml", playerHelper.BuildExpressInterestModel(model))); } if (playerHelper.NumberOfUsersWithGivenEmail(model.EmailAddress) > 0) { ModelState.AddModelError("EmailAddress", "An expression of interest with that email address already exists"); return(View("~/Views/Player/Interested/Express.cshtml", playerHelper.BuildExpressInterestModel(model))); } var date = new DateTime(); if (!playerHelper.ParseDate(model.SelectedDay, model.SelectedMonth, model.SelectedYear, out date)) { ModelState.AddModelError("DateOfBirth", "You have entered an invalid date."); return(View("~/Views/Player/Interested/Express.cshtml", playerHelper.BuildExpressInterestModel(model))); } model.DateOfBirth = date; MemberRoleDataModel roleDataModel = memberHelper.CreateNewMemberRoleIfNotExist("interested"); var userIdentity = new MemberIdentityDataModel { FirstName = model.FirstName, LastName = model.LastName, DateOfBirth = model.DateOfBirth, Gender = model.SelectedGender, Email = model.EmailAddress.ToLower(), Phone = model.PhoneNumber, Roles = new List <MemberRoleDataModel> { roleDataModel } }; var userId = memberHelper.CreateNewMemberIdentity(userIdentity); playerHelper.CreateNewExpressionOfInterest(model, userId); model.Submitted = true; return(View("~/Views/Player/Interested/Express.cshtml", model)); }
public ExpressInterestViewModel BuildExpressInterestModel(ExpressInterestViewModel model) { model = model ?? new ExpressInterestViewModel(); model.Positions = BuildPositionsList(); model.Genders = BuildGendersList(); model.HaveYouPlayedBefore = BuildYesNoList(); model.Days = BuildDaysList(); model.Months = BuildMonthsList(); model.Years = BuildYearsList(); return(model); }
public ActionResult ExpressInterest(ExpressInterestViewModel viewModel) { try { InterestedUsers_Projects user2Project = new InterestedUsers_Projects() { ProjectId = viewModel.ProjectId, UserEmail = viewModel.Email, UserName = viewModel.User }; Db.InterestedUsers_Projects.Add(user2Project); int written = Db.SaveChanges(); try { Configuration configurations = Configuration.Create(Db); EmailMssg mssg = new EmailMssg(); mssg.IsHtml = true; mssg.Receivers = new List <string>() { configurations.ContactFormEmail }; mssg.SenderAddress = configurations.ftpConfig.Login; mssg.Subject = "User " + viewModel.User + " expressed interest in project "; mssg.TemplateModel = new ExpressInterestEmailModel() { ProjectName = viewModel.ProjectName, UserComment = viewModel.WhyInterested, UserEmail = viewModel.Email, UserName = viewModel.User }; mssg.TemplateString = System.IO.File.ReadAllText(Server.MapPath("~/Templates/InterestedInProject.html")); EmailSender.Send(configurations, mssg); } catch (Exception ex) { string error = "Error while sending approvment email" + ex.ToString(); TempData["error"] = error; return(RedirectToAction("Details", new { id = viewModel.ProjectId })); } return(new JsonResult() { Data = new { success = true } }); } catch (Exception ex) { TempData["error"] = "Error while expressing interest" + ex.ToString(); return(RedirectToAction("Details", new { id = viewModel.ProjectId })); } }
public void EditExpressionOfInterest(int id, ExpressInterestViewModel viewModel) { ExpressInterestDataModel dataModel = dbContext.ExpressionsOfInterest.Find(id); if (dataModel == null) { throw new Exception(); } else { dataModel.Identity.FirstName = viewModel.FirstName; dataModel.Identity.LastName = viewModel.LastName; dataModel.Identity.DateOfBirth = viewModel.DateOfBirth; dataModel.Identity.Gender = viewModel.SelectedGender; dataModel.Identity.Email = viewModel.EmailAddress.ToLower(); dataModel.Identity.Phone = viewModel.PhoneNumber; dataModel.PlayedBefore = (bool)viewModel.PlayedBeforeAnswer; dataModel.Position = viewModel.SelectedPosition; dbContext.SaveChanges(); } }
public ExpressInterestViewModel BuildExpressInterestModel(int id) { ExpressInterestDataModel dataModel = dbContext .ExpressionsOfInterest.Where(i => i.ExpressInterestId == id).First(); var viewModel = new ExpressInterestViewModel(); viewModel = BuildExpressInterestModel(viewModel); viewModel.FirstName = dataModel.Identity.FirstName; viewModel.LastName = dataModel.Identity.LastName; viewModel.SelectedGender = dataModel.Identity.Gender; viewModel.DateOfBirth = dataModel.Identity.DateOfBirth; viewModel.SelectedDay = dataModel.Identity.DateOfBirth.Day.ToString(); viewModel.SelectedMonth = dataModel.Identity.DateOfBirth.Month.ToString(); viewModel.SelectedYear = dataModel.Identity.DateOfBirth.Year.ToString(); viewModel.PhoneNumber = dataModel.Identity.Phone; viewModel.EmailAddress = dataModel.Identity.Email; viewModel.PlayedBeforeAnswer = dataModel.PlayedBefore; viewModel.SelectedPosition = dataModel.Position; return(viewModel); }
public ActionResult Edit(int id, ExpressInterestViewModel model) { if (!ModelState.IsValid) { return(View("~/Views/Player/Interested/Edit.cshtml", playerHelper.BuildExpressInterestModel(model))); } if (playerHelper.NumberOfUsersWithGivenEmail(model.EmailAddress) > 1) { ModelState.AddModelError("EmailAddress", "Another expression of interest with that email address already exists"); return(View("~/Views/Player/Interested/Express.cshtml", playerHelper.BuildExpressInterestModel(model))); } playerHelper.EditExpressionOfInterest(id, model); ViewBag.Saved = "Changes Saved"; return(View("~/Views/Player/Interested/Edit.cshtml", playerHelper.BuildExpressInterestModel(id))); }