protected void tabStripMerchantDetail_TabClick(object sender, RadTabStripEventArgs e) { MerchantModel editMerchant = new MerchantModel(); Int32 merchantRecordId; UnderwritingResultModel underwritingResult = new UnderwritingResultModel(); try { merchantRecordId = Convert.ToInt32(hMerchantRecordId.Value); using (ApplicationDbContext ctx = new ApplicationDbContext()) { editMerchant = ctx.Merchants.First(m => m.RecordId == merchantRecordId); if (ctx.UnderwritingResults.Any(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true)) { underwritingResult = ctx.UnderwritingResults.First(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true); if (underwritingResult.UnderwritingDecision == "Pending" || String.IsNullOrEmpty(underwritingResult.UnderwritingDecision)) { if (underwritingResult.UnderwriterUser.Id == Page.User.Identity.GetUserId()) { pnlUnderwritingHistory.Visible = false; pnlNewUnderwriting.Visible = false; pnlNewUnderwriting2.Visible = true; pnlUnderwritingButtons.Visible = false; pnlUnderwritingAdvancedButtons.Visible = true; btnUnderwritingCancel.Visible = true; btnUnderwritingComplete.Visible = true; btnUnderwritingSave.Visible = true; btnAddNewUnderwriting.Visible = false; //Enable and Fill Radio Button Fields rblUWCorpInfoVerifiedResult.Enabled = true; rblUWBusLicStatusResult.Enabled = true; rblUWEINVerifiedResult.Enabled = true; rblUWPrincipalVerifiedResult.Enabled = true; rblUWCardSalesIndicatorsVerifiedResult.Enabled = true; rblUWBankingInfoVerifiedResult.Enabled = true; rblUWMCCVerifiedResult.Enabled = true; rblUWBVIVerifiedResult.Enabled = true; rblUWTaxLiensVerifiedResult.Enabled = true; rblUWRiskIndicatorVerifiedResult.Enabled = true; rblUWCorpInfoVerifiedResult.SelectedValue = underwritingResult.CorpInfoResult.ToString(); rblUWBusLicStatusResult.SelectedValue = underwritingResult.BusLicStatusResult.ToString(); rblUWEINVerifiedResult.SelectedValue = underwritingResult.EINResult.ToString(); rblUWPrincipalVerifiedResult.SelectedValue = underwritingResult.PrincipalResult.ToString(); rblUWCardSalesIndicatorsVerifiedResult.SelectedValue = underwritingResult.CardSalesIndicatorResult.ToString(); rblUWBankingInfoVerifiedResult.SelectedValue = underwritingResult.BankingInfoResult.ToString(); rblUWMCCVerifiedResult.SelectedValue = underwritingResult.MCCResult.ToString(); rblUWBVIVerifiedResult.SelectedValue = underwritingResult.BVIResult.ToString(); rblUWTaxLiensVerifiedResult.SelectedValue = underwritingResult.TaxLiensResult.ToString(); rblUWRiskIndicatorVerifiedResult.SelectedValue = underwritingResult.RiskIndicatorResult.ToString(); //Enable and Fill Text Area Fields txtUWCorpInfoVerifiedNotes.Enabled = true; txtUWBUsLicStatusVerifiedNotes.Enabled = true; txtUWEINVerifiedNotes.Enabled = true; txtUWPrincipalVerifiedNotes.Enabled = true; txtUWCardSalesIndicatorsVerifiedNotes.Enabled = true; txtUWBankingInfoVerifiedNotes.Enabled = true; txtUWMCCVerifiedNotes.Enabled = true; txtUWBVIVerifiedNotes.Enabled = true; txtUWTaxLiensVerifiedNotes.Enabled = true; txtUWRiskIndicatorVerifiedNotes.Enabled = true; txtUWCorpInfoVerifiedNotes.Text = underwritingResult.CorpInfoNotes; txtUWBUsLicStatusVerifiedNotes.Text = underwritingResult.BusLicStatusNotes; txtUWEINVerifiedNotes.Text = underwritingResult.EINNotes; txtUWPrincipalVerifiedNotes.Text = underwritingResult.PrincipalNotes; txtUWCardSalesIndicatorsVerifiedNotes.Text = underwritingResult.CardSalesIndicatorNotes; txtUWBankingInfoVerifiedNotes.Text = underwritingResult.BankingInfoNotes; txtUWMCCVerifiedNotes.Text = underwritingResult.MCCNotes; txtUWBVIVerifiedNotes.Text = underwritingResult.BVINotes; txtUWTaxLiensVerifiedNotes.Text = underwritingResult.TaxLiensNotes; txtUWRiskIndicatorVerifiedNotes.Text = underwritingResult.RiskIndicatorNotes; //Disable Begin Button btnBeginUnderwritingUpdate.Enabled = false; //Fill Underwriter Initials txtUnderwriterInitials.Text = underwritingResult.UnderwriterInitials; txtUnderwriterInitials.Enabled = false; lblUnderwritingMessage2.Text = "The current Underwriting Process is still in progress. Please complete or cancel this process to view Underwriting History."; } else { btnAddNewUnderwriting.Enabled = false; } } } if (e.Tab.Text == "Underwriting") { pnlBasicButtons.Visible = false; pnlMessagingButtons.Visible = false; pnlUnderwritingButtons.Visible = true; pnlUserButtons.Visible = false; } else if (e.Tab.Text == "Email Messages") { pnlBasicButtons.Visible = false; pnlMessagingButtons.Visible = false; pnlUnderwritingButtons.Visible = false; pnlUserButtons.Visible = false; } else if (e.Tab.Text == "Profile") { pnlMessagingButtons.Visible = false; pnlUnderwritingButtons.Visible = false; RadTabStrip tabStripMerchantProfile = (RadTabStrip)ProfileView.FindControl("tabStripMerchantProfile"); if (tabStripMerchantProfile.SelectedTab.Text == "Status") { pnlBasicButtons.Visible = false; pnlUserButtons.Visible = false; if (editMerchant.UnderwritingStatus.StatusDescription == "Pending") { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "The Underwriting Status for this merchant is still Pending. In order to Approve this merchant, the Underwriting Status must be Approved."; } else if (editMerchant.UnderwritingStatus.StatusDescription == "Approved") { phApproveMerchant.Visible = true; phApproveDisallowed.Visible = false; lblApprovalDisallowed.Text = ""; } else if (editMerchant.UnderwritingStatus.StatusDescription == "Denied") { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "The Underwriting Status for this merchant is Denied. In order to Approve this merchant, the Underwriting Status must be Approved."; } else { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "The Underwriting Status for this merchant is Outdated. In order to Approve this merchant, please renew the Underwriting results."; } } else if (tabStripMerchantProfile.SelectedTab.Text == "Users") { pnlBasicButtons.Visible = false; pnlUserButtons.Visible = true; } else { pnlBasicButtons.Visible = true; } } else { pnlBasicButtons.Visible = true; pnlMessagingButtons.Visible = false; pnlUnderwritingButtons.Visible = false; pnlUserButtons.Visible = false; } } } catch (System.Exception ex) { _newLogic.WriteExceptionToDB(ex, "tabStripMerchantDetail_TabClick"); } }
public void CancelUnderwriting() { MerchantModel editMerchant = new MerchantModel(); UnderwritingResultModel underwritingResult = new UnderwritingResultModel(); UnderwritingResultModel oldUnderwritingResult = new UnderwritingResultModel(); LexisNexisExceptionModel lnException = new LexisNexisExceptionModel(); Int32 merchantRecordId; try { merchantRecordId = Convert.ToInt32(hMerchantRecordId.Value); using (ApplicationDbContext ctx = new ApplicationDbContext()) { editMerchant = ctx.Merchants.First(m => m.RecordId == merchantRecordId); underwritingResult = ctx.UnderwritingResults.FirstOrDefault(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true); lnException = ctx.LexisNexisExceptions.FirstOrDefault(lne => lne.UnderwritingResult.RecordId == underwritingResult.RecordId); if (lnException != null) { ctx.LexisNexisExceptions.Remove(lnException); } if (underwritingResult != null) { ctx.UnderwritingResults.Remove(underwritingResult); } ctx.SaveChanges(); if (ctx.UnderwritingResults.Any(ur => ur.Merchant.RecordId == merchantRecordId)) { oldUnderwritingResult = ctx.UnderwritingResults.Where(ur => ur.Merchant.RecordId == merchantRecordId).OrderByDescending(ur => ur.Timestamp).First(); oldUnderwritingResult.Active = true; ctx.SaveChanges(); } gridUnderwritingHistory.Rebind(); } //Reset Radio Button Fields rblUWCorpInfoVerifiedResult.SelectedValue = "0"; rblUWBusLicStatusResult.SelectedValue = "0"; rblUWEINVerifiedResult.SelectedValue = "0"; rblUWPrincipalVerifiedResult.SelectedValue = "0"; rblUWCardSalesIndicatorsVerifiedResult.SelectedValue = "0"; rblUWBankingInfoVerifiedResult.SelectedValue = "0"; rblUWMCCVerifiedResult.SelectedValue = "0"; rblUWBVIVerifiedResult.SelectedValue = "0"; rblUWTaxLiensVerifiedResult.SelectedValue = "0"; rblUWRiskIndicatorVerifiedResult.SelectedValue = "0"; //Reset Text Area Fields txtUWCorpInfoVerifiedNotes.Text = ""; txtUWBUsLicStatusVerifiedNotes.Text = ""; txtUWEINVerifiedNotes.Text = ""; txtUWPrincipalVerifiedNotes.Text = ""; txtUWCardSalesIndicatorsVerifiedNotes.Text = ""; txtUWBankingInfoVerifiedNotes.Text = ""; txtUWMCCVerifiedNotes.Text = ""; txtUWBVIVerifiedNotes.Text = ""; txtUWTaxLiensVerifiedNotes.Text = ""; txtUWRiskIndicatorVerifiedNotes.Text = ""; txtUnderwriterInitials.Text = ""; } catch (System.Exception ex) { _newLogic.WriteExceptionToDB(ex, "CancelUnderwriting"); } }
protected void StatusView_PreRender(object sender, EventArgs e) { MerchantModel editMerchant = new MerchantModel(); Int32 merchantRecordId; UnderwritingResultModel underwritingResult = new UnderwritingResultModel(); try { rptrStatusChanges.DataBind(); merchantRecordId = Convert.ToInt32(hMerchantRecordId.Value); if (lblStatusDescription.Text.ToLower() == "pre-enrolled") { phQuickActions.Visible = false; lblMerchantActionMessage.Text = "No Actions can be performed on a Pre-Enrolled merchant."; } else if (lblStatusDescription.Text.ToLower() == "enrolled") { phDenyMerchant.Visible = true; phDenyDisallowed.Visible = false; lblDenyDisallowed.Text = ""; phSuspendMerchant.Visible = false; phSuspendDisallowed.Visible = true; lblSuspendDisallowed.Text = "This merchant is still in Enrolled status. You cannot Suspend a merchant until they are Active."; phReinstateMerchant.Visible = false; phReinstateDisallowed.Visible = true; lblReinstateDisallowed.Text = "You can only Reinstate a merchant if they are in Suspended Status."; phCancelMerchant.Visible = true; phCancelDisallowed.Visible = false; lblCancelDisallowed.Text = ""; using (ApplicationDbContext ctx = new ApplicationDbContext()) { if (ctx.Merchants.Any(m => m.RecordId == merchantRecordId)) { editMerchant = ctx.Merchants.First(m => m.RecordId == merchantRecordId); if (ctx.UnderwritingResults.Any(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true)) { underwritingResult = ctx.UnderwritingResults.First(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true); if (editMerchant.UnderwritingStatus.StatusDescription == "Pending") { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "The Underwriting Status for this merchant is still Pending. In order to Approve this merchant, the Underwriting Status must be Approved."; } else if (editMerchant.UnderwritingStatus.StatusDescription == "Approved") { phApproveMerchant.Visible = true; phApproveDisallowed.Visible = false; lblApprovalDisallowed.Text = ""; } else if (editMerchant.UnderwritingStatus.StatusDescription == "Denied") { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "The Underwriting Status for this merchant is Denied. In order to Approve this merchant, the Underwriting Status must be Approved."; } else { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "The Underwriting Status for this merchant is Outdated. In order to Approve this merchant, please renew the Underwriting results."; } } else { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "This merchant has not been underwritten. In order to Approve this merchant, please Underwrite them first."; } } } } else if (lblStatusDescription.Text.ToLower() == "active") { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "This merchant is already Active."; phDenyMerchant.Visible = false; phDenyDisallowed.Visible = true; lblDenyDisallowed.Text = "This merchant is already Active. You can Suspend or Cancel them if necessary."; phSuspendMerchant.Visible = true; phSuspendDisallowed.Visible = false; lblSuspendDisallowed.Text = ""; phReinstateMerchant.Visible = false; phReinstateDisallowed.Visible = true; lblReinstateDisallowed.Text = "You can only Reinstate a merchant if they are in Suspended Status."; phCancelMerchant.Visible = true; phCancelDisallowed.Visible = false; lblCancelDisallowed.Text = ""; } else if (lblStatusDescription.Text.ToLower() == "suspended") { phApproveMerchant.Visible = false; phApproveDisallowed.Visible = true; lblApprovalDisallowed.Text = "This merchant is Suspended. To end the merchant's suspension, Reinstate them."; phDenyMerchant.Visible = false; phDenyDisallowed.Visible = true; lblDenyDisallowed.Text = "This merchant cannot be Denied. You can Cancel them if necessary."; phSuspendMerchant.Visible = false; phSuspendDisallowed.Visible = true; lblSuspendDisallowed.Text = "This merchant is already suspended."; phReinstateMerchant.Visible = true; phReinstateDisallowed.Visible = false; lblReinstateDisallowed.Text = ""; phCancelMerchant.Visible = true; phCancelDisallowed.Visible = false; lblCancelDisallowed.Text = ""; } else if (lblStatusDescription.Text.ToLower() == "cancelled") { phQuickActions.Visible = false; lblMerchantActionMessage.Text = "No Actions can be performed on a Cancelled merchant."; } else if (lblStatusDescription.Text.ToLower() == "denied") { phQuickActions.Visible = false; lblMerchantActionMessage.Text = "No Actions can be performed on a Denied merchant."; } } catch (System.Exception ex) { _newLogic.WriteExceptionToDB(ex, "StatusView_PreRender"); } }
public void BeginNewUnderwriting() { MerchantModel editMerchant = new MerchantModel(); UnderwritingResultModel underwritingResult = new UnderwritingResultModel(); UnderwritingResultModel oldUnderwritingResult = new UnderwritingResultModel(); String userId = ""; Int32 merchantRecordId; try { txtUnderwriterInitials.Enabled = false; merchantRecordId = Convert.ToInt32(hMerchantRecordId.Value); using (ApplicationDbContext ctx = new ApplicationDbContext()) { editMerchant = ctx.Merchants.First(m => m.RecordId == merchantRecordId); if (ctx.UnderwritingResults.Any(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true)) { oldUnderwritingResult = ctx.UnderwritingResults.Where(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true).First(); oldUnderwritingResult.Active = false; } underwritingResult.Brand = editMerchant.Brand; underwritingResult.Merchant = editMerchant; underwritingResult.Timestamp = DateTime.UtcNow; underwritingResult.Active = true; underwritingResult.UnderwriterInitials = txtUnderwriterInitials.Text; if (Request.IsAuthenticated) { userId = Page.User.Identity.GetUserId(); underwritingResult.UnderwriterUser = ctx.Users.First(u => u.Id == userId); } ctx.UnderwritingResults.Add(underwritingResult); ctx.SaveChanges(); } btnBeginUnderwritingUpdate.Enabled = false; pnlUnderwritingButtons.Visible = true; btnAddNewUnderwriting.Visible = false; btnUnderwritingContinue.Visible = true; btnUnderwritingCancel2.Visible = true; //Connect to LexisNexis to get automated results AutomatedUnderwriting(editMerchant.RecordId, underwritingResult.RecordId); ////Enable Radio Button Fields //rblUWCorpInfoVerifiedResult.Enabled = true; //rblUWBusLicStatusResult.Enabled = true; //rblUWEINVerifiedResult.Enabled = true; //rblUWPrincipalVerifiedResult.Enabled = true; //rblUWCardSalesIndicatorsVerifiedResult.Enabled = true; //rblUWBankingInfoVerifiedResult.Enabled = true; //rblUWMCCVerifiedResult.Enabled = true; //rblUWBVIVerifiedResult.Enabled = true; //rblUWTaxLiensVerifiedResult.Enabled = true; //rblUWRiskIndicatorVerifiedResult.Enabled = true; ////Enable Text Area Fields //txtUWCorpInfoVerifiedNotes.Enabled = true; //txtUWBUsLicStatusVerifiedNotes.Enabled = true; //txtUWEINVerifiedNotes.Enabled = true; //txtUWPrincipalVerifiedNotes.Enabled = true; //txtUWCardSalesIndicatorsVerifiedNotes.Enabled = true; //txtUWBankingInfoVerifiedNotes.Enabled = true; //txtUWMCCVerifiedNotes.Enabled = true; //txtUWBVIVerifiedNotes.Enabled = true; //txtUWTaxLiensVerifiedNotes.Enabled = true; //txtUWRiskIndicatorVerifiedNotes.Enabled = true; } catch (System.Exception ex) { _newLogic.WriteExceptionToDB(ex, "BeginUnderwriting", 0, 0, userId); } }
protected void btnUnderwritingSave_Click(object sender, EventArgs e) { MerchantModel editMerchant = new MerchantModel(); UnderwritingResultModel underwritingResult = new UnderwritingResultModel(); UnderwritingResultModel oldUnderwritingResult = new UnderwritingResultModel(); Int32 merchantRecordId; try { merchantRecordId = Convert.ToInt32(hMerchantRecordId.Value); using (ApplicationDbContext ctx = new ApplicationDbContext()) { editMerchant = ctx.Merchants.First(m => m.RecordId == merchantRecordId); underwritingResult = ctx.UnderwritingResults.Where(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true).First(); underwritingResult.CorpInfoResult = Convert.ToInt16(rblUWCorpInfoVerifiedResult.SelectedValue); underwritingResult.CorpInfoNotes = txtUWCorpInfoVerifiedNotes.Text; underwritingResult.BusLicStatusResult = Convert.ToInt16(rblUWBusLicStatusResult.SelectedValue); underwritingResult.BusLicStatusNotes = txtUWBUsLicStatusVerifiedNotes.Text; underwritingResult.EINResult = Convert.ToInt16(rblUWEINVerifiedResult.SelectedValue); underwritingResult.EINNotes = txtUWEINVerifiedNotes.Text; underwritingResult.PrincipalResult = Convert.ToInt16(rblUWPrincipalVerifiedResult.SelectedValue); underwritingResult.PrincipalNotes = txtUWPrincipalVerifiedNotes.Text; underwritingResult.CardSalesIndicatorResult = Convert.ToInt16(rblUWCardSalesIndicatorsVerifiedResult.SelectedValue); underwritingResult.CardSalesIndicatorNotes = txtUWCardSalesIndicatorsVerifiedNotes.Text; underwritingResult.BankingInfoResult = Convert.ToInt16(rblUWBankingInfoVerifiedResult.SelectedValue); underwritingResult.BankingInfoNotes = txtUWBankingInfoVerifiedNotes.Text; underwritingResult.MCCResult = Convert.ToInt16(rblUWMCCVerifiedResult.SelectedValue); underwritingResult.MCCNotes = txtUWMCCVerifiedNotes.Text; underwritingResult.BVIResult = Convert.ToInt16(rblUWBVIVerifiedResult.SelectedValue); underwritingResult.BVINotes = txtUWBVIVerifiedNotes.Text; underwritingResult.TaxLiensResult = Convert.ToInt16(rblUWTaxLiensVerifiedResult.SelectedValue); underwritingResult.TaxLiensNotes = txtUWTaxLiensVerifiedNotes.Text; underwritingResult.RiskIndicatorResult = Convert.ToInt16(rblUWRiskIndicatorVerifiedResult.SelectedValue); underwritingResult.RiskIndicatorNotes = txtUWRiskIndicatorVerifiedNotes.Text; underwritingResult.UnderwritingDecision = "Pending"; editMerchant.UnderwritingStatus = ctx.UnderwritingStatuses.First(us => us.StatusDescription == "Pending"); ctx.SaveChanges(); UpdateStatusLabel(); lblUnderwritingMessage.Text = "Underwriting results have been successfully saved."; } } catch (System.Exception ex) { lblUnderwritingMessage.Text = "Underwriting results could not be saved. Please try again or contact your system administrator."; _newLogic.WriteExceptionToDB(ex, "btnUnderwritingSave_Click"); } }
protected void btnUnderwritingContinue_Click(object sender, EventArgs e) { pnlUnderwritingHistory.Visible = false; pnlNewUnderwriting.Visible = false; pnlNewUnderwriting2.Visible = true; pnlUnderwritingButtons.Visible = false; pnlUnderwritingAdvancedButtons.Visible = true; btnUnderwritingComplete.Visible = true; btnUnderwritingSave.Visible = true; btnUnderwritingCancel.Visible = true; MerchantModel editMerchant = new MerchantModel(); UnderwritingResultModel underwritingResult = new UnderwritingResultModel(); UnderwritingResultModel oldUnderwritingResult = new UnderwritingResultModel(); Int32 merchantRecordId; try { merchantRecordId = Convert.ToInt32(hMerchantRecordId.Value); using (ApplicationDbContext ctx = new ApplicationDbContext()) { editMerchant = ctx.Merchants.First(m => m.RecordId == merchantRecordId); var underwritingSchema = editMerchant.AdvancePlan.UnderwritingSchema; underwritingResult = ctx.UnderwritingResults.FirstOrDefault(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true); if (underwritingResult != null) { if (underwritingResult.LexisNexisResults != null) { if (underwritingResult.LexisNexisResults.MccMatch != null) { if (underwritingResult.LexisNexisResults.MccMatch == true) { txtUWMCCVerifiedNotes.Text = "Match and Approved"; rblUWMCCVerifiedResult.SelectedValue = "1"; } else if (underwritingResult.LexisNexisResults.MccMatch == false) { txtUWMCCVerifiedNotes.Text = "Mismatch"; rblUWMCCVerifiedResult.SelectedValue = "2"; rblUWMCCVerifiedResult.Enabled = false; } else { txtUWMCCVerifiedNotes.Text = ""; rblUWMCCVerifiedResult.SelectedValue = "0"; } } if (underwritingResult.LexisNexisResults.OFAC != null) { if (underwritingResult.LexisNexisResults.OFAC == false) { rblUWOFACMatchVerifiedResult.SelectedValue = "1"; txtUWOFACMatchVerifiedNotes.Text = "No OFAC Match Found"; } else { if (underwritingSchema.OFACDecline == true) { rblUWOFACMatchVerifiedResult.SelectedValue = "2"; txtUWOFACMatchVerifiedNotes.Text = "Match Found | " + underwritingResult.LexisNexisResults.OFACMatchData; rblUWOFACMatchVerifiedResult.Enabled = false; } else { rblUWOFACMatchVerifiedResult.SelectedValue = "1"; txtUWOFACMatchVerifiedNotes.Text = "Match Found, but Allowed | " + underwritingResult.LexisNexisResults.OFACMatchData; } } } if (underwritingResult.LexisNexisResults.BVI != null) { if (underwritingResult.LexisNexisResults.BVI < underwritingSchema.BVIDeclineLimit) { txtUWBVIVerifiedNotes.Text = "Fail: " + underwritingResult.LexisNexisResults.BVI + " < " + underwritingSchema.BVIDeclineLimit; rblUWBVIVerifiedResult.SelectedValue = "2"; rblUWBVIVerifiedResult.Enabled = false; } else if (underwritingResult.LexisNexisResults.BVI == underwritingSchema.BVIReviewLimit) { txtUWBVIVerifiedNotes.Text = "Manual Approval Required: " + underwritingResult.LexisNexisResults.BVI + " = " + underwritingSchema.BVIReviewLimit; rblUWBVIVerifiedResult.SelectedValue = "0"; } else { txtUWBVIVerifiedNotes.Text = "Pass: "******" > " + underwritingSchema.BVIReviewLimit; rblUWBVIVerifiedResult.SelectedValue = "1"; } } if (underwritingResult.LexisNexisResults.RecentLienType != null) { if (underwritingResult.LexisNexisResults.RecentLienType.TypeName.ToLower().Contains("tax")) { if (underwritingSchema.DeclineOnTaxLien) { txtUWTaxLiensVerifiedNotes.Text = "Fail: " + underwritingResult.LexisNexisResults.RecentLienType.TypeName; rblUWTaxLiensVerifiedResult.SelectedValue = "2"; rblUWTaxLiensVerifiedResult.Enabled = false; } else { txtUWTaxLiensVerifiedNotes.Text = "Tax Lien Found, but Allowed: " + underwritingResult.LexisNexisResults.RecentLienType.TypeName; rblUWTaxLiensVerifiedResult.SelectedValue = "1"; } } } else { txtUWTaxLiensVerifiedNotes.Text = "No Tax Liens"; rblUWTaxLiensVerifiedResult.SelectedValue = "1"; } if (ctx.LexisNexisRiskCodeResults.Any(lnrcr => lnrcr.LexisNexisUnderwritingResult.RecordId == underwritingResult.LexisNexisResults.RecordId)) { String riskCodeList = ""; var riskCodes = ctx.LexisNexisRiskCodeResults.Where(lnrcr => lnrcr.LexisNexisUnderwritingResult.RecordId == underwritingResult.LexisNexisResults.RecordId); foreach (var code in riskCodes) { if (underwritingSchema.LexisNexisApprovedRiskCodes.Any(x => x.Decline && x.RiskCode.RecordId == code.RiskCode.RecordId)) { riskCodeList += "Decline: " + code.RiskCode.RiskCodeDescription + " || "; } else if (underwritingSchema.LexisNexisApprovedRiskCodes.Any(x => x.ReqeustVerification && x.RiskCode.RecordId == code.RiskCode.RecordId)) { riskCodeList += "Manual Verification: " + code.RiskCode.RiskCodeDescription + " || "; } else { riskCodeList += "Found, but Allowed: " + code.RiskCode.RiskCodeDescription + " || "; } } txtUWRiskIndicatorVerifiedNotes.Text = riskCodeList.Substring(0, riskCodeList.Length - 4); if (riskCodeList.Contains("Decline:")) { rblUWRiskIndicatorVerifiedResult.SelectedValue = "2"; rblUWRiskIndicatorVerifiedResult.Enabled = false; } else if (riskCodeList.Contains("Manual Verification:")) { rblUWRiskIndicatorVerifiedResult.SelectedValue = "0"; } else { rblUWRiskIndicatorVerifiedResult.SelectedValue = "1"; } } } } } txtUWCorpInfoVerifiedNotes.Text = ""; txtUWBUsLicStatusVerifiedNotes.Text = ""; txtUWEINVerifiedNotes.Text = ""; txtUWPrincipalVerifiedNotes.Text = ""; txtUWCardSalesIndicatorsVerifiedNotes.Text = ""; txtUWBankingInfoVerifiedNotes.Text = ""; rblUWCorpInfoVerifiedResult.SelectedValue = "0"; rblUWBusLicStatusResult.SelectedValue = "0"; rblUWEINVerifiedResult.SelectedValue = "0"; rblUWPrincipalVerifiedResult.SelectedValue = "0"; rblUWCardSalesIndicatorsVerifiedResult.SelectedValue = "0"; rblUWBankingInfoVerifiedResult.SelectedValue = "0"; } catch (System.Exception ex) { _newLogic.WriteExceptionToDB(ex, "btnUnderwritingContinue_Click"); } }
protected void btnUnderwritingComplete_Click(object sender, EventArgs e) { MerchantModel editMerchant = new MerchantModel(); UnderwritingResultModel underwritingResult = new UnderwritingResultModel(); UnderwritingResultModel oldUnderwritingResult = new UnderwritingResultModel(); Int32 merchantRecordId; String adminId; try { merchantRecordId = Convert.ToInt32(hMerchantRecordId.Value); adminId = Context.User.Identity.GetUserId(); using (ApplicationDbContext ctx = new ApplicationDbContext()) { editMerchant = ctx.Merchants.First(m => m.RecordId == merchantRecordId); underwritingResult = ctx.UnderwritingResults.Where(ur => ur.Merchant.RecordId == merchantRecordId && ur.Active == true).First(); underwritingResult.CorpInfoResult = Convert.ToInt16(rblUWCorpInfoVerifiedResult.SelectedValue); underwritingResult.CorpInfoNotes = txtUWCorpInfoVerifiedNotes.Text; underwritingResult.BusLicStatusResult = Convert.ToInt16(rblUWBusLicStatusResult.SelectedValue); underwritingResult.BusLicStatusNotes = txtUWBUsLicStatusVerifiedNotes.Text; underwritingResult.EINResult = Convert.ToInt16(rblUWEINVerifiedResult.SelectedValue); underwritingResult.EINNotes = txtUWEINVerifiedNotes.Text; underwritingResult.PrincipalResult = Convert.ToInt16(rblUWPrincipalVerifiedResult.SelectedValue); underwritingResult.PrincipalNotes = txtUWPrincipalVerifiedNotes.Text; underwritingResult.CardSalesIndicatorResult = Convert.ToInt16(rblUWCardSalesIndicatorsVerifiedResult.SelectedValue); underwritingResult.CardSalesIndicatorNotes = txtUWCardSalesIndicatorsVerifiedNotes.Text; underwritingResult.BankingInfoResult = Convert.ToInt16(rblUWBankingInfoVerifiedResult.SelectedValue); underwritingResult.BankingInfoNotes = txtUWBankingInfoVerifiedNotes.Text; underwritingResult.MCCResult = Convert.ToInt16(rblUWMCCVerifiedResult.SelectedValue); underwritingResult.MCCNotes = txtUWMCCVerifiedNotes.Text; underwritingResult.BVIResult = Convert.ToInt16(rblUWBVIVerifiedResult.SelectedValue); underwritingResult.BVINotes = txtUWBVIVerifiedNotes.Text; underwritingResult.TaxLiensResult = Convert.ToInt16(rblUWTaxLiensVerifiedResult.SelectedValue); underwritingResult.TaxLiensNotes = txtUWTaxLiensVerifiedNotes.Text; underwritingResult.RiskIndicatorResult = Convert.ToInt16(rblUWRiskIndicatorVerifiedResult.SelectedValue); underwritingResult.RiskIndicatorNotes = txtUWRiskIndicatorVerifiedNotes.Text; underwritingResult.OFACMatchResult = Convert.ToInt16(rblUWOFACMatchVerifiedResult.SelectedValue); underwritingResult.OFACMatchNotes = txtUWOFACMatchVerifiedNotes.Text; if (underwritingResult.CorpInfoResult == 1 && underwritingResult.BusLicStatusResult == 1 && underwritingResult.EINResult == 1 && underwritingResult.PrincipalResult == 1 && underwritingResult.CardSalesIndicatorResult == 1 && underwritingResult.BankingInfoResult == 1 && underwritingResult.MCCResult == 1 && underwritingResult.BVIResult == 1 && underwritingResult.TaxLiensResult == 1 && underwritingResult.RiskIndicatorResult == 1 && underwritingResult.OFACMatchResult == 1 ) { underwritingResult.UnderwritingDecision = "Pass"; editMerchant.UnderwritingStatus = ctx.UnderwritingStatuses.First(us => us.StatusDescription == "Approved"); } else { underwritingResult.UnderwritingDecision = "Fail"; editMerchant.UnderwritingStatus = ctx.UnderwritingStatuses.First(us => us.StatusDescription == "Denied"); if (editMerchant.MerchantStatus.StatusDescription == "Enrolled") { editMerchant.MerchantStatus = ctx.MerchantStatuses.First(ms => ms.StatusDescription == "Denied"); editMerchant.DenialNotes = "Underwriting Decline. See Underwriting Results for more information."; editMerchant.DeniedBy = ctx.Users.First(u => u.Id == adminId); editMerchant.DeniedDate = DateTime.UtcNow; editMerchant.ApprovedAdvanceAmount = 0; editMerchant.AvailableAdvanceAmount = 0; //Send Email Logic.Messaging messaging = new Logic.Messaging(); Boolean emailSent = false; var template = messaging.GetTemplate("DeniedEnrollment"); if (template != null) { String html = messaging.GetTemplateHtml(template); foreach (EmailTemplateVariableModel variable in messaging.GetRequiredVariables(template)) { if (editMerchant.MerchantPrincipal != null && editMerchant.MerchantPrincipal.Contact != null) { if (variable.VariableName == "MERCHANT_FIRST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.FirstName); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.FirstName); } if (variable.VariableName == "MERCHANT_LAST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.LastName); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.LastName); } } else { if (variable.VariableName == "MERCHANT_FIRST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_LAST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } } if (variable.VariableName == "MERCHANT_NAME") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.CorpName); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.CorpName); } if (editMerchant.Business.Address != null) { if (variable.VariableName == "MERCHANT_ADDRESS") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Address ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Address ?? ""); } if (variable.VariableName == "MERCHANT_CITY") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.City ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.City ?? ""); } if (variable.VariableName == "MERCHANT_ZIP") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Zip ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Zip ?? ""); } if (editMerchant.Business.Address.State != null) { if (variable.VariableName == "MERCHANT_STATE") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.State.Name ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.State.Name ?? ""); } } else { if (variable.VariableName == "MERCHANT_STATE") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } } } else { if (variable.VariableName == "MERCHANT_ADDRESS") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_CITY") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_STATE") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_ZIP") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } } if (variable.VariableName == "DENY_NOTES") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.DenialNotes); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.DenialNotes); } } if (ctx.Users.Any(u => u.Merchant.RecordId == editMerchant.RecordId)) { IQueryable<ApplicationUser> userList = ctx.Users.Where(u => u.Merchant.RecordId == editMerchant.RecordId); if (userList != null) { foreach (ApplicationUser thisUser in userList) { if (html != null) { emailSent = messaging.SendEmail(thisUser.Email, template.EmailSubject, html, template, editMerchant, thisUser); } } } } } } else { editMerchant.MerchantStatus = ctx.MerchantStatuses.First(ms => ms.StatusDescription == "Suspended"); MerchantSuspensionModel suspension = new MerchantSuspensionModel(); suspension.Merchant = ctx.Merchants.First(m => m.RecordId == editMerchant.RecordId); suspension.OtherReasonNotes = "Failed Underwriting. See Undewriting Results for more information."; suspension.SuspendedBy = ctx.Users.First(u => u.Id == adminId); suspension.SuspensionReason = ctx.MerchantSuspensionReasons.First(msr => msr.ReasonName == "Failed Underwriting Result"); suspension.Timestamp = DateTime.UtcNow; ctx.MerchantSuspensions.Add(suspension); //Send Email Logic.Messaging messaging = new Logic.Messaging(); Boolean emailSent = false; var template = messaging.GetTemplate("MerchantSuspended"); String suspendNotes = "Failed Underwriting. Contact Customer Service for more information."; if (template != null) { String html = messaging.GetTemplateHtml(template); foreach (EmailTemplateVariableModel variable in messaging.GetRequiredVariables(template)) { if (editMerchant.MerchantPrincipal != null && editMerchant.MerchantPrincipal.Contact != null) { if (variable.VariableName == "MERCHANT_FIRST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.FirstName); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.FirstName); } if (variable.VariableName == "MERCHANT_LAST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.LastName); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.MerchantPrincipal.Contact.LastName); } } else { if (variable.VariableName == "MERCHANT_FIRST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_LAST_NAME") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } } if (variable.VariableName == "MERCHANT_NAME") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.CorpName); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.CorpName); } if (editMerchant.Business.Address != null) { if (variable.VariableName == "MERCHANT_ADDRESS") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Address ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Address ?? ""); } if (variable.VariableName == "MERCHANT_CITY") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.City ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.City ?? ""); } if (variable.VariableName == "MERCHANT_ZIP") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Zip ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.Zip ?? ""); } if (editMerchant.Business.Address.State != null) { if (variable.VariableName == "MERCHANT_STATE") { html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.State.Name ?? ""); html = html.Replace("<$" + variable.VariableName + ">", editMerchant.Business.Address.State.Name ?? ""); } } else { if (variable.VariableName == "MERCHANT_STATE") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } } } else { if (variable.VariableName == "MERCHANT_ADDRESS") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_CITY") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_STATE") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } if (variable.VariableName == "MERCHANT_ZIP") { html = html.Replace("<$" + variable.VariableName + ">", ""); html = html.Replace("<$" + variable.VariableName + ">", ""); } } if (variable.VariableName == "SUSPEND_NOTES") { html = html.Replace("<$" + variable.VariableName + ">", suspendNotes); html = html.Replace("<$" + variable.VariableName + ">", suspendNotes); } } if (ctx.Users.Any(u => u.Merchant.RecordId == editMerchant.RecordId)) { IQueryable<ApplicationUser> userList = ctx.Users.Where(u => u.Merchant.RecordId == editMerchant.RecordId); if (userList != null) { foreach (ApplicationUser thisUser in userList) { if (html != null) { emailSent = messaging.SendEmail(thisUser.Email, template.EmailSubject, html, template, editMerchant, thisUser); } } } } } } ctx.SaveChanges(); } ctx.SaveChanges(); UpdateStatusLabel(); gridUnderwritingHistory.Rebind(); } pnlNewUnderwriting.Visible = false; pnlNewUnderwriting2.Visible = false; pnlUnderwritingHistory.Visible = true; pnlUnderwritingButtons.Visible = true; pnlUnderwritingAdvancedButtons.Visible = false; btnUnderwritingCancel.Visible = false; btnUnderwritingCancel2.Visible = false; btnUnderwritingTryAgain.Visible = false; btnUnderwritingComplete.Visible = false; btnUnderwritingSave.Visible = false; btnAddNewUnderwriting.Visible = true; btnUnderwritingContinue.Visible = false; } catch (System.Exception ex) { _newLogic.WriteExceptionToDB(ex, "btnUnderwritingComplete_Click"); } }