using System; using CoreSavingLibrary; using System.Collections; using System.Configuration; using System.Data; using DataLibrary; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using CoreSavingLibrary.WcfNCommon; using System.Globalization; namespace Saving.Applications.shrlon.dlg { public partial class w_dlg_sl_detail_contract : System.Web.UI.Page { private WebState state; private DwTrans sqlca; private String lcontno = ""; protected void Page_Load(object sender, EventArgs e) { state = new WebState(Session, Request); sqlca = new DwTrans(); sqlca.Connect(); dw_main.SetTransaction(sqlca); dw_data_1.SetTransaction(sqlca); dw_data_2.SetTransaction(sqlca); dw_data_3.SetTransaction(sqlca); dw_data_4.SetTransaction(sqlca); dw_data_5.SetTransaction(sqlca); try { lcontno = Request["lcontno"]; //this.lcontno = Session["sslncontno"].ToString(); } catch { } if (lcontno != null && lcontno != "") { dw_main.Retrieve(lcontno); try { dw_data_1.Retrieve(lcontno); } catch { } dw_data_2.Retrieve(lcontno,state.SsCoopControl); dw_data_3.Retrieve(lcontno); dw_data_4.InsertRow(0); dw_data_4.Retrieve(lcontno,state.SsCoopId); if (state.SsCoopControl != "000101") { dw_data_5.Retrieve(lcontno, state.SsCoopId); } CultureInfo th = System.Globalization.CultureInfo.GetCultureInfo("th-TH"); string sql = "select startcont_date,loanapprove_date,expirecont_date,lastaccess_date,lastcalint_date,lastpayment_date,compound_date from lncontmaster where loancontract_no='" + lcontno + "'"; sql = WebUtil.SQLFormat(sql); Sdt dt = WebUtil.QuerySdt(sql); try { if (dt.Next()) { DateTime startcont_tdate = dt.GetDate("startcont_date"); dw_data_1.SetItemString(1, "startcont_tdate", (startcont_tdate).ToString("dd/MM/yyyy", th)); dw_data_1.SetItemString(1, "loanapprove_tdate", (dt.GetDate("loanapprove_date")).ToString("dd/MM/yyyy", th)); dw_data_1.SetItemString(1, "expirecont_tdate", (dt.GetDate("expirecont_date")).ToString("dd/MM/yyyy", th)); dw_data_1.SetItemString(1, "lastaccess_tdate", (dt.GetDate("lastaccess_date")).ToString("dd/MM/yyyy", th)); dw_data_1.SetItemString(1, "lastcalint_tdate", (dt.GetDate("lastcalint_date")).ToString("dd/MM/yyyy", th)); dw_data_1.SetItemString(1, "lastpayment_tdate", (dt.GetDate("lastpayment_date")).ToString("dd/MM/yyyy", th)); dw_data_1.SetItemString(1, "compound_tdate", (dt.GetDate("compound_date")).ToString("dd/MM/yyyy", th)); } } catch { } Double cal_int = 0; //ผลลัพธ์ Double cal_fineall = 0; DateTime date_now = state.SsWorkDate; string sql21 = @" select lastcalfine_date,principal_arrear,expireperiod_date,lastcalfine_date from lncontperiodpaydet where loancontract_no= {0} and principal_arrear > 0 and expireperiod_date < {1} order by period asc "; sql21 = WebUtil.SQLFormat(sql21, lcontno, state.SsWorkDate); Sdt dt21 = WebUtil.QuerySdt(sql21); while (dt21.Next()) { TimeSpan diff1 = date_now.Subtract(dt21.GetDate("expireperiod_date")); //ตรวจสอบ ว่า จ่ายเลยกำหนด Double TotalDay2 = diff1.TotalDays; if (TotalDay2 < 0) { cal_int = 0; } else { Double percen =Convert.ToDouble( dw_data_1.GetItemDecimal(1, "usemangrt_comaxvalue")); TimeSpan diff2 = date_now.Subtract(dt21.GetDate("lastcalfine_date")); //ตรวจสอบ ว่า จ่ายเลยกำหนด Double TotalDay3 = diff2.TotalDays; int CalDay = Convert.ToInt32(TotalDay3); // คำนวณวัน //Hart Code รอแก้ไข cal_int = (dt21.GetDouble("principal_arrear") * percen * CalDay) / 365; // ค่าปรับใหม่ } cal_fineall += cal_int; } int calfine2 = Convert.ToInt32(cal_fineall); double calfine2_dec = Convert.ToDouble(calfine2); double cal_sum = cal_fineall - calfine2_dec; if (cal_sum > 0) //ปัดทศนิยม { calfine2 = calfine2 + 1; } if (calfine2 < 0) { calfine2 = 0; } dw_data_1.SetItemDecimal(1, "fine_return", calfine2); string sql2 = "select period,expireperiod_date,NVL(lastcalfine_date,'') as lastcalfine from lncontperiodpaydet where loancontract_no='" + lcontno + "' order by period asc"; sql2 = WebUtil.SQLFormat(sql2); Sdt dt2 = WebUtil.QuerySdt(sql2); int i = 1; while (dt2.Next()) { dw_data_4.SetItemString(i, "expireperiod_tdate", (dt2.GetDate("expireperiod_date")).ToString("dd/MM/yyyy", th)); // dw_data_4.SetItemString(i, "lastcalfine_tdate", (dt2.GetDate("lastcalfine")).ToString("dd/MM/yyyy", th)); i++; } } } protected void Page_LoadComplete(object sender, EventArgs e) { sqlca.Disconnect(); } } }