//Request Details
 private static void AddRequestDetailsSection(StringBuilder sb, CreditApp app)
 {
     EmailBuilder.AddBoldedHeader(sb, "Request Details");
     EmailBuilder.AddIndentedText(sb, "Equipment Description: " + app.EquipmentDescription);
     EmailBuilder.AddIndentedText(sb, "Equipment Amount: " + app.TotalAmount.ToString());
     EmailBuilder.AddIndentedText(sb, "Term: " + app.DesiredFinanceTerm.ToString());
     EmailBuilder.AddIndentedText(sb, "Purchase Option: " + app.DesiredPurchaseOption);
     EmailBuilder.AddIndentedText(sb, "Maintenance Fee Amount: " + app.MaintenanceFeeAmount.ToString());
     EmailBuilder.AddIndentedText(sb, "Payment: " + app.Payment.ToString());
     EmailBuilder.AddIndentedText(sb, "Notes: " + app.Comments);
 }
 //Applicant Details
 private static void AddApplicantDetailsSection(StringBuilder sb, CreditApp app)
 {
     EmailBuilder.AddBoldedHeader(sb, "Applicant Details");
     EmailBuilder.AddIndentedText(sb, "Legal Name: " + app.CompanyName);
     EmailBuilder.AddIndentedText(sb, "DBA: " + app.DBA);
     EmailBuilder.AddIndentedText(sb, "Address1: " + app.MailingAddress);
     EmailBuilder.AddIndentedText(sb, "City: " + app.City);
     EmailBuilder.AddIndentedText(sb, "State/Province: " + app.State);
     EmailBuilder.AddIndentedText(sb, "Zip: " + app.PostalCode);
     EmailBuilder.AddIndentedText(sb, "Phone: " + app.PhoneNumber);
     EmailBuilder.AddIndentedText(sb, "Contact: " + app.ContactName);
     EmailBuilder.AddIndentedText(sb, "Contact Phone: " + app.ContactPhone);
     EmailBuilder.AddIndentedText(sb, "Contact Email: " + app.ContactEmail);
 }
        // This is for submitting to GreatAmerica when a photo is attached for the customer info (rather than hitting the API)
        public static Email ToSubmissionEmail(this CreditApp app)
        {
            StringBuilder sb = new StringBuilder();

            EmailBuilder.AddItalicizedText(sb, "The business card of the applicant is attached to this email.");

            EmailBuilder.AddNewline(sb);
            AddSubmittedBySection(sb);
            EmailBuilder.AddNewline(sb);
            AddRequestDetailsSection(sb, app);

            return(new Email
            {
                ToAddresses = new List <string> {
                    "*****@*****.**"
                },
                Subject = "SnappShot Credit App Submission",
                Body = sb.ToString(),
                IsHtml = true,
                AttachmentFileLocation = app.PhotoFilePath
            });
        }
        // This is for the confirmation email that users can send after submission
        public static Email ToConfirmationEmail(this CreditApp app)
        {
            StringBuilder sb = new StringBuilder();

            AddAppIdSection(sb, app.AppId);
            EmailBuilder.AddNewline(sb);
            AddSubmittedBySection(sb);
            EmailBuilder.AddNewline(sb);
            if (string.IsNullOrWhiteSpace(app.PhotoFilePath))
            {
                //do not have this info if took photo for customer info
                AddApplicantDetailsSection(sb, app);
                EmailBuilder.AddNewline(sb);
            }
            AddRequestDetailsSection(sb, app);

            var profileInfoRepository = AppContainer.Container.Resolve <IProfileInfoRepository>();
            var profileInfo           = profileInfoRepository.GetDealerProfile();

            var email = new Email
            {
                ToAddresses = new List <string> {
                    profileInfo.DealerContactEmail
                },
                Subject = "SnappShot Credit App Submission Confirmation",
                Body    = sb.ToString(),
                IsHtml  = true,
                AttachmentFileLocation = app.PhotoFilePath
            };

            if (!string.IsNullOrWhiteSpace(profileInfo.AutoCcEmail))
            {
                email.CcAddresses = new List <string> {
                    profileInfo.AutoCcEmail
                };
            }
            return(email);
        }
Beispiel #5
0
        public async Task <SubmitCreditAppResponse> SubmitCreditApp(CreditApp creditApp)
        {
            //=== test data ===
            //var submitCreditAppRequest = new SubmitCreditAppRequest
            //{
            //    Application = new CreditAppMetaData
            //    {
            //        EnteredBy = "",
            //        ApplicationType = "New",
            //        ApplicationFormat = "STD",
            //        TotalfinancedAmount = 0
            //    },
            //    Terms = new TermData
            //    {
            //        Payment = 0,
            //        SecurityDeposit = 0.0,
            //        RatecardID = 0,
            //        Term = 0,
            //        LeaseType = "",
            //        PurchaseOption = ""
            //    },
            //    Vendor = new Vendor
            //    {
            //        DealerContactName = "",
            //        DealerContactEmail = "",
            //        DealerContactphone = ""
            //    },
            //    Lessee = new Lessee
            //    {
            //        LegalName = "test",
            //        Address1 = "",
            //        City = "",
            //        State = "",
            //        Zip = "",
            //        Phone = "",
            //        Contact = ""
            //    },
            //    Assets = new List<Asset>()
            //    {
            //        new Asset
            //        {
            //            Quantity = 1,
            //            Description = "",
            //            SerialNumber = "",
            //            Model = "",
            //            Manufacturer = "",
            //            TotalAmount = 0,
            //            IsUsed = 0
            //        }
            //    }
            //};

            var dealerProfile = _profileRepo.GetDealerProfile();

            var submitCreditAppRequest = new SubmitCreditAppRequest
            {
                Application = new CreditAppMetaData
                {
                    EnteredBy            = dealerProfile.DealerContactName,
                    ApplicationType      = "New",
                    ApplicationFormat    = "STD",
                    TotalFinancedAmount  = creditApp.TotalFinancedAmount,
                    MaintenanceFeeAmount = creditApp.MaintenanceFeeAmount,
                    Notes = creditApp.Comments
                },
                Terms = new TermData
                {
                    Payment         = creditApp.Payment,    //from quote
                    SecurityDeposit = 0.0,
                    RatecardID      = creditApp.RateCardId, //from quote
                    Term            = creditApp.DesiredFinanceTerm,
                    LeaseType       = "",                   //new field on screen, wait for Carol to get back to us
                    PurchaseOption  = creditApp.DesiredPurchaseOption
                },
                Vendor = new Vendor
                {
                    DealerName         = dealerProfile.DealerName,
                    DealerContactName  = dealerProfile.DealerContactName,
                    DealerContactEmail = dealerProfile.DealerContactEmail,
                    DealerContactPhone = dealerProfile.DealerContactPhone,
                    DealerRelationship = "Booking"
                },
                Lessee = new Lessee
                {
                    LegalName    = creditApp.CompanyName,
                    Address1     = creditApp.MailingAddress,
                    City         = creditApp.City,
                    State        = creditApp.State,
                    Zip          = creditApp.PostalCode,
                    Phone        = creditApp.PhoneNumber,
                    DBA          = creditApp.DBA,
                    Contact      = creditApp.ContactName,
                    ContactEmail = creditApp.ContactEmail,
                    ContactPhone = creditApp.ContactPhone
                },
                Assets = new List <Asset>()
                {
                    new Asset
                    {
                        //new fields on screen, wait for Carol to get back to us
                        Quantity     = 1,
                        Description  = creditApp.EquipmentDescription,
                        TotalAmount  = creditApp.TotalAmount,
                        SerialNumber = "",
                        Model        = "",
                        Manufacturer = "",
                        IsUsed       = 0
                    }
                },
                Guarantors = new List <Guarantor>()
                {
                    new Guarantor
                    {
                        FirstName     = creditApp.GuarantorFirstName,
                        MiddleInitial = creditApp.GuarantorMiddleInitial,
                        LastName      = creditApp.GuarantorLastName,
                        Address       = creditApp.GuarantorAddress,
                        City          = creditApp.GuarantorCity,
                        State         = creditApp.GuarantorState,
                        Zip           = creditApp.GuarantorZip
                    }
                }
            };

            var response = await WebServiceClientBase.Post <SubmitCreditAppRequest, SubmitCreditAppResponse>(Constants.CreditAppUri, submitCreditAppRequest, true);

            return(response);
        }
Beispiel #6
0
 public void CreateCreditApp(CreditApp creditApp = null)
 {
     //credit app passed in when coming from quote workflow
     _creditApp = creditApp ?? new CreditApp();
 }