예제 #1
0
        // POST: /Contract/PostAddDiscount
        public JsonResult PostAddDiscount(DailyReceiptsReport item)
        {
            try
            {
                if (Session["iuser"] == null)
                {
                    throw new Exception(" Session หมดอายุ , กรุณาเข้าสู่ระบบใหม่อีกครั้ง !! ");
                }

                item.StaffID = (Int32)Session["iuser"];

                ContractData data = new ContractData();
                data.AddDiscount(item);


                return(Json(new
                {
                    data = "บันทึกรายการสำเร็จ",
                    success = true
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    success = false,
                    data = ex.Message
                }, JsonRequestBehavior.AllowGet));
            }
        }
        [HttpPost] // Post: /ManagePayment/PostPaymentDailyReceipts
        public JsonResult PostPaymentDailyReceipts(DailyReceiptsReport item)
        {
            try
            {
                List <DailyReceiptsReport> listData = new List <DailyReceiptsReport>();
                CustomersData data = new CustomersData();
                data.PaymentDailyReceipts(item);


                return(Json(new
                {
                    data = "บันทึกรายการสำเร็จ",
                    success = true
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    success = false,
                    data = ex.Message
                }, JsonRequestBehavior.AllowGet));
            }
        }
 public void AddDailyReceipts(DailyReceiptsReport item)
 {
 }
        public void PaymentDailyReceipts2(DailyReceiptsReport item)
        {
            if (item.PriceReceipts <= 0)
            {
                throw new Exception("จำนวนเงินต้องมากว่า 0 บาท");
            }

            string           StrSql = string.Empty;
            ContractData     ct     = new ContractData();
            IList <Contract> list   = new List <Contract>();

            list = ct.GetContract(item.CustomerID, item.ContractID);
            Contract contract = new Contract();

            contract = list.FirstOrDefault();


            //get วันที่จ่ายล่าสุด
            ReportData data = new ReportData();
            IList <LastTransaction> listData1 = new List <LastTransaction>();

            listData1 = data.GetTransaction(item.StaffID.ToString(), item.CustomerID.ToString(), item.ContractID.ToString());
            listData1 = listData1.OrderByDescending(c => c.DateAsOf).ToArray();

            MySqlConnection ObjConn = DBHelper.ConnectDb(ref errMsg);

            try
            {
                DateTime LastDate = listData1.FirstOrDefault().DateAsOf; //วันที่จ่านล่าสุด
                decimal  LastPay  = listData1.FirstOrDefault().Amount;   //วันที่จ่านล่าสุด

                decimal totalsales = contract.ContractPayment;           // ยอดเงินทั้งหมด
                decimal rate       = contract.ContractInterest;          //ดอกเบี้ย
                decimal amount     = contract.ContractAmount;            //จำนวนที่จ่ายรายวัน
                decimal interest   = item.PriceReceipts * (rate / 100);  //ดอกเบี้ย
                decimal Priciple   = item.PriceReceipts - interest;      // เงินต้น


                if (item.PriceReceipts <= amount)   // จ่ายพอดี
                {
                    item.ID = Utility.GetMaxID("daily_receipts", "ID");
                    StrSql  = @" INSERT INTO daily_receipts(ID,CustomerID,ContractID,DateAsOf,
            TotalSales,PriceReceipts,Principle,Interest,StaffID,Latitude,Longitude,Activated,Deleted)
            VALUES("

                              + item.ID + ","
                              + item.CustomerID + ","
                              + item.ContractID + ","
                              + Utility.FormateDateTime(DateTime.Now) + ","
                              + totalsales + ","
                              + item.PriceReceipts + ","
                              + Priciple + ","
                              + interest + ","
                              + item.StaffID + ","
                              + item.Latitude + ","
                              + item.Longitude + ","
                              + 0 + ","
                              + 0 + ");";

                    DBHelper.Execute(StrSql, ObjConn);
                }
                else if (item.PriceReceipts > amount)   // จ่ายเกิน
                {
                    decimal price = item.PriceReceipts;
                    int     k     = 0;
                    while (price >= amount)
                    {
                        item.ID = Utility.GetMaxID("daily_receipts", "ID");
                        StrSql  = @" INSERT INTO daily_receipts(ID,CustomerID,ContractID,DateAsOf,
            TotalSales,PriceReceipts,Principle,Interest,StaffID,Latitude,Longitude,Activated,Deleted)
            VALUES("

                                  + item.ID + ","
                                  + item.CustomerID + ","
                                  + item.ContractID + ","
                                  + Utility.FormateDateTime(DateTime.Now.AddDays(k)) + ","
                                  + totalsales + ","
                                  + amount + ","
                                  + (amount - (amount * (rate / 100))) + ","
                                  + (amount * (rate / 100)) + ","
                                  + item.StaffID + ","
                                  + item.Latitude + ","
                                  + item.Longitude + ","
                                  + 0 + ","
                                  + 0 + ");";

                        DBHelper.Execute(StrSql, ObjConn);

                        price = price - amount;
                        k     = k + 1;


                        //เหลือเศษ
                        if (price < amount)
                        {
                            item.ID = Utility.GetMaxID("daily_receipts", "ID");
                            StrSql  = @" INSERT INTO daily_receipts(ID,CustomerID,ContractID,DateAsOf,
            TotalSales,PriceReceipts,Principle,Interest,StaffID,Latitude,Longitude,Activated,Deleted)
            VALUES("

                                      + item.ID + ","
                                      + item.CustomerID + ","
                                      + item.ContractID + ","
                                      + Utility.FormateDateTime(DateTime.Now.AddDays(k)) + "," // Get วัน อนาคต
                                      + totalsales + ","
                                      + price + ","
                                      + (price - (price * (rate / 100))) + ","
                                      + (price * (rate / 100)) + ","
                                      + item.StaffID + ","
                                      + item.Latitude + ","
                                      + item.Longitude + ","
                                      + 0 + ","
                                      + 0 + ");";
                            DBHelper.Execute(StrSql, ObjConn);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally {
                ObjConn.Close();
            }
        }
        public void PaymentDailyReceipts(DailyReceiptsReport item)
        {
            if (item.PriceReceipts <= 0)
            {
                throw new Exception("จำนวนเงินต้องมากว่า 0 บาท");
            }


            string           StrSql = string.Empty;
            ContractData     ct     = new ContractData();
            IList <Contract> list   = new List <Contract>();

            list = ct.GetContract(item.CustomerID, item.ContractID);
            Contract contract = new Contract();

            contract = list.FirstOrDefault();

            decimal totalsales   = contract.ContractPayment;  // ยอดเงินทั้งหมด
            decimal rate         = contract.ContractInterest; //ดอกเบี้ย
            decimal amount       = contract.ContractAmount;   //จำนวนที่จ่ายรายวัน
            decimal priceReciept = item.PriceReceipts;

            decimal interest = item.PriceReceipts * (rate / 100); //ดอกเบี้ย
            decimal Priciple = item.PriceReceipts - interest;     // เงินต้น


            DataTable dt = new DataTable();

            MySqlConnection ObjConn = DBHelper.ConnectDb(ref errMsg);

            dt = DBHelper.List("select * FROM daily_receipts WHERE ContractID=" + item.ContractID +
                               "  and PriceReceipts!=Principle  order by PriceReceipts desc",
                               ObjConn);

            if (dt.Rows.Count > 0)
            {
                // ข้อมูลการจ่ายทั้งหมด
                int TotalReceiptID = Utility.GetMaxID("daily_totalreceipts", "TotalReceiptID");
                StrSql = @" INSERT INTO daily_totalreceipts(TotalReceiptID,CustomerID,ContractID,DateAsOf,
                TotalSales,PriceReceipts,Principle,Interest,StaffID,Activated,Deleted)
                VALUES("
                         + TotalReceiptID + ","
                         + item.CustomerID + ","
                         + item.ContractID + ","
                         + Utility.FormateDateTime(DateTime.Now) + ","
                         + totalsales + ","
                         + item.PriceReceipts + ","
                         + (item.PriceReceipts - (item.PriceReceipts * (rate / 100))) + ","
                         + (item.PriceReceipts * (rate / 100)) + ","
                         + item.StaffID + ","
                         + 1 + ","
                         + 0 +
                         ");";

                DBHelper.Execute(StrSql, ObjConn);

                decimal price = 0;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (priceReciept > 0)
                    {
                        //ครั้งก่อนยังจ่ายไม่เต็ม
                        if (Convert.ToDecimal(dt.Rows[i]["PriceReceipts"]) < amount)
                        {
                            //จำนวนเงินที่ขาด
                            price = (amount - Convert.ToDecimal(dt.Rows[i]["PriceReceipts"]));
                            if (priceReciept < price)
                            {
                                DBHelper.List("UPDATE daily_receipts SET " +
                                              "  PriceReceipts = PriceReceipts+" + priceReciept +
                                              "  ,StaffID =" + item.StaffID +
                                              "  ,Interest =" + interest +
                                              "   WHERE ContractID =" + item.ContractID + " and  DateAsOf='" + Convert.ToDateTime(dt.Rows[i]["DateAsOf"]).ToString(@"yyyy/MM/dd") + "'", ObjConn);
                                priceReciept = priceReciept - price;
                            }
                            else if (priceReciept >= price)
                            {
                                DBHelper.List("UPDATE daily_receipts SET " +
                                              "  PriceReceipts = PriceReceipts+" + price +
                                              "  ,StaffID =" + item.StaffID +
                                              "  ,Interest =" + interest +
                                              "   WHERE ContractID =" + item.ContractID + " and  DateAsOf='" + Convert.ToDateTime(dt.Rows[i]["DateAsOf"]).ToString(@"yyyy/MM/dd") + "'", ObjConn);
                                priceReciept = priceReciept - price;
                            }

                            //if (priceReciept >= amount)
                            //{
                            //    price = (amount - Convert.ToDecimal(dt.Rows[i]["PriceReceipts"]));
                            //    priceReciept = priceReciept - price;
                            //    DBHelper.List("UPDATE daily_receipts SET " +
                            //     "  PriceReceipts = PriceReceipts+" + price +
                            //     "  ,StaffID =" + item.StaffID +
                            //     "  ,Interest =" + interest +
                            //     "   WHERE ContractID =" + item.ContractID + " and  DateAsOf='" + Convert.ToDateTime(dt.Rows[i]["DateAsOf"]).ToString(@"yyyy/MM/dd") + "'", ObjConn);

                            //}
                            //else if (priceReciept< amount)   //เงินไม่พอ
                            //{
                            //    // เช็ค ตัวที่ยังไม่ครบ
                            //    if (Convert.ToDecimal(dt.Rows[i]["PriceReceipts"]) < amount){
                            //        if (priceReciept < amount) {
                            //            price = (amount - Convert.ToDecimal(dt.Rows[i]["PriceReceipts"]);

                            //        }
                            //        priceReciept = priceReciept - Convert.ToDecimal(dt.Rows[i]["PriceReceipts"]);

                            //        DBHelper.List("UPDATE daily_receipts SET " +
                            //         "  PriceReceipts = PriceReceipts + " + priceReciept +
                            //         "  ,StaffID =" + item.StaffID +
                            //         "  ,Interest =" + interest +
                            //         "   WHERE ContractID =" + item.ContractID + " and  DateAsOf='" + Convert.ToDateTime(dt.Rows[i]["DateAsOf"]).ToString(@"yyyy/MM/dd") + "'", ObjConn);

                            //    }

                            //    DBHelper.List("UPDATE daily_receipts SET " +
                            //     "  PriceReceipts = PriceReceipts + " + priceReciept +
                            //     "  ,StaffID =" + item.StaffID +
                            //     "  ,Interest =" + interest +
                            //     "   WHERE ContractID =" + item.ContractID + " and  DateAsOf='" + Convert.ToDateTime(dt.Rows[i]["DateAsOf"]).ToString(@"yyyy/MM/dd") + "'", ObjConn);
                            //    priceReciept = priceReciept - priceReciept;
                            //}
                        }//ปัจจุบัน
                    }
                    else
                    {
                        i = dt.Rows.Count;
                    }
                } // loop for
            }
        }