예제 #1
0
 private bool checkRangeDateNhomVatTuNCC(ProductPriceHeader header, ProductPriceDetail data)
 {
     if (data.ngay_ap_dung > header.ngay_ket_thuc || data.ngay_ap_dung < header.ngay_ap_dung ||
         data.ngay_ket_thuc > header.ngay_ket_thuc)
     {
         return(false);
     }
     return(true);
 }
예제 #2
0
 private bool checkDuplicateRangeDateNCC(List <ProductPriceHeader> list, ProductPriceHeader data)
 {
     foreach (var item in list)
     {
         if (data.ngay_ap_dung <= item.ngay_ket_thuc ||
             data.ngay_ket_thuc <= item.ngay_ket_thuc)
         {
             return(false);
         }
     }
     return(true);
 }
예제 #3
0
        public ActionResult ApproveList(string data)
        {
            using (IDbConnection dbConn = Helpers.OrmliteConnection.openConn())
                using (var dbTrans = dbConn.OpenTransaction(IsolationLevel.ReadCommitted))
                {
                    try
                    {
                        string[] separators = { "@@" };
                        var      listid     = data.Split(separators, StringSplitOptions.RemoveEmptyEntries);

                        foreach (var id in listid)
                        {
                            var datavendor       = dbConn.FirstOrDefault <StatementVendorHeader>("ma_to_trinh_ncc ={0}".Params(id));
                            var datavendordetail = dbConn.Select <StatementVendorDetail>("ma_to_trinh_ncc ={0}".Params(id));

                            var databg = new ProductPriceHeader
                            {
                                nha_cung_cap_id = datavendor.nha_cung_cap_id,
                                ngay_ap_dung    = datavendor.ngay_ap_dung,
                                ngay_bao_gia    = datavendor.ngay_ap_dung,
                                ngay_ket_thuc   = datavendor.ngay_ket_thuc,
                                ghi_chu         = datavendor.ghi_chu,
                                trang_thai      = "DANG_HOAT_DONG",
                                nguoi_tao       = currentUser.ma_nguoi_dung,
                                ngay_tao        = DateTime.Now
                            };

                            var isExist = dbConn.SingleOrDefault <ProductPriceHeader>("select * from ProductPriceHeader order by id desc");
                            var prefix  = "CSG";
                            if (isExist != null)
                            {
                                var nextNo = int.Parse(isExist.ma_chinh_sach_gia.Substring(9, isExist.ma_chinh_sach_gia.Length - 9)) + 1;
                                databg.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("yyMMdd") + String.Format("{0:00}", nextNo);
                            }
                            else
                            {
                                databg.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("ddMMyy") + "01";
                            }

                            dbConn.Insert(databg);

                            foreach (var item in datavendordetail)
                            {
                                var detail = new ProductPriceDetail {
                                    ma_chinh_sach_gia = databg.ma_chinh_sach_gia,
                                    ma_vat_tu         = item.ma_vat_tu,
                                    gia_bao           = item.gia_bao,
                                    thue_vat          = item.thue_vat,
                                    gia_bao_gom_vat   = item.gia_bao_gom_vat,
                                    ngay_ap_dung      = item.ngay_ap_dung,
                                    ngay_ket_thuc     = item.ngay_ket_thuc,
                                    don_vi_tinh       = item.don_vi_tinh,
                                    sl_min            = item.sl_min,
                                    sl_max            = item.sl_max,
                                    nguoi_tao         = currentUser.ma_nguoi_dung,
                                    ngay_tao          = DateTime.Now
                                };
                                dbConn.Insert(detail);
                            }

                            dbConn.Update <StatementVendorHeader>(set: "trang_thai={0}".Params(AllConstant.TRANGTHAI_DA_DUYET), where : "ma_to_trinh_ncc={0}".Params(id));
                        }
                        dbTrans.Commit();
                        return(Json(new { success = true }));
                    }
                    catch (Exception e)
                    {
                        dbTrans.Rollback();
                        return(Json(new { success = false, error = e.Message }));
                    }
                }
        }
예제 #4
0
        public ActionResult CreateUpdate(ProductPriceHeader data)
        {
            using (var dbConn = Helpers.OrmliteConnection.openConn())
            {
                try
                {
                    if (data.id > 0)
                    {
                        //if (accessDetail.them && ModelState.IsValid)
                        //{
                        var exist = dbConn.SingleOrDefault <ProductPriceHeader>("id ={0}", data.id);
                        if (data.ngay_ap_dung > data.ngay_ket_thuc)
                        {
                            return(Json(new { success = false, error = "Ngày kết thúc phải >= ngày áp dụng chính sách giá" }));
                        }
                        var csGiaNCC = dbConn.Select <ProductPriceHeader>(p => p.nha_cung_cap_id == data.nha_cung_cap_id && p.id != data.id && p.trang_thai == "DANG_HOAT_DONG");
                        if (!checkDuplicateRangeDateNCC(csGiaNCC, data))
                        {
                            return(Json(new { success = false, error = "Thời gian áp dụng Chính sách giá nhà cung cấp đã có" }));
                        }
                        exist.ngay_ket_thuc  = data.ngay_ket_thuc;
                        exist.ngay_ap_dung   = data.ngay_ap_dung;
                        exist.nguoi_cap_nhat = currentUser.ma_nguoi_dung;
                        exist.ngay_cap_nhat  = DateTime.Now;
                        exist.ghi_chu        = !string.IsNullOrEmpty(data.ghi_chu) ? data.ghi_chu : "";
                        exist.trang_thai     = data.trang_thai;
                        dbConn.Update(exist);
                        //}
                        //else
                        //{
                        //    return Json(new { success = false, error = "Bạn không có quyền cập nhập chi nhánh" });
                        //}
                    }
                    else
                    {
                        //if (accessDetail.them && ModelState.IsValid)
                        //{
                        if (data.ngay_ap_dung > data.ngay_ket_thuc)
                        {
                            return(Json(new { success = false, error = "Ngày kết thúc phải >= ngày áp dụng chính sách giá" }));
                        }
                        var csGiaNCC = dbConn.Select <ProductPriceHeader>(p => p.nha_cung_cap_id == data.nha_cung_cap_id && p.trang_thai == "DANG_HOAT_DONG");
                        if (!checkDuplicateRangeDateNCC(csGiaNCC, data))
                        {
                            return(Json(new { success = false, error = "Thời gian áp dụng Chính sách giá nhà cung cấp đã có" }));
                        }
                        var isExist = dbConn.SingleOrDefault <ProductPriceHeader>("select * from ProductPriceHeader order by id desc");
                        var prefix  = "CSG";
                        if (isExist != null)
                        {
                            var nextNo = int.Parse(isExist.ma_chinh_sach_gia.Substring(9, isExist.ma_chinh_sach_gia.Length - 9)) + 1;
                            data.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("yyMMdd") + String.Format("{0:00}", nextNo);
                        }
                        else
                        {
                            data.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("ddMMyy") + "01";
                        }


                        data.ghi_chu       = !string.IsNullOrEmpty(data.ghi_chu) ? data.ghi_chu : "";
                        data.trang_thai    = data.trang_thai;
                        data.ngay_tao      = DateTime.Now;
                        data.nguoi_tao     = User.Identity.Name;
                        data.ngay_cap_nhat = DateTime.Parse("1900-01-01");
                        dbConn.Insert(data);
                        //}
                        //else
                        //{
                        //    return Json(new { success = false, error = "Bạn không có quyền tạo chi nhánh" });
                        //}
                    }
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, error = ex.Message }));
                }

                return(Json(new { success = true }));
            }
        }
예제 #5
0
        public ActionResult Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")] IEnumerable <ProductPriceDetail> items, ProductPriceHeader inputHead)
        {
            if (accessDetail.sua || accessDetail.them)
            {
                var Ma_CSG = "";
                var IdHead = 0;
                if (items != null && ModelState.IsValid)
                {
                    using (var dbConn = Helpers.OrmliteConnection.openConn())
                    {
                        //insert header
                        var checkHead = dbConn.FirstOrDefault <ProductPriceHeader>(s => s.id == inputHead.id);
                        if (checkHead != null)
                        {
                            checkHead.ghi_chu          = !string.IsNullOrEmpty(inputHead.ghi_chu) ? inputHead.ghi_chu : "";
                            checkHead.trang_thai       = inputHead.trang_thai;
                            checkHead.ngay_bao_gia     = inputHead.ngay_bao_gia;
                            checkHead.ngay_ky_hop_dong = inputHead.ngay_ky_hop_dong;
                            checkHead.ngay_tao         = checkHead.ngay_tao;
                            checkHead.ngay_ap_dung     = inputHead.ngay_ap_dung;
                            checkHead.ngay_ket_thuc    = inputHead.ngay_ket_thuc;
                            checkHead.nguoi_tao        = checkHead.nguoi_tao;
                            checkHead.ngay_cap_nhat    = DateTime.Now;
                            checkHead.so_hop_dong      = !string.IsNullOrEmpty(inputHead.so_hop_dong) ? inputHead.so_hop_dong : "";
                            checkHead.nguoi_cap_nhat   = currentUser.ma_nguoi_dung;
                            dbConn.Update(checkHead);

                            IdHead = checkHead.id;
                            Ma_CSG = checkHead.ma_chinh_sach_gia;
                        }
                        else
                        {
                            var prefix  = "CSG";
                            var isExist = dbConn.SingleOrDefault <ProductPriceHeader>("select id,ma_chinh_sach_gia from ProductPriceHeader order by id desc");
                            if (isExist != null)
                            {
                                var nextNo = int.Parse(isExist.ma_chinh_sach_gia.Substring(9, isExist.ma_chinh_sach_gia.Length - 9)) + 1;
                                inputHead.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("yyMMdd") + String.Format("{0:00}", nextNo);
                            }
                            else
                            {
                                inputHead.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("ddMMyy") + "01";
                            }
                            inputHead.so_hop_dong   = !string.IsNullOrEmpty(inputHead.so_hop_dong) ? inputHead.so_hop_dong : "";
                            inputHead.ghi_chu       = !string.IsNullOrEmpty(inputHead.ghi_chu) ? inputHead.ghi_chu : "";
                            inputHead.trang_thai    = inputHead.trang_thai;
                            inputHead.ngay_tao      = DateTime.Now;
                            inputHead.nguoi_tao     = User.Identity.Name;
                            inputHead.ngay_cap_nhat = DateTime.Parse("1900-01-01");
                            dbConn.Insert(inputHead);
                            IdHead = (int)dbConn.GetLastInsertId();
                            Ma_CSG = inputHead.ma_chinh_sach_gia;
                        }
                        //insert detail
                        foreach (var row in items)
                        {
                            if (string.IsNullOrEmpty(row.ma_vat_tu))
                            {
                                continue;
                            }
                            var checkDetail = dbConn.FirstOrDefault <ProductPriceDetail>(p => p.ma_chinh_sach_gia == Ma_CSG && p.ma_vat_tu == row.ma_vat_tu);
                            if (checkDetail != null)
                            {
                                checkDetail.gia_bao         = row.gia_bao;
                                checkDetail.thue_vat        = row.thue_vat;
                                checkDetail.gia_bao_gom_vat = row.gia_bao_gom_vat;
                                checkDetail.ngay_ap_dung    = inputHead.ngay_ap_dung;
                                checkDetail.ngay_ket_thuc   = inputHead.ngay_ket_thuc;
                                checkDetail.ngay_cap_nhat   = DateTime.Now;
                                checkDetail.nguoi_cap_nhat  = currentUser.ma_nguoi_dung;
                                checkDetail.don_vi_tinh     = !string.IsNullOrEmpty(row.don_vi_tinh) ? row.don_vi_tinh : "";
                                checkDetail.sl_min          = row.sl_min != 0 ? row.sl_min : 0;
                                checkDetail.sl_max          = row.sl_max != 0 ? row.sl_max : 0;
                                dbConn.Update(checkDetail);
                            }
                            else
                            {
                                row.trang_thai        = row.trang_thai;
                                row.ngay_tao          = DateTime.Now;
                                row.nguoi_tao         = User.Identity.Name;
                                row.ngay_cap_nhat     = DateTime.Parse("1900-01-01");
                                row.nguoi_cap_nhat    = "";
                                row.ma_chinh_sach_gia = Ma_CSG;
                                row.don_vi_tinh       = !string.IsNullOrEmpty(row.don_vi_tinh) ? row.don_vi_tinh : "";
                                row.sl_min            = row.sl_min != 0 ? row.sl_min : 0;
                                row.sl_max            = row.sl_max != 0 ? row.sl_max : 0;
                                dbConn.Insert(row);
                            }
                        }
                    }
                }
                return(Json(new { success = true, ma_csg = Ma_CSG, error = "", IdHead = IdHead }));
            }
            else
            {
                return(Json(new { success = false, error = "Bạn không có quyền cập nhật" }));
            }
        }