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); }
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); }
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 })); } } }
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 })); } }
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" })); } }