public void UpdateAndSaveMailingCost(MailingCostsVM mailingCostsVM, GlobalObject globalObject)
        {
            mailingCostsVM.AddressVerificationHdrId.IsNullOrWhiteSpaceThrowArgumentException("View has lost the AddressVerificationHdrId");

            AddressVerificationHdr addressVerificationHdr = AddressVerificationHdrBiz.Find(mailingCostsVM.AddressVerificationHdrId);

            addressVerificationHdr.IsNullThrowException("AddressVerificationHdr not found.");

            if (mailingCostsVM.Cost == 0)
            {
                throw new Exception("Mailing cost cannot be 0. Please try again.");
            }

            if (mailingCostsVM.TotalLettersMailed == 0)
            {
                throw new Exception("Total letters mailed cannot be 0. Try again.");
            }

            if (mailingCostsVM.TotalLettersMailed < addressVerificationHdr.AddressVerificationTrxs.Count)
            {
                ErrorsGlobal.AddMessage("You have left over letters. Please go to Letter Cancelation screen");
            }

            if (mailingCostsVM.TotalLettersMailed > addressVerificationHdr.AddressVerificationTrxs.Count)
            {
                ErrorsGlobal.AddMessage("You cannot mail more letters than you have! Please try again");
            }


            //update fields
            addressVerificationHdr.TotalQtyLettersMailed = mailingCostsVM.TotalLettersMailed;
            addressVerificationHdr.BudgetedCost          =
                mailingCostsVM.TotalLettersMailed *
                MailerBiz.GetBugetedCost(addressVerificationHdr.MailLocalOrForiegnEnum, addressVerificationHdr.MailServiceEnum);

            addressVerificationHdr.Verification.VerificaionStatusEnum = VerificaionStatusENUM.Mailed;
            addressVerificationHdr.Verification.MailedDate.SetToTodaysDate(UserName, UserId);

            //update all the children to mailed.
            addressVerificationHdr.AddressVerificationTrxs.IsNullOrEmptyThrowException("There are no letters");
            foreach (AddressVerificationTrx letter in addressVerificationHdr.AddressVerificationTrxs)
            {
                letter.Verification.VerificaionStatusEnum = VerificaionStatusENUM.Mailed;
                letter.Verification.MailedDate.SetToTodaysDate(UserName, UserId);
                AddressVerificationTrxBiz.Update(letter);
            }

            ControllerCreateEditParameter param = new ControllerCreateEditParameter();

            param.Entity       = addressVerificationHdr as ICommonWithId;
            param.GlobalObject = globalObject;

            AddressVerificationHdrBiz.UpdateAndSave(param);
        }
示例#2
0
        //public override void BusinessRulesFor(ModelsClassLibrary.ModelsNS.SharedNS.ControllerCreateEditParameter parm)
        //{

        //    base.BusinessRulesFor(parm);

        //    Mailer mailer = parm.Entity as Mailer;
        //    mailer.IsNullThrowException("Could not box mailer");
        //    mailer.Name.IsNullOrWhiteSpaceThrowException("mailer Name is empty");

        //}


        public byte[] PrintVerificationLetters(string id)
        {
            //AddressVerificationModel_Header hdr = getVerificationLetterData(addressVerificationHdr);
            id.IsNullOrWhiteSpaceThrowException("id");
            AddressVerificationHdr addressVerificationHdr = AddressVerificationHdrBiz.Find(id);

            addressVerificationHdr.IsNullThrowException("addressVerificationHdr");
            addressVerificationHdr.Mailer.IsNullThrowException("Mailer");


            //gather data
            string mailerName          = addressVerificationHdr.Mailer.Name;
            string logoAddressAbsolute = System.Web.HttpContext.Current.Server.MapPath(MyConstants.LOGO_LOCATION);
            string addressMailFrom     = CompanyConfig.CompanyAddress;
            string website             = CompanyConfig.CompanyNameForWebPage;
            string userName            = UserName;
            string printDate           = DateTime.Now.ToShortDateString();
            string letter_Instructions = VerificationConfig.Letter_Instruction_Para;
            string letter_welcomePara  = VerificationConfig.Letter_Welcome_Para;
            string letter_body         = VerificationConfig.Letter_Body;
            string letter_Title        = VerificationConfig.Letter_Title;
            string sum_Title           = VerificationConfig.Summary_Title;
            string sum_body            = VerificationConfig.Summary_Body;
            string sum_Instructions    = VerificationConfig.Summary_Instruction_Para;
            string sum_Welcome         = VerificationConfig.Summary_Welcome_Para;

            //need to initialize
            string batchNumber = addressVerificationHdr.BatchNo.ToString();
            MailLocalOrForiegnENUM mailLocalOrForiegnEnum = addressVerificationHdr.MailLocalOrForiegnEnum;
            MailServiceENUM        mailServiceENUM        = addressVerificationHdr.MailServiceEnum;

            byte[] hdr = createTheHeaderForPdfPrinting(addressVerificationHdr,
                                                       mailerName,
                                                       logoAddressAbsolute,
                                                       addressMailFrom,
                                                       website,
                                                       userName,
                                                       printDate,
                                                       letter_Instructions,
                                                       letter_welcomePara,
                                                       letter_body,
                                                       letter_Title,
                                                       sum_Title,
                                                       sum_body,
                                                       sum_Instructions,
                                                       sum_Welcome,
                                                       batchNumber,
                                                       mailLocalOrForiegnEnum,
                                                       mailServiceENUM);

            return(hdr);
        }
示例#3
0
        public MailingCostsVM CreateMailingCostsVm(string addressVerificationHdrId)
        {
            addressVerificationHdrId.IsNullOrWhiteSpaceThrowArgumentException("addressVerificationHdrId");
            AddressVerificationHdr addressVerificationHdr = AddressVerificationHdrBiz.Find(addressVerificationHdrId);

            addressVerificationHdr.IsNullThrowException();

            MailingCostsVM mailingCostsVM = new MailingCostsVM();

            mailingCostsVM.AddressVerificationHdr   = addressVerificationHdr;
            mailingCostsVM.TotalLettersMailed       = addressVerificationHdr.AddressVerificationTrxs.Count;
            mailingCostsVM.AddressVerificationHdrId = addressVerificationHdrId;
            return(mailingCostsVM);
        }
示例#4
0
        public void CreatMailingList(MailLocalOrForiegnENUM mailLocalOrForiegnEnum, MailServiceENUM mailServiceEnum)
        {
            if (mailLocalOrForiegnEnum == MailLocalOrForiegnENUM.Unknown)
            {
                throw new Exception("Mail Local Or Foriegn is UNKNOWN.");
            }

            if (mailServiceEnum == MailServiceENUM.Unknown)
            {
                throw new Exception("Mail Service is UNKNOWN.");
            }

            var verificationHdr = CreateVerificationMailingList_Helper(mailLocalOrForiegnEnum, mailServiceEnum);

            AddressVerificationHdrBiz.CreateAndSave(verificationHdr);
        }
示例#5
0
        private long getNextBatchNo()
        {
            //long max = AddressVerificationHdrBiz.FindAll().Max(x => x.BatchNo) ?? AddressVerificationHdrBiz.FindAll().Max(x => x.BatchNo);
            //long nextNo = max + 1;
            //return nextNo;

            var lst = AddressVerificationHdrBiz.FindAll().Select(x => x.BatchNo).ToList();

            if (lst.IsNullOrEmpty())
            {
                return(1);
            }

            long max = lst.Max();

            return(max);
        }
示例#6
0
        public void UpdateStatusToPrinted(string addressVerificationHdr_Id, GlobalObject globalObject)
        {
            addressVerificationHdr_Id.IsNullOrWhiteSpaceThrowArgumentException("addressVerificationHdr_Id");
            AddressVerificationHdr addyVerfHdr = AddressVerificationHdrBiz.Find(addressVerificationHdr_Id);

            addyVerfHdr.IsNullThrowException("Address Veification Header not found. Status of transaction not changed.");
            addyVerfHdr.Verification.SetTo(VerificaionStatusENUM.Printed);

            ControllerCreateEditParameter param = new ControllerCreateEditParameter();

            param.Entity       = addyVerfHdr as ICommonWithId;
            param.GlobalObject = globalObject;

            AddressVerificationHdrBiz.UpdateAndSave(param);

            //updateAllTheAddresses(addyVerfHdr);
            //AddressVerificationHdrBiz.UpdateAndSave(addyVerfHdr);
        }
示例#7
0
        private AddressVerificationHdr CreateVerificationMailingListFor(Mailer mailer, MailServiceENUM mailServiceEnum, MailLocalOrForiegnENUM mailLocalOrForiegnEnum, VerificaionStatusENUM VerificaionStatusEnum)
        {
            List <AddressVerificationTrx> mailingList = createVerificationListFor(mailer, mailLocalOrForiegnEnum, mailServiceEnum, VerificaionStatusEnum);

            if (mailingList.IsNullOrEmpty())
            {
                return(null);
            }

            updateTrxs(mailingList);

            AddressVerificationHdr header = AddressVerificationHdrBiz.Factory() as AddressVerificationHdr;
            string dateTickStr            = DateTime.UtcNow.Ticks.ToString();

            dateTickStr = dateTickStr.Substring(dateTickStr.Length - 5); //gets last 5 digits

            header.Name = string.Format("{1} -{0} ", dateTickStr, UserName);
            header.AddBeginAndEndDateController(mailLocalOrForiegnEnum, mailServiceEnum, UserName, UserId);

            header.MailLocalOrForiegnEnum = mailLocalOrForiegnEnum;
            header.MailServiceEnum        = mailServiceEnum;
            header.BatchNo = getNextBatchNo();
            header.BeginDate.SetToTodaysDate(UserName, UserId);

            header.EndDate.SetToTodaysDate(UserName, UserId);
            int timeAllowed = NoOfDaysAllowed(mailServiceEnum, mailLocalOrForiegnEnum);

            header.EndDate.Date = header.EndDate.Date.Value.AddDays(timeAllowed);
            header.Verification.SetTo(VerificaionStatusENUM.SelectedForProcessing);
            //header.SuccessEnum = SuccessENUM.Inproccess;

            //db stuff
            header.MailerId = mailer.Id;
            header.Mailer   = mailer;
            mailer.AddressVerificationHdrs.Add(header);
            header.AddressVerificationTrxs = mailingList;

            return(header);
        }