Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
                }
            }
        }
Example #4
0
        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();
                        }
                    }
                }
            }
        }
Example #5
0
        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();
                        }
                    }
                }
            }
        }
Example #6
0
 public CRM_Person GetPrimaryContact(CRM_AnnualPass CRM_AnnualPass)
 {
     return(db.CRM_Persons.SingleOrDefault(c => c.Reference == CRM_AnnualPass.PrimaryContactReference));
 }