protected void SaveRecord(bool newRecord) { if (newRecord) { CRM_AnnualPass = new CRM_AnnualPass(); CRM_AnnualPass.CRM_AnnualPassCardID = Entity.ID; db.CRM_AnnualPasses.InsertOnSubmit(CRM_AnnualPass); } CRM_AnnualPass.AmountPaid = Convert.ToDecimal(txtAmountPaid.Text); CRM_AnnualPass.CRM_AnnualPassType = db.CRM_AnnualPassTypes.Single(s => s.ID.ToString() == ddlPassType.SelectedValue); CRM_AnnualPass.DiscountApplied = txtDiscountApplied.Text; CRM_AnnualPass.ExpiryDate = txtExpiryDate.Value; CRM_AnnualPass.StartDate = txtStartDate.Value; CRM_AnnualPass.IsPending = chkIsPending.Checked; CRM_AnnualPass.PrimaryContactReference = ucACPrimaryContact.SelectedID; CRM_AnnualPass.PaymentMethod = Convert.ToByte(ddlPaymentType.SelectedValue); db.SubmitChanges(); if (newRecord) { IContact contact = new ContactManager().Contacts.Single(v => v.Reference.ToString() == ucACPrimaryContact.SelectedID); AddPersonToPass(contact.Parent_CRM_Person.Reference); } }
public void SendRenewalEmail(CRM_AnnualPass annualPass, MainDataContext db, string emailTo) { TemplateEmail template = db.TemplateEmails.Single(c => c.FixedRef == TemplateEmail.TemplateEmails.RenewalEmail); string content = template.Body; CRM_Person person = new AnnualPassManager().GetPrimaryContact(annualPass); content = annualPass.ReplacePlaceholders(content, person); if (String.IsNullOrEmpty(emailTo)) { AddTo(person.PrimaryEmail); } else { AddTo(emailTo); } if (!template.IsDisabled) { SendTemplate(content, annualPass.ReplacePlaceholders(template.Subject, person), template); } }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["action"] == "delete") { int cid = Convert.ToInt32(Request.QueryString["cid"]); var member = db.CRM_AnnualPassCorporates.FirstOrDefault(p => p.ID == cid); if (member != null) { db.CRM_AnnualPassCorporates.DeleteOnSubmit(member); db.SubmitChanges(); } } CRM_AnnualPass = Entity.CRM_AnnualPasses.SingleOrDefault(f => f.ID.ToString() == Request.QueryString["pid"]); btnSubmit.EventHandler = btnSubmit_Click; btnSubmitChanges.EventHandler = btnSubmitChanges_Click; btnDelete.EventHandler = btnDelete_Click; btnAddGroup.EventHandler = btnAddGroup_Click; confirmationDelete.StandardDeleteHidden("pass", btnRealDelete_Click); ucNav.Entity = Entity; ucACPrimaryContact.EventHandler = lnkSelect_Click; ucACPrimaryContact.Config = new AutoCompleteConfig(JSONSet.DataSets.contact); ucACNewPerson.EventHandler = lnkSelectNew_Click; ucACNewPerson.Config = new AutoCompleteConfig(JSONSet.DataSets.person); ucNotes.INotes = CRM_AnnualPass; if (CRM_AnnualPass != null) { lvPersons.Type = typeof(CRM_AnnualPassPerson); lvPersons.DataSet = db.CRM_AnnualPassPersons.Where(p => p.CRM_AnnualPassID == CRM_AnnualPass.ID).Select(a => (object)a); lvPersons.ItemsPerPage = 10; lvPersons.ShowCustomisation = false; } else { lvPersons.Type = typeof(CRM_AnnualPassPerson); lvPersons.DataSet = Enumerable.Empty <CRM_AnnualPassPerson>().Select(a => (object)a); lvPersons.ItemsPerPage = 10; lvPersons.ShowCustomisation = false; } CRMContext = CRM_AnnualPass; if (!Page.IsPostBack) { ddlPassType.DataSource = CRM_AnnualPassType.BaseSet(db); ddlPassType.DataBind(); ddlPaymentType.DataSource = Enumeration.GetAll <CRM.Code.Helpers.PaymentType.Types>(); ddlPaymentType.DataBind(); if (CRM_AnnualPass != null) { ddlOffer.DataSource = CRM_Offer.SetDropDown(db.CRM_Offers.Cast <IArchivable>(), CRM_AnnualPass.CRM_Offer); ddlOffer.DataBind(); PopulateFields(); } else { ddlOffer.DataSource = CRM_Offer.SetDropDown(db.CRM_Offers.Cast <IArchivable>(), null); ddlOffer.DataBind(); lvPersons.Visible = false; txtStartDate.Value = UKTime.Now; txtExpiryDate.Value = UKTime.Now.AddYears(1); } } }
public void RunImport(int startLine, int endLine) { MainDataContext db = new MainDataContext(); HttpServerUtility Server = HttpContext.Current.Server; string path = "/TaskScript/payment_history.csv"; using (StreamReader reader = new StreamReader(Server.MapPath(path))) { lineNumber = 0; while (!reader.EndOfStream) { lineNumber++; string contents = reader.ReadLine(); if (lineNumber >= startLine && lineNumber <= endLine) { string[] contentsSplit = contents.Split(','); string errorMessage = ""; try { CRM_Person person = db.CRM_Persons.SingleOrDefault(s => s.LegacyID.ToString() == contentsSplit[(int)accountPos.ConstituteID]); if (person != null) { DateTime startDate = SwitchUsToUk(contentsSplit[(int)accountPos.JoinedOn]); if (!String.IsNullOrEmpty(contentsSplit[(int)accountPos.HistoryRenewDate])) { startDate = SwitchUsToUk(contentsSplit[(int)accountPos.HistoryRenewDate]); } CRM_AnnualPass pass = db.CRM_AnnualPasses.ToArray().FirstOrDefault(f => f.CRM_AnnualPassCard.MembershipNumber.ToString() == contentsSplit[(int)accountPos.MembershipID] && f.CRM_AnnualPassPersons.Any(c => c.CRM_PersonID == person.ID) && f.StartDate.ToString("dd/MM/yyyy") == startDate.ToString("dd/MM/yyyy")); if (pass == null) { CRM_AnnualPassCard card = db.CRM_AnnualPassCards.FirstOrDefault(s => s.MembershipNumber.ToString() == contentsSplit[(int)accountPos.MembershipID]); if (card == null) { card = new CRM_AnnualPassCard() { MembershipNumber = Convert.ToInt32(contentsSplit[(int)accountPos.MembershipID]) }; db.CRM_AnnualPassCards.InsertOnSubmit(card); db.SubmitChanges(); } pass = new CRM_AnnualPass() { AmountPaid = 0, CRM_AnnualPassCardID = card.ID, CRM_OfferID = null, DiscountApplied = "", IsArchived = false, IsPending = false, PrimaryContactReference = person.Reference }; db.CRM_AnnualPasses.InsertOnSubmit(pass); } pass.StartDate = startDate; if (!String.IsNullOrEmpty(contentsSplit[(int)accountPos.HistoryExpireDate])) { pass.ExpiryDate = SwitchUsToUk(contentsSplit[(int)accountPos.HistoryExpireDate]); } else { pass.ExpiryDate = pass.StartDate.AddYears(1); } try { pass.PaymentMethod = (byte)Enumeration.GetEnumValueByName <CRM.Code.Helpers.PaymentType.Types>(contentsSplit[(int)accountPos.PayMethod]); } catch { pass.PaymentMethod = (byte)CRM.Code.Helpers.PaymentType.Types.Unknown; } if (!String.IsNullOrEmpty(contentsSplit[(int)accountPos.TotalAmount])) { pass.AmountPaid = Convert.ToDecimal(contentsSplit[(int)accountPos.TotalAmount].Substring(1)); } else { pass.AmountPaid = 0M; } CRM_AnnualPassType type = db.CRM_AnnualPassTypes.FirstOrDefault(f => f.DefaultPrice == pass.AmountPaid); if (type == null) { pass.CRM_AnnualPassTypeID = db.CRM_AnnualPassTypes.First(f => f.ID == 15).ID; } else { pass.CRM_AnnualPassTypeID = type.ID; } db.SubmitChanges(); if (!pass.CRM_AnnualPassPersons.Any(c => c.CRM_PersonID == person.ID)) { CRM_AnnualPassPerson passperson = new CRM_AnnualPassPerson() { CRM_PersonID = person.ID, IsArchived = false, CRM_AnnualPassID = pass.ID }; db.CRM_AnnualPassPersons.InsertOnSubmit(passperson); db.SubmitChanges(); } } else { HttpContext.Current.Response.Write(contentsSplit[(int)accountPos.ConstituteID] + " person not found"); } } catch (Exception ex) { HttpContext.Current.Response.Write(ex.Message); HttpContext.Current.Response.Write(lineNumber); HttpContext.Current.Response.End(); } } } } }
public void RunImport(int startLine, int endLine) { MainDataContext db = new MainDataContext(); HttpServerUtility Server = HttpContext.Current.Server; string path = "/TaskScript/FinalListforCoalFace.csv"; using (StreamReader reader = new StreamReader(Server.MapPath(path))) { lineNumber = 0; while (!reader.EndOfStream) { lineNumber++; string contents = reader.ReadLine(); if (lineNumber >= startLine && lineNumber <= endLine) { string[] contentsSplit = contents.Split(','); string errorMessage = ""; CRM_FormFieldItem ffItem = db.CRM_FormFieldItems.FirstOrDefault(f => f.Label == contentsSplit[(int)accountPos.Constituent]); if (ffItem == null) { ffItem = new CRM_FormFieldItem() { Label = contentsSplit[(int)accountPos.Constituent], CRM_FormFieldID = 1, OrderNo = Code.Utils.Ordering.Ordering.GetNextOrderID(db.CRM_FormFieldItems), IsActive = true, IsArchived = false }; db.CRM_FormFieldItems.InsertOnSubmit(ffItem); db.SubmitChanges(); } CRM_Person person = db.CRM_Persons.FirstOrDefault(f => f.LegacyID != null && f.LegacyID.ToString() == contentsSplit[(int)accountPos.LegacyID]); if (person == null) { CRM_Address address = new CRM_Address(); address.AddressLine1 = contentsSplit[(int)accountPos.Address1]; address.AddressLine2 = contentsSplit[(int)accountPos.Address2]; address.AddressLine3 = contentsSplit[(int)accountPos.Address3]; address.AddressLine4 = contentsSplit[(int)accountPos.Address4]; address.AddressLine5 = contentsSplit[(int)accountPos.Address5]; address.Town = contentsSplit[(int)accountPos.City]; address.County = contentsSplit[(int)accountPos.County]; address.Postcode = contentsSplit[(int)accountPos.Postcode]; address.CountryID = 1; db.CRM_Addresses.InsertOnSubmit(address); db.SubmitChanges(); person = new CRM_Person(); db.CRM_Persons.InsertOnSubmit(person); if (contentsSplit[(int)accountPos.AddressType] == "Business") { person.AddressType = (byte)CRM_Address.Types.Business; } person.AddressType = (byte)CRM_Address.Types.Home; person.DateAdded = UKTime.Now; person.DateModified = UKTime.Now; person.IsArchived = false; person.IsChild = false; person.IsCarerMinder = false; person.PreviousNames = ""; person.PrimaryEmail = ""; person.PrimaryTelephone = ""; person.Telephone2 = ""; person.IsDoNotMail = false; person.LegacyID = Convert.ToInt32(contentsSplit[(int)accountPos.LegacyID]); person.CRM_AddressID = address.ID; person.Password = ""; person.TempCode = ""; } person.Title = contentsSplit[(int)accountPos.Title]; person.Firstname = contentsSplit[(int)accountPos.Firstname]; person.Lastname = contentsSplit[(int)accountPos.Surname]; if (contentsSplit[(int)accountPos.Gender] == "Male") { person.IsMale = true; } else if (contentsSplit[(int)accountPos.Gender] == "Female") { person.IsMale = false; } else { person.IsMale = null; } if (contentsSplit[(int)accountPos.NoEmail] == "Yes") { person.IsDoNotEmail = true; } db.SubmitChanges(); CRM_FormFieldAnswer answer = new CRM_FormFieldAnswer() { Answer = contentsSplit[(int)accountPos.Constituent], CRM_FormFieldID = ffItem.CRM_FormFieldID, TargetReference = person.Reference }; db.CRM_FormFieldAnswers.InsertOnSubmit(answer); db.SubmitChanges(); if (contentsSplit[(int)accountPos.PhoneNumber11].Contains("@")) { person.PrimaryEmail = contentsSplit[(int)accountPos.PhoneNumber11]; } else { person.PrimaryTelephone = contentsSplit[(int)accountPos.PhoneNumber11]; person.PrimaryEmail = contentsSplit[(int)accountPos.PhoneNumber12]; } if (!contentsSplit[(int)accountPos.PhoneNumber12].Contains("@")) { person.Telephone2 = contentsSplit[(int)accountPos.PhoneNumber12]; } db.SubmitChanges(); if (!String.IsNullOrEmpty(contentsSplit[(int)accountPos.MembershipID].Trim())) { CRM_AnnualPassCard card = new CRM_AnnualPassCard() { MembershipNumber = Convert.ToInt32(contentsSplit[(int)accountPos.MembershipID]) }; db.CRM_AnnualPassCards.InsertOnSubmit(card); db.SubmitChanges(); CRM_AnnualPass pass = new CRM_AnnualPass(); pass.CRM_AnnualPassCardID = card.ID; pass.AmountPaid = 0; pass.CRM_AnnualPassTypeID = 15; pass.IsArchived = false; pass.DiscountApplied = ""; pass.PrimaryContactReference = person.Reference; try { if (!String.IsNullOrEmpty(contentsSplit[(int)accountPos.MembershipExpiry]) && String.IsNullOrEmpty((contentsSplit[(int)accountPos.MembershipLastRenew]))) { pass.StartDate = Code.Utils.Text.Text.FormatInputDate(contentsSplit[(int)accountPos.MembershipExpiry]); } else { pass.StartDate = Code.Utils.Text.Text.FormatInputDate(contentsSplit[(int)accountPos.MembershipExpiry]).AddYears(-1); } } catch { pass.StartDate = UKTime.Now; } try { pass.ExpiryDate = Code.Utils.Text.Text.FormatInputDate(contentsSplit[(int)accountPos.MembershipExpiry]); } catch { pass.ExpiryDate = new DateTime(2075, 12, 31); } db.CRM_AnnualPasses.InsertOnSubmit(pass); db.SubmitChanges(); CRM_AnnualPassPerson passPerson = new CRM_AnnualPassPerson() { CRM_AnnualPassID = pass.ID, CRM_PersonID = person.ID, IsArchived = false }; db.CRM_AnnualPassPersons.InsertOnSubmit(passPerson); db.SubmitChanges(); } if (!String.IsNullOrEmpty(contentsSplit[(int)accountPos.OrgName])) { CRM_Organisation org = db.CRM_Organisations.FirstOrDefault(f => f.Name == contentsSplit[(int)accountPos.OrgName]); if (org == null) { CRM_Address orgAddress = new CRM_Address() { AddressLine1 = contentsSplit[(int)accountPos.OrgAddr1], AddressLine2 = contentsSplit[(int)accountPos.OrgAddr2], AddressLine3 = contentsSplit[(int)accountPos.OrgAddr3], AddressLine4 = contentsSplit[(int)accountPos.OrgAddr4], AddressLine5 = "", County = "", Town = contentsSplit[(int)accountPos.OrgAddrCity], Postcode = contentsSplit[(int)accountPos.Postcode], CountryID = 1 }; db.CRM_Addresses.InsertOnSubmit(orgAddress); db.SubmitChanges(); org = new CRM_Organisation() { CRM_OrganisationTypeID = 1, CRM_AddressID = orgAddress.ID, Name = contentsSplit[(int)accountPos.OrgName], IsArchived = false, PrimaryContactReference = person.Reference }; db.CRM_Organisations.InsertOnSubmit(org); db.SubmitChanges(); } CRM_Role role = db.CRM_Roles.FirstOrDefault(f => f.Name == contentsSplit[(int)accountPos.OrgPosition]); if (role == null) { role = new CRM_Role(); db.CRM_Roles.InsertOnSubmit(role); role.Name = contentsSplit[(int)accountPos.OrgPosition]; db.SubmitChanges(); } CRM_PersonOrganisation personOrg = new CRM_PersonOrganisation() { CRM_OrganisationID = org.ID, CRM_RoleID = role.ID, IsArchived = false, Email = "", Telephone = "", CRM_PersonID = person.ID }; db.CRM_PersonOrganisations.InsertOnSubmit(personOrg); db.SubmitChanges(); } } } } }
public CRM_Person GetPrimaryContact(CRM_AnnualPass CRM_AnnualPass) { return(db.CRM_Persons.SingleOrDefault(c => c.Reference == CRM_AnnualPass.PrimaryContactReference)); }