/* * ValidMüsNo * InvalidMüsNo * KartonInfo * OdemePlanıAccapted * OdemePlanıDeclined * ValidTaksit * InvalidTaksit * ValidStartDate * InvalidStartDate * PaymentAccapted * paymentDeclined * * * */ // GET: Default //public testData programming = new testData(); public void initVal() { if (TempData.Peek("Chat") == null) { chat.botCorrectPath = new Dictionary <string, string>(); chat.botFalsePath = new Dictionary <string, string>(); chat.usersChat = new Dictionary <string, string>(); //chat.botCorrectPath.Add("ValidMüsNo", "Merhaba Özgür Can Erdoğan, karton bilgileriniz size gösterilecektir. Ödeme planı yapmak ister misiniz?"); chat.botCorrectPath.Add("InvalidMüsNo", "Girdiğiniz verilerle ilgili bir hesap bulunamadı. Bilgilerinizi kontrol edip tekrar giriniz."); chat.botCorrectPath.Add("GetMonth", "Kaç ayda ödemek istersiniz?"); chat.botCorrectPath.Add("GetMonthAgain", "Cevabınızı anlayamadım. Cevap olarak Evet ya da Hayır giriniz."); chat.botCorrectPath.Add("GetStartDate", "Ödemeye ne zaman başlayacağınızı belirtiniz. (dd.MM.yyyy formatında olmalı)"); chat.botCorrectPath.Add("GetStartDateAgain", "Girdiğiniz veriyi kontrol edin. (dd.MM.yyyy formatında olmalı)"); chat.botCorrectPath.Add("GetStartDateAgainFurther", "Girdiğiniz tarih bugünden ileri tarihli olmalı, lütfen tekrar giriniz."); chat.botCorrectPath.Add("GetInstallmentAgain", "Girdiğinizi anlayamadım. Sadece sayı giriniz."); chat.botCorrectPath.Add("CalculatePlanAgain", "Cevabınızı anlayamadım. Cevap olarak Evet ya da Hayır giriniz."); chat.botCorrectPath.Add("CalculatePlan", "Talebiniz doğrultusunda ödeme planı taslağınız tablodaki gibi oluşturulmuştur. Borcunuzu bu şekilde yapılandırmayı kabul ediyor musunuz?"); } if (TempData.Peek("DatabaseConnection") == null) { conn = new OracleDatabaseAccess(); } if (TempData["CustomerObj"] == null) { customer = new CustomerData(); customer.ACCOUNTS = new List <Account>(); customer.PLAN = new PaymentPlan(); } if (TempData.Peek("StateOfChat") == null) { StateOfChat = "GetMüsNo"; } }
public JsonResult Ajax(string AJAXParameter1) { chat = (ChatModel)TempData["Chat"]; string result = "OK"; customer = (CustomerData)TempData["CustomerObj"]; //customer.ACCOUNTS = (List<Account>)TempData["AccountObj"]; //customer.PLAN = (PaymentPlan)TempData.Peek("PaymentObj"); //customer.PLAN.TAKSIT_SAYISI = 8; JsonSendTable tableInfo = new JsonSendTable(); JsonSendTable paymentPlanTable = new JsonSendTable(); AJAXParameter1 = AJAXParameter1.Trim(); StateOfChat = (string)TempData["StateOfChat"]; conn = (OracleDatabaseAccess)TempData["DatabaseConnection"]; if (TempData["StateOfChat"].Equals("GetMüsNo") || TempData["StateOfChat"].Equals("InvalidMüsNo")) { if (IsAllDigits(AJAXParameter1) && !String.IsNullOrEmpty(AJAXParameter1)) { customer = conn.GetCustomerInfo(Int32.Parse(AJAXParameter1)); if (customer.MUSTERI_NO != 0) { customer.ACCOUNTS = conn.GetCustomerAccounts(customer.MUSTERI_NO); chat.usersChat.Add("GetMüsNo", AJAXParameter1); StateOfChat = "ValidMüsNo"; TempData["StateOfChat"] = StateOfChat; chat.botCorrectPath.Add("ValidMüsNo", "Merhaba " + customer.MUSTERI_ADI + ", karton bilgileriniz size gösterilecektir."); if (customer.ACCOUNTS.Count > 0) { result = "Table"; tableInfo.message = chat.botCorrectPath[StateOfChat]; decimal total = customer.ACCOUNTS[0].BAKIYE; tableInfo.tableData = "<tr>" + "<td>" + customer.ACCOUNTS[0].KARTON_KODU + "</td>" + "<td>" + customer.ACCOUNTS[0].BAKIYE + "</td>" + "</tr>"; for (int i = 1; i < customer.ACCOUNTS.Count; i++) { total += customer.ACCOUNTS[i].BAKIYE; tableInfo.tableData += "<tr>" + "<td>" + customer.ACCOUNTS[i].KARTON_KODU + "</td>" + "<td>" + customer.ACCOUNTS[i].BAKIYE + "</td>" + "</tr>"; } customer.PLAN = new PaymentPlan(); tableInfo.total = total; customer.PLAN.PLAN_ONCESI_BAKIYE = total; customer.PLAN.TOA_DURUM_KODU = '1'; } else { StateOfChat = "NoDebt"; TempData["StateOfChat"] = StateOfChat; chat.botCorrectPath.Add("NoDebt", "Merhaba " + customer.MUSTERI_ADI + ". Aktif borcunuz bulunmuyor. Sistemden çıkış yapabilirsiniz"); result = "Finished"; //Borç un olmadğı state } } else { StateOfChat = "InvalidMüsNo"; TempData["StateOfChat"] = StateOfChat; result = "OK"; } } else { StateOfChat = "InvalidMüsNo"; TempData["StateOfChat"] = StateOfChat; result = "OK"; } } else if (TempData["StateOfChat"].Equals("ValidMüsNo") || TempData["StateOfChat"].Equals("GetMonthAgain")) { string tempComp = AJAXParameter1.ToLower(); if (tempComp.Equals("evet") && String.IsNullOrEmpty(AJAXParameter1) == false) { chat.usersChat.Add("GetAnsPaymentPlan", AJAXParameter1); //StateOfChat = "FillTable"; StateOfChat = "GetMonth"; TempData["StateOfChat"] = StateOfChat; result = "OK"; } else if (tempComp.Equals("hayır") || tempComp.Equals("hayir") && !String.IsNullOrEmpty(AJAXParameter1)) { chat.usersChat.Add("GetAnsPaymentPlan", AJAXParameter1); chat.botCorrectPath.Add("DeclinedPlan", customer.MUSTERI_ADI + ", borcunuz ay sonu itibariyle " + TotalDebt(customer) + " TL olacaktır. Borcunuza temerrüt faizi her gün işlenmektedir. Banka icra yoluna gidebilir"); StateOfChat = "DeclinedPlan"; TempData["StateOfChat"] = StateOfChat; result = "Done"; } else { StateOfChat = "GetMonthAgain"; TempData["StateOfChat"] = StateOfChat; } } else if (TempData["StateOfChat"].Equals("GetMonth") || TempData["StateOfChat"].Equals("GetInstallmentAgain")) { if (IsAllDigits(AJAXParameter1) && !String.IsNullOrEmpty(AJAXParameter1)) { chat.usersChat.Add("GetMonth", AJAXParameter1); StateOfChat = "GetStartDate"; TempData["StateOfChat"] = StateOfChat; result = "OK"; customer.PLAN.TAKSIT_SAYISI = Int32.Parse(AJAXParameter1); } else { StateOfChat = "GetInstallmentAgain"; TempData["StateOfChat"] = StateOfChat; result = "OK"; } } else if (TempData["StateOfChat"].Equals("GetStartDate") || TempData["StateOfChat"].Equals("GetStartDateAgain") || TempData["StateOfChat"].Equals("GetStartDateAgainFurther")) { DateTime dateData = new DateTime(); if (GetDate(AJAXParameter1, ref dateData) && !String.IsNullOrEmpty(AJAXParameter1)) { if (dateData > DateTime.Today) { chat.usersChat.Add("GetStartDate", AJAXParameter1); StateOfChat = "CalculatePlan"; Session["StateOfChat"] = StateOfChat; result = "PaymentTable"; int month = Int32.Parse(chat.usersChat["GetMonth"]); List <DateTime> dates = new List <DateTime>(); dates = FillDateData(dateData, month); customer.PLAN.BASLANGIC_TARIHI = dates[0]; customer.PLAN.BITIS_TARIHI = dates[dates.Count - 1]; decimal totalDebt = TotalDebt(customer); decimal monthlyPayment = Installment(totalDebt, month, dateData); customer.PLAN.FAIZ_ORANI = GetInterest(month, dateData); customer.PLAN.TAKSIT_TUTARI = Math.Round(monthlyPayment, 2); for (int i = 0; i < dates.Count; i++) { tableInfo.tableData += "<tr>" + "<td>" + dates[i] + " TL</td>" + "<td>" + Math.Round(monthlyPayment, 2) + "</td>" + "</tr>"; } tableInfo.total = Math.Round(CalculatedDebt(totalDebt, dateData), 2); customer.PLAN.PLAN_SONRASI_BAKIYE = tableInfo.total; tableInfo.message = chat.botCorrectPath[StateOfChat]; } else { StateOfChat = "GetStartDateAgainFurther"; Session["StateOfChat"] = StateOfChat; result = "OK"; } } else { StateOfChat = "GetStartDateAgain"; Session["StateOfChat"] = StateOfChat; result = "OK"; } } else if (TempData["StateOfChat"].Equals("CalculatePlan") || TempData["StateOfChat"].Equals("CalculatePlanAgain")) { string tempComp = AJAXParameter1.ToLower(); if (tempComp.Equals("evet") && String.IsNullOrEmpty(AJAXParameter1) == false) { chat.usersChat.Add("CalculatePlanAns", AJAXParameter1); //StateOfChat = "FillTable"; StateOfChat = "CreatePaymentPlan"; TempData["StateOfChat"] = StateOfChat; result = "Done"; customer.PLAN.KREDI_YAPILANDIRILMASI = true; string paymentApplication = conn.AddPaymentPlan(customer); chat.botCorrectPath.Add("CreatePaymentPlan", paymentApplication); } else if (tempComp.Equals("hayır") || tempComp.Equals("hayir") && !String.IsNullOrEmpty(AJAXParameter1)) { chat.usersChat.Add("CalculatePlanAns", AJAXParameter1); chat.botCorrectPath.Add("DeclinedPlan2", customer.MUSTERI_ADI + ", borcunuz ay sonu itibariyle " + TotalDebt(customer) + " TL olacaktır. Borcunuza temerrüt faizi her gün işlenmektedir. Banka icra yoluna gidebilir"); StateOfChat = "DeclinedPlan2"; TempData["StateOfChat"] = StateOfChat; result = "Done"; customer.PLAN.KREDI_YAPILANDIRILMASI = false; } else { StateOfChat = "CalculatePlanAgain"; TempData["StateOfChat"] = StateOfChat; } } //else //{ // //StateOfChat = "NoAction"; // //TempData["StateOfChat"] = StateOfChat; // //chat.botCorrectPath.Add("NoAction", "Sistemden çıkış yapabilirsiniz"); // //Button u disable et //} List <string> data = new List <string>(); data.Add("AJAXParameter1=" + AJAXParameter1); TempData["Chat"] = chat; TempData["CustomerObj"] = customer; TempData["AccountObj"] = customer; TempData["PaymentObj"] = customer; TempData["DatabaseConnection"] = conn; TempData["StateOfChat"] = StateOfChat; string chatVal = chat.botCorrectPath[StateOfChat]; if (result.Equals("Table") || result.Equals("PaymentTable")) { return(Json(new { tableInfo, result })); } return(Json(new { chatVal, result })); }