public ActionResult Create([Bind(Include = "Id,Name,ContactNo,Designation,EmailId,CNIC,InstituteId,RequestStatusId,CreatedAt,Address,City,CompetitionId")] CompetitionRegistration competitionRegistration) { try { if (ModelState.IsValid) { try { if (competitionRegistration.CompetitionId == 2) { var teamLead = Request.Form["DramaTeamLeader"]; var totalMembers = Request.Form["DramaTotalTeamMembers"]; var dramaDescription = Request.Form["DramaDescription"]; var toSaveWithAddressString = " || " + teamLead + " || " + totalMembers + " || " + dramaDescription; competitionRegistration.Address = competitionRegistration.Address + " !Drama! " + toSaveWithAddressString; } competitionRegistration.RequestStatusId = 1; competitionRegistration.CreatedAt = DateTime.Now; db.CompetitionRegistrations.Add(competitionRegistration); db.SaveChanges(); string actionName = this.ControllerContext.RouteData.Values["action"].ToString(); string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString(); return(RedirectToAction("SubmissionResponce", "Home", new { status = "You are successfully registerd for Competition with your crdentials,Team SEE Lahore will soon respond you through Email.Stay Connected for Bigest Event of Lahore, See Lahore 2018", url = controllerName + "/" + actionName })); } catch (DbEntityValidationException ex) { string message = ""; foreach (var validationErrors in ex.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { message = message + validationError.PropertyName + " " + validationError.ErrorMessage + "\n\n"; } } HomeController.EntityinfoMessage(competitionRegistration.Name + ": " + message); HomeController.EntitywriteErrorLog(ex); string actionName = this.ControllerContext.RouteData.Values["action"].ToString(); string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString(); return(RedirectToAction("SubmissionResponce", "Home", new { status = "Due to Server overload something went wrong! please try again. Sorry for Inconvenience", url = controllerName + "/" + actionName })); } } ViewBag.CompetitionId = new SelectList(db.Competitions, "Id", "CompetitionName", competitionRegistration.CompetitionId); ViewBag.InstituteId = new SelectList(db.Institutes, "Id", "Institute1"); ViewBag.RequestStatusId = new SelectList(db.RequestStatus, "Id", "Status", competitionRegistration.RequestStatusId); return(View(competitionRegistration)); } catch (Exception ex) { string actionName = this.ControllerContext.RouteData.Values["action"].ToString(); string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString(); HomeController.infoMessage(ex.Message); HomeController.writeErrorLog(ex); return(RedirectToAction("SubmissionResponce", "Home", new { status = "Due to Server overload something went wrong! please try again. Sorry for Inconvenience", url = controllerName + "/" + actionName })); } }
public ActionResult DeleteConfirmed(int id) { CompetitionRegistration competitionRegistration = db.CompetitionRegistrations.Find(id); db.CompetitionRegistrations.Remove(competitionRegistration); db.SaveChanges(); return(RedirectToAction("Index")); }
public virtual CompetitionRegistration CreateRegistration(string forename, string surname, string emailAddress) { var data = new CompetitionRegistration(); data.CompetitionID = this.ID; data.Forename = forename; data.Surname = surname; data.EmailAddress = emailAddress; return(data); }
public async Task SendConfirmationEmails(CompetitionRegistration registration, Entities.Competition competition) { var dates = await this._competitionDateRepository.GetByCompetition(competition.ID); var message1 = new CompetitionRegistrationPlayerConfirmationEmailMessage(competition, registration, dates); await this._emailSender.Send(message1); var message2 = new CompetitionRegistrationOrganiserConfirmationEmailMessage(competition, registration, dates); await this._emailSender.Send(message2); }
// GET: CompetitionRegistrations/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CompetitionRegistration competitionRegistration = db.CompetitionRegistrations.Find(id); if (competitionRegistration == null) { return(HttpNotFound()); } return(View(competitionRegistration)); }
public ActionResult Edit([Bind(Include = "Id,Name,ContactNo,Designation,EmailId,CNIC,InstituteId,RequestStatusId,CreatedAt,Address,City,CompetitionId")] CompetitionRegistration competitionRegistration) { if (ModelState.IsValid) { competitionRegistration.CreatedAt = DateTime.Now; db.Entry(competitionRegistration).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.InstituteId = new SelectList(db.Institutes, "Id", "Institute1"); ViewBag.CompetitionId = new SelectList(db.Competitions, "Id", "CompetitionName", competitionRegistration.CompetitionId); ViewBag.RequestStatusId = new SelectList(db.RequestStatus, "Id", "Status", competitionRegistration.RequestStatusId); return(View(competitionRegistration)); }
public ActionResult UpdateStatus(int?id, int?Status) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CompetitionRegistration competitionRegistration = db.CompetitionRegistrations.Find(id); if (competitionRegistration == null) { return(HttpNotFound()); } competitionRegistration.RequestStatusId = Status; db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: CompetitionRegistrations/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CompetitionRegistration competitionRegistration = db.CompetitionRegistrations.Find(id); if (competitionRegistration == null) { return(HttpNotFound()); } ViewBag.InstituteId = new SelectList(db.Institutes, "Id", "Institute1"); ViewBag.CompetitionId = new SelectList(db.Competitions, "Id", "CompetitionName", competitionRegistration.CompetitionId); ViewBag.RequestStatusId = new SelectList(db.RequestStatus, "Id", "Status", competitionRegistration.RequestStatusId); return(View(competitionRegistration)); }
protected void bAjaxPostback_Click(object sender, EventArgs e) { string status = string.Empty; try { Affine.Data.Managers.IDataManager dataMan = Affine.Data.Managers.LINQ.DataManager.Instance; aqufitEntities entities = new aqufitEntities(); switch (hiddenAjaxAction.Value) { case "saveRegistration": CompetitionRegistration registration = null; if (string.IsNullOrWhiteSpace(hiddenAjaxRegistrationId.Value)) { registration = new CompetitionRegistration(); } else { long rId = Convert.ToInt64(hiddenAjaxRegistrationId.Value); registration = entities.CompetitionRegistrations.FirstOrDefault(r => r.Id == rId); } registration.Competition = entities.Competitions.FirstOrDefault( c => c.Id == 1 ); // ********** TMP User test = entities.UserSettings.OfType<User>().FirstOrDefault(u => u.Id == UserSettings.Id); registration.UserSetting = test; // we have a chance to correct user "miss information" int compType = Convert.ToInt32( ddlCompetitionType.SelectedValue ); registration.RegistrationType = compType; registration.DateTime = DateTime.Now; if (!string.IsNullOrWhiteSpace(hiddenAjaxValue.Value)) { long affilId = Convert.ToInt64(hiddenAjaxValue.Value); registration.GroupAffiliate = entities.UserSettings.OfType<Group>().FirstOrDefault(g => g.Id == affilId); } if (compType == 1) { if (atiSlimControl.Email != test.UserEmail) test.UserEmail = atiSlimControl.Email; if (atiBodyComp.Gender != test.Sex) test.Sex = atiBodyComp.Gender; if (!test.BirthDate.HasValue || atiBodyComp.BirthDate != test.BirthDate.Value) test.BirthDate = atiBodyComp.BirthDate; registration.RegistrationType = 1; // individual registration.MailingAddress = txtAddress.Text; registration.ContactPhone = txtPhone.Text; registration.ContactEmail = test.UserEmail; registration.EmergContactName = txtEmergName.Text; registration.EmergContactPhone = txtEmergPhone.Text; registration.EmergContactRelation = txtEmergRelation.Text; registration.ExtraInfo = txtMedical.Text; // save and load the new registration ID entities.SaveChanges(); registration = entities.CompetitionRegistrations.OrderByDescending(r => r.Id).FirstOrDefault(r => r.UserSetting.Id == UserSettings.Id); hiddenAjaxRegistrationId.Value = "" + registration.Id; // now we need to add the users PR's to their profiles... SaveCompWorkoutPR(); } else { // team registration... registration.MailingAddress = txtTeamAddress.Text; registration.ContactPhone = txtTeamPhone.Text; registration.TeamName = txtTeamName.Text; registration.ContactEmail = txtTeamEmail.Text; registration.RegistrationType = 2; // team // save and load the new registration ID entities.SaveChanges(); registration = entities.CompetitionRegistrations.OrderByDescending(r => r.Id).FirstOrDefault(r => r.UserSetting.Id == UserSettings.Id); hiddenAjaxRegistrationId.Value = "" + registration.Id; } RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(6); "); break; case "checkTeamLimit": long gId = Convert.ToInt64(hiddenAjaxValue.Value); int count = entities.CompetitionRegistrations.Where(r => r.GroupAffiliate.Id == gId && r.RegistrationType == 2 ).Count(); // more the 2 affiliate teams alreay ?? if (count >= 2) { Group check = entities.UserSettings.OfType<Group>().FirstOrDefault( g => g.Id == gId ); RadAjaxManager1.ResponseScripts.Add(" alert('Sorry the affiliate [ " + check.UserFirstName + " ] already has 2 teams signed up.' );" ); } else { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(3);"); } break; case "connectCompAthlete": long aid = Convert.ToInt64(hiddenAjaxValue.Value); CompetitionAthlete athlete = entities.CompetitionAthletes.Include("CompetitionWODs").Include("CompetitionWODs.WOD").Include("CompetitionWODs.WOD.WODType").Include("CompetitionAffiliate").Include("CompetitionAffiliate.CFAffiliate").Include("CompetitionAffiliate.CFAffiliate.UserSetting").FirstOrDefault(a => a.Id == aid); // first lets get any info we can off the profile (weight, height) User thisUser = entities.UserSettings.OfType<User>().Include("BodyCompositions").FirstOrDefault( u => u.Id == UserSettings.Id ); BodyComposition bc = thisUser.BodyCompositions.FirstOrDefault(); if (bc == null) { bc = new BodyComposition(); bc.UserSetting = thisUser; entities.AddToBodyComposition(bc); } bc.Height = athlete.Height; bc.Weight = athlete.Weight; entities.SaveChanges(); bool loadImg = true; try { Utils.ImageUtil.MakeImageProfilePic(Utils.ImageUtil.ReadImageDataFromUrl(athlete.ImgUrl), UserSettings.Id); } catch (Exception) { loadImg = false; } // next see if we can add them to any groups (via the affiliate) if (athlete.CompetitionAffiliate != null && athlete.CompetitionAffiliate.CFAffiliate != null && athlete.CompetitionAffiliate.CFAffiliate.UserSetting != null) { dataMan.JoinGroup(thisUser.Id, athlete.CompetitionAffiliate.CFAffiliate.UserSetting.Id, ConstsUtil.Relationships.GROUP_MEMBER); } // now add all the games workouts to the site. foreach (CompetitionWOD cw in athlete.CompetitionWODs) { // so far we think they are all AMRAPS dataMan.SaveWorkout(thisUser, (int)Utils.WorkoutUtil.WorkoutType.CROSSFIT, (int)Utils.WorkoutUtil.DataSrc.MANUAL_NO_MAP, DateTime.Now, null, "", true, cw.WOD.Id, cw.Score, null); } if (loadImg) { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(2); "); } else { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(1); "); } break; case "friendRequest": long fid = Convert.ToInt64(hiddenAjaxValue.Value); dataMan.sendFriendRequest(UserSettings.Id, fid); status = "Friend request has been sent."; break; case "joinGroup": long gid = Convert.ToInt64(hiddenAjaxValue.Value); bool isOwner = hiddenAjaxValue2.Value == "true" ? true : false; bool sendRequestToAll = hiddenAjaxValue3.Value == "1" ? true : false; dataMan.JoinGroup(UserSettings.Id, gid, ConstsUtil.Relationships.GROUP_MEMBER); Group group = entities.UserSettings.OfType<Group>().FirstOrDefault(g => g.Id == gid); if (sendRequestToAll) { long[] memberIdArray = entities.UserFriends.Where(g => (g.DestUserSettingKey == gid || g.SrcUserSettingKey == gid) && g.Relationship >= (int)Affine.Utils.ConstsUtil.Relationships.GROUP_OWNER).Select(g => (g.DestUserSettingKey == gid ? g.SrcUserSettingKey : g.DestUserSettingKey)).ToArray(); int numMembers = memberIdArray.Length; foreach (long mid in memberIdArray) { dataMan.sendFriendRequest(UserSettings.Id, mid); } } if (isOwner) { dataMan.makeGroupOwnerRequest(UserSettings as User, group); } if (Request["step"] != null) { // todo: store this owne RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.JoinGroupDialog.close(); Aqufit.Page.Actions.LoadStep(4); "); } else { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.JoinGroupDialog.close(); Aqufit.Windows.SuccessDialog.open(\"{'html':'You have been added to the group.'}\");"); } break; } } catch (Exception ex) { status = "ERROR: There was a problem with the action (" + ex.Message + ex.StackTrace.Replace("'","").Replace("\n","")+")"; RadAjaxManager1.ResponseScripts.Add("alert('" + status + "'); "); } }
protected void bAjaxPostback_Click(object sender, EventArgs e) { string status = string.Empty; try { Affine.Data.Managers.IDataManager dataMan = Affine.Data.Managers.LINQ.DataManager.Instance; aqufitEntities entities = new aqufitEntities(); switch (hiddenAjaxAction.Value) { case "saveRegistration": CompetitionRegistration registration = null; if (string.IsNullOrWhiteSpace(hiddenAjaxRegistrationId.Value)) { registration = new CompetitionRegistration(); } else { long rId = Convert.ToInt64(hiddenAjaxRegistrationId.Value); registration = entities.CompetitionRegistrations.FirstOrDefault(r => r.Id == rId); } registration.Competition = entities.Competitions.FirstOrDefault(c => c.Id == 1); // ********** TMP User test = entities.UserSettings.OfType <User>().FirstOrDefault(u => u.Id == UserSettings.Id); registration.UserSetting = test; // we have a chance to correct user "miss information" int compType = Convert.ToInt32(ddlCompetitionType.SelectedValue); registration.RegistrationType = compType; registration.DateTime = DateTime.Now; if (!string.IsNullOrWhiteSpace(hiddenAjaxValue.Value)) { long affilId = Convert.ToInt64(hiddenAjaxValue.Value); registration.GroupAffiliate = entities.UserSettings.OfType <Group>().FirstOrDefault(g => g.Id == affilId); } if (compType == 1) { if (atiSlimControl.Email != test.UserEmail) { test.UserEmail = atiSlimControl.Email; } if (atiBodyComp.Gender != test.Sex) { test.Sex = atiBodyComp.Gender; } if (!test.BirthDate.HasValue || atiBodyComp.BirthDate != test.BirthDate.Value) { test.BirthDate = atiBodyComp.BirthDate; } registration.RegistrationType = 1; // individual registration.MailingAddress = txtAddress.Text; registration.ContactPhone = txtPhone.Text; registration.ContactEmail = test.UserEmail; registration.EmergContactName = txtEmergName.Text; registration.EmergContactPhone = txtEmergPhone.Text; registration.EmergContactRelation = txtEmergRelation.Text; registration.ExtraInfo = txtMedical.Text; // save and load the new registration ID entities.SaveChanges(); registration = entities.CompetitionRegistrations.OrderByDescending(r => r.Id).FirstOrDefault(r => r.UserSetting.Id == UserSettings.Id); hiddenAjaxRegistrationId.Value = "" + registration.Id; // now we need to add the users PR's to their profiles... SaveCompWorkoutPR(); } else { // team registration... registration.MailingAddress = txtTeamAddress.Text; registration.ContactPhone = txtTeamPhone.Text; registration.TeamName = txtTeamName.Text; registration.ContactEmail = txtTeamEmail.Text; registration.RegistrationType = 2; // team // save and load the new registration ID entities.SaveChanges(); registration = entities.CompetitionRegistrations.OrderByDescending(r => r.Id).FirstOrDefault(r => r.UserSetting.Id == UserSettings.Id); hiddenAjaxRegistrationId.Value = "" + registration.Id; } RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(6); "); break; case "checkTeamLimit": long gId = Convert.ToInt64(hiddenAjaxValue.Value); int count = entities.CompetitionRegistrations.Where(r => r.GroupAffiliate.Id == gId && r.RegistrationType == 2).Count(); // more the 2 affiliate teams alreay ?? if (count >= 2) { Group check = entities.UserSettings.OfType <Group>().FirstOrDefault(g => g.Id == gId); RadAjaxManager1.ResponseScripts.Add(" alert('Sorry the affiliate [ " + check.UserFirstName + " ] already has 2 teams signed up.' );"); } else { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(3);"); } break; case "connectCompAthlete": long aid = Convert.ToInt64(hiddenAjaxValue.Value); CompetitionAthlete athlete = entities.CompetitionAthletes.Include("CompetitionWODs").Include("CompetitionWODs.WOD").Include("CompetitionWODs.WOD.WODType").Include("CompetitionAffiliate").Include("CompetitionAffiliate.CFAffiliate").Include("CompetitionAffiliate.CFAffiliate.UserSetting").FirstOrDefault(a => a.Id == aid); // first lets get any info we can off the profile (weight, height) User thisUser = entities.UserSettings.OfType <User>().Include("BodyCompositions").FirstOrDefault(u => u.Id == UserSettings.Id); BodyComposition bc = thisUser.BodyCompositions.FirstOrDefault(); if (bc == null) { bc = new BodyComposition(); bc.UserSetting = thisUser; entities.AddToBodyComposition(bc); } bc.Height = athlete.Height; bc.Weight = athlete.Weight; entities.SaveChanges(); bool loadImg = true; try { Utils.ImageUtil.MakeImageProfilePic(Utils.ImageUtil.ReadImageDataFromUrl(athlete.ImgUrl), UserSettings.Id); } catch (Exception) { loadImg = false; } // next see if we can add them to any groups (via the affiliate) if (athlete.CompetitionAffiliate != null && athlete.CompetitionAffiliate.CFAffiliate != null && athlete.CompetitionAffiliate.CFAffiliate.UserSetting != null) { dataMan.JoinGroup(thisUser.Id, athlete.CompetitionAffiliate.CFAffiliate.UserSetting.Id, ConstsUtil.Relationships.GROUP_MEMBER); } // now add all the games workouts to the site. foreach (CompetitionWOD cw in athlete.CompetitionWODs) { // so far we think they are all AMRAPS dataMan.SaveWorkout(thisUser, (int)Utils.WorkoutUtil.WorkoutType.CROSSFIT, (int)Utils.WorkoutUtil.DataSrc.MANUAL_NO_MAP, DateTime.Now, null, "", true, cw.WOD.Id, cw.Score, null); } if (loadImg) { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(2); "); } else { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.LoadStep(1); "); } break; case "friendRequest": long fid = Convert.ToInt64(hiddenAjaxValue.Value); dataMan.sendFriendRequest(UserSettings.Id, fid); status = "Friend request has been sent."; break; case "joinGroup": long gid = Convert.ToInt64(hiddenAjaxValue.Value); bool isOwner = hiddenAjaxValue2.Value == "true" ? true : false; bool sendRequestToAll = hiddenAjaxValue3.Value == "1" ? true : false; dataMan.JoinGroup(UserSettings.Id, gid, ConstsUtil.Relationships.GROUP_MEMBER); Group group = entities.UserSettings.OfType <Group>().FirstOrDefault(g => g.Id == gid); if (sendRequestToAll) { long[] memberIdArray = entities.UserFriends.Where(g => (g.DestUserSettingKey == gid || g.SrcUserSettingKey == gid) && g.Relationship >= (int)Affine.Utils.ConstsUtil.Relationships.GROUP_OWNER).Select(g => (g.DestUserSettingKey == gid ? g.SrcUserSettingKey : g.DestUserSettingKey)).ToArray(); int numMembers = memberIdArray.Length; foreach (long mid in memberIdArray) { dataMan.sendFriendRequest(UserSettings.Id, mid); } } if (isOwner) { dataMan.makeGroupOwnerRequest(UserSettings as User, group); } if (Request["step"] != null) { // todo: store this owne RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.JoinGroupDialog.close(); Aqufit.Page.Actions.LoadStep(4); "); } else { RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.JoinGroupDialog.close(); Aqufit.Windows.SuccessDialog.open(\"{'html':'You have been added to the group.'}\");"); } break; } } catch (Exception ex) { status = "ERROR: There was a problem with the action (" + ex.Message + ex.StackTrace.Replace("'", "").Replace("\n", "") + ")"; RadAjaxManager1.ResponseScripts.Add("alert('" + status + "'); "); } }
public async Task <DefaultCommandResponse> Handle(CreateDoublesRegistrationCommand command) { var attempt = await this.StoreAttempt(command); var status = false; DefaultCommandResponse response; this._unitOfWork.Begin(); this._registrationUnitOfWork.Begin(); RecaptchaResponse recaptchaResponse = null; try { CompetitionRegistration registration = null; this._validationResult = this._validator.Validate(command); if (this._validationResult.IsValid) { await this.Load(command); RegistrationValidatorHelper.Validate(this._validationResult, this._competition); } if (this._validationResult.IsValid) { RegistrationValidatorHelper.ValidateGameFormat(this._validationResult, this._competition, GameFormats.Doubles); } if (this._validationResult.IsValid) { recaptchaResponse = await this._recaptchaService.Validate(command.Registration, "opens/registration", this._validationResult); } if (this._validationResult.IsValid) { registration = this._competition.CreateRegistration(command.Registration.Contact.Forename, command.Registration.Contact.Surname, command.Registration.Contact.EmailAddress); foreach (var player in command.Registration.Players) { var entrant = registration.CreateEntrant(this._competition); entrant.CreatePlayer(player.Player1.Forename, player.Player1.Surname); entrant.CreatePlayer(player.Player2.Forename, player.Player2.Surname); if (player.QualificationDate.HasValue) { entrant.CompetitionDateID = player.QualificationDate.Value; } } await this._competitionRegistrationRepository.Save(registration); } if (this._validationResult.IsValid) { this._unitOfWork.SoftCommit(); this._registrationUnitOfWork.SoftCommit(); await this._registrationEmailManager.SendConfirmationEmails(registration, this._competition); status = true; response = DefaultCommandResponse.Create(this._validationResult); this.StoreAttemptResponse(attempt, response); } else { this._unitOfWork.Rollback(); this._registrationUnitOfWork.Rollback(); response = DefaultCommandResponse.Create(this._validationResult); this.StoreAttemptResponse(attempt, response); } } catch (Exception e) { this._unitOfWork.Rollback(); this._registrationUnitOfWork.Rollback(); Console.WriteLine(e); throw; } finally { if (recaptchaResponse != null && recaptchaResponse.Data != null) { attempt.RecaptchaScore = recaptchaResponse.Data.Score; } attempt.Status = status; await this._competitionRegistrationAttemptRepository.Save(attempt); } return(response); }
public CompetitionRegistrationPlayerConfirmationEmailMessage(Entities.Competition competition, CompetitionRegistration competitionRegistration, List <CompetitionDate> dates) { this._competition = competition; this._competitionRegistration = competitionRegistration; this._dates = dates; }