public ActionResult Edit([Bind(Include = "IDDC,IDHD,NgayDieuChinh,GiaTriDieuChinh,SoNgayGiaHanTienDo,LyDoDieuChinh,NguoiTao,NgayTao,NguoiCapNhat,NgayCapNhat,DotDieuChinh,NgayHetHanDC,IDLoaiDieuChinh,ChenhLech")] CN_DieuChinh cN_DieuChinh, FormCollection _FormCollection) { CN_HopDong hopDong = db.CN_HopDong.Find(cN_DieuChinh.IDHD); if (ModelState.IsValid) { string FlagCreate = _FormCollection["FlagCreate"]; //0: cap nhat 1: them moi List <SelectListItem> lThongTin = _common.getThongTinBang(); string err = ""; if (cN_DieuChinh.NgayDieuChinh.HasValue == false) { TempData["err"] = "< div class='alert alert-danger' role='alert'><span class='glyphicon glyphicon-exclamation - sign' aria-hidden='true'></span><span class='sr - only'></span>Vui lòng chọn ngày điều chỉnh</div> "; } var iTienDoSauDC = db.GetTienDo_SauDieuChinh(cN_DieuChinh.IDHD, cN_DieuChinh.DotDieuChinh, cN_DieuChinh.SoNgayGiaHanTienDo).SingleOrDefault(); if (iTienDoSauDC.SoNgayThiCong > iTienDoSauDC.SoNgayThucHien) { TempData["err"] = "<div class='alert alert-danger' role='alert'><span class='glyphicon glyphicon-exclamation - sign' aria-hidden='true'></span><span class='sr - only'></span>“Tiến độ thi công” không được lớn hơn “Thời gian thực hiện hợp đồng”</div> "; ViewBag.DotDieuChinhNew = cN_DieuChinh.DotDieuChinh + 1; ViewBag.IDHD = new SelectList(db.CN_HopDong.Where(o => o.IDHD == cN_DieuChinh.IDHD), "IDHD", "SoHopDong", cN_DieuChinh.IDHD); ViewBag.DotDieuChinh = cN_DieuChinh.DotDieuChinh; ViewBag.ListDotDieuChinh = db.CN_DieuChinh.Where(o => o.IDHD == cN_DieuChinh.IDHD).OrderByDescending(o => o.IDDC).ToList(); ViewBag.HopDongDC = db.CN_HopDong.Where(o => o.IDHD == cN_DieuChinh.IDHD).FirstOrDefault(); ViewBag.IDLoaiDieuChinh = new SelectList(db.DM_LoaiDieuChinh.Where(x => x.Khoa != false).Select(x => new SelectListItem { Value = x.IDLoaiDieuChinh.ToString(), Text = x.TenLoaiDieuChinh }), "Value", "Text"); ViewBag.DSHD = db.CN_HopDong.Where(o => o.IDHD == cN_DieuChinh.IDHD).Select(s => new HopDongDC { IDHD = s.IDHD.ToString(), GiaTriThucTe = s.GiaTriThucTe.HasValue == true ? s.GiaTriThucTe.ToString() : s.GiaTriHopDong.ToString(), ngayKy = s.NgayKy.ToString() }).FirstOrDefault(); return(View(cN_DieuChinh)); } #region //if (FlagCreate == "1") //{ // CN_DieuChinh oNew = new CN_DieuChinh(); // oNew.DotDieuChinh = cN_DieuChinh.DotDieuChinh; // oNew.GiaTriDieuChinh = cN_DieuChinh.GiaTriDieuChinh; // oNew.IDHD = cN_DieuChinh.IDHD; // oNew.LyDoDieuChinh = cN_DieuChinh.LyDoDieuChinh; // oNew.NgayDieuChinh = cN_DieuChinh.NgayDieuChinh; // oNew.NgayTao = DateTime.Parse(lThongTin.Where(o => o.Value == "NgayTao").SingleOrDefault().Text); // oNew.NguoiTao = lThongTin.Where(o => o.Value == "NguoiTao").SingleOrDefault().Text; // oNew.SoNgayGiaHanTienDo = cN_DieuChinh.SoNgayGiaHanTienDo; // oNew.NgayHetHanDC = cN_DieuChinh.NgayHetHanDC; // oNew.IDLoaiDieuChinh = cN_DieuChinh.IDLoaiDieuChinh; // oNew.ChenhLech = cN_DieuChinh.ChenhLech; // db.CN_DieuChinh.Add(oNew); // db.SaveChanges(); //} //else //{ // List<SelectListItem> list = _common.getThongTinBang(); // cN_DieuChinh.NguoiCapNhat = list.Where(o => o.Value == "NguoiCapNhat").SingleOrDefault().Text; // cN_DieuChinh.NgayCapNhat = DateTime.Parse(list.Where(o => o.Value == "NgayCapNhat").SingleOrDefault().Text); // db.Entry(cN_DieuChinh).State = EntityState.Modified; // db.SaveChanges(); //} #endregion #region tham số SqlParameter[] AParameter = { new SqlParameter { ParameterName = "@IDDC", Value = cN_DieuChinh.IDDC, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@IDHD", Value = cN_DieuChinh.IDHD, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@NgayDieuChinh", Value = cN_DieuChinh.NgayDieuChinh, DbType = DbType.Date }, new SqlParameter { ParameterName = "@GiaTriDieuChinh", Value = cN_DieuChinh.GiaTriDieuChinh, DbType = DbType.Decimal, Precision = 18, Scale = 3, IsNullable = true }, new SqlParameter { ParameterName = "@ChenhLech", Value = cN_DieuChinh.ChenhLech, DbType = DbType.Decimal, Precision = 18, Scale = 3 }, new SqlParameter { ParameterName = "@SoNgayGiaHanTienDo", Value = cN_DieuChinh.SoNgayGiaHanTienDo, DbType = DbType.Int32, }, new SqlParameter { ParameterName = "@LyDoDieuChinh", Value = cN_DieuChinh.LyDoDieuChinh ?? string.Empty, //DbType = DbType.String, IsNullable = true, SqlDbType = SqlDbType.NVarChar, Size = 255 }, new SqlParameter { ParameterName = "@NguoiTao", Value = lThongTin.Where(o => o.Value == "NguoiTao").SingleOrDefault().Text, DbType = DbType.String }, new SqlParameter { ParameterName = "@NgayTao", Value = DateTime.Parse(lThongTin.Where(o => o.Value == "NgayTao").SingleOrDefault().Text), DbType = DbType.Date }, new SqlParameter { ParameterName = "@NguoiCapNhat", Value = lThongTin.Where(o => o.Value == "NguoiCapNhat").SingleOrDefault().Text, DbType = DbType.String }, new SqlParameter { ParameterName = "@NgayCapNhat", Value = DateTime.Parse(lThongTin.Where(o => o.Value == "NgayCapNhat").SingleOrDefault().Text), DbType = DbType.Date }, new SqlParameter { ParameterName = "@DotDieuChinh", Value = cN_DieuChinh.DotDieuChinh, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@NgayHetHanDC", Value = cN_DieuChinh.NgayHetHanDC, DbType = DbType.Date }, new SqlParameter { ParameterName = "@IDLoaiDieuChinh", Value = cN_DieuChinh.IDLoaiDieuChinh, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@FlagCreate", Value = FlagCreate, DbType = DbType.String } }; #endregion db.Database.ExecuteSqlCommand("Insert_CN_DieuChinh_HopDong @IDDC, @IDHD, @NgayDieuChinh, @GiaTriDieuChinh, @ChenhLech, @SoNgayGiaHanTienDo, @LyDoDieuChinh, @NguoiTao,@NgayTao, @NguoiCapNhat, @NgayCapNhat, @DotDieuChinh, @NgayHetHanDC, @IDLoaiDieuChinh, @FlagCreate", AParameter); #region luu lich su // luu lich su HT_LichSuHoatDong ls = new HT_LichSuHoatDong( ChucNang , "UPDATE" , DateTime.Now, Session["username"]?.ToString() , $"Cập nhật điều chỉnh - Số HD {hopDong?.SoHopDong} - lần điều chỉnh {cN_DieuChinh.DotDieuChinh}"); db.HT_LichSuHoatDong.Add(ls); db.SaveChanges(); #endregion return(RedirectToAction("Edit", cN_DieuChinh.IDDC)); } return(RedirectToAction("Edit", cN_DieuChinh.IDDC)); }
//public ActionResult Create([Bind(Include = "IDDC,IDHD,NgayDieuChinh,GiaTriDieuChinh,SoNgayGiaHanTienDo,LyDoDieuChinh,NguoiTao,NgayTao,NguoiCapNhat,NgayCapNhat,NgayHetHanDC,IDLoaiDieuChinh,ChenhLech")] CN_DieuChinh cN_DieuChinh) public ActionResult Create(CN_DieuChinh cN_DieuChinh) { //ViewBag.IDHD = new SelectList(db.CN_HopDong, "IDHD", "SoHopDong", cN_DieuChinh.IDHD); //var itemIds = db.CN_DieuChinh.Select(x => x.IDHD).ToArray(); //ViewBag.DotDieuChinhNew = cN_DieuChinh.DotDieuChinh + 1; //ViewBag.IDHD = new SelectList(db.CN_HopDong.Where(o => o.IDHD == cN_DieuChinh.IDHD), "IDHD", "SoHopDong", cN_DieuChinh.IDHD); //ViewBag.DotDieuChinh = cN_DieuChinh.DotDieuChinh; //ViewBag.ListDotDieuChinh = db.CN_DieuChinh.Where(o => o.IDHD == cN_DieuChinh.IDHD).OrderByDescending(o => o.IDDC).ToList(); //ViewBag.HopDongDC = db.CN_HopDong.Where(o => o.IDHD == cN_DieuChinh.IDHD).FirstOrDefault(); //ViewBag.IDLoaiDieuChinh = new SelectList(db.DM_LoaiDieuChinh.Where(x => x.Khoa != false).Select(x => new SelectListItem { Value = x.IDLoaiDieuChinh.ToString(), Text = x.TenLoaiDieuChinh }), "Value", "Text"); //ViewBag.NgayKyHD = new SelectList(db.CN_HopDong.Where(x => !itemIds.Contains(x.IDHD)).Select(s => new SelectListItem { Value = s.IDHD.ToString(), Text = s.NgayHetHan.ToString() })); //ViewBag.DSHD = db.CN_HopDong.Where(x => !itemIds.Contains(x.IDHD)).Select(s => new HopDongDC{ // IDHD = s.IDHD.ToString(), // GiaTriThucTe = s.GiaTriThucTe.HasValue == true ? s.GiaTriThucTe.ToString() : s.GiaTriHopDong.ToString(), // ngayKy = s.NgayKy.ToString() // }).ToList(); try { db.Configuration.LazyLoadingEnabled = false; CN_HopDong hopDong = db.CN_HopDong.Find(cN_DieuChinh.IDHD); var iTienDoSauDC = db.GetTienDo_SauDieuChinh(cN_DieuChinh.IDHD, cN_DieuChinh.DotDieuChinh, cN_DieuChinh.SoNgayGiaHanTienDo).SingleOrDefault(); if (iTienDoSauDC.SoNgayThiCong > iTienDoSauDC.SoNgayThucHien) { ModelState.AddModelError("SoNgayThiCong", $"Tiến độ thi công” không được lớn hơn “Thời gian thực hiện hợp đồng { iTienDoSauDC.SoNgayThucHien?.ToString("0:##0")}"); } if (ModelState.IsValid) { List <SelectListItem> lThongTin = _common.getThongTinBang(); #region tham số SqlParameter[] AParameter = { new SqlParameter { ParameterName = "@IDDC", Value = cN_DieuChinh.IDDC, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@IDHD", Value = cN_DieuChinh.IDHD, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@NgayDieuChinh", Value = cN_DieuChinh.NgayDieuChinh, DbType = DbType.Date }, new SqlParameter { ParameterName = "@GiaTriDieuChinh", Value = cN_DieuChinh.GiaTriDieuChinh, DbType = DbType.Decimal, Precision = 18, Scale = 3 }, new SqlParameter { ParameterName = "@ChenhLech", Value = cN_DieuChinh.ChenhLech, DbType = DbType.Decimal, Precision = 18, Scale = 3 }, new SqlParameter { ParameterName = "@SoNgayGiaHanTienDo", Value = cN_DieuChinh.SoNgayGiaHanTienDo, DbType = DbType.Int32, }, new SqlParameter { ParameterName = "@LyDoDieuChinh", Value = cN_DieuChinh.LyDoDieuChinh, DbType = DbType.String }, new SqlParameter { ParameterName = "@NguoiTao", Value = lThongTin.Where(o => o.Value == "NguoiTao").SingleOrDefault().Text, DbType = DbType.String }, new SqlParameter { ParameterName = "@NgayTao", Value = DateTime.Parse(lThongTin.Where(o => o.Value == "NgayTao").SingleOrDefault().Text), DbType = DbType.Date }, new SqlParameter { ParameterName = "@NguoiCapNhat", Value = lThongTin.Where(o => o.Value == "NguoiCapNhat").SingleOrDefault().Text, DbType = DbType.String }, new SqlParameter { ParameterName = "@NgayCapNhat", Value = DateTime.Parse(lThongTin.Where(o => o.Value == "NgayCapNhat").SingleOrDefault().Text), DbType = DbType.Date }, new SqlParameter { ParameterName = "@DotDieuChinh", Value = 1, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@NgayHetHanDC", Value = cN_DieuChinh.NgayHetHanDC, DbType = DbType.Date }, new SqlParameter { ParameterName = "@IDLoaiDieuChinh", Value = cN_DieuChinh.IDLoaiDieuChinh, DbType = DbType.Int32 }, new SqlParameter { ParameterName = "@FlagCreate", Value = "1", DbType = DbType.String } }; #endregion db.Database.ExecuteSqlCommand("Insert_CN_DieuChinh_HopDong @IDDC, @IDHD, @NgayDieuChinh, @GiaTriDieuChinh, @ChenhLech, @SoNgayGiaHanTienDo, @LyDoDieuChinh, @NguoiTao,@NgayTao, @NguoiCapNhat, @NgayCapNhat, @DotDieuChinh, @NgayHetHanDC, @IDLoaiDieuChinh, @FlagCreate", AParameter); #region luu lich su // luu lich su HT_LichSuHoatDong ls = new HT_LichSuHoatDong( ChucNang , "CREATE" , DateTime.Now, Session["username"]?.ToString() , $" Thêm mới điều chỉnh - Số HD {hopDong.SoHopDong} - lần điều chỉnh {cN_DieuChinh.DotDieuChinh}"); db.HT_LichSuHoatDong.Add(ls); db.SaveChanges(); #endregion return(RedirectToAction("Index")); } ViewBag.IDLoaiDieuChinh = DanhSachLoaiDieuChinh(cN_DieuChinh.IDLoaiDieuChinh); ViewBag.IDHD = DanhSachHopDongDieuChinh(cN_DieuChinh.IDHD); return(View(cN_DieuChinh)); } catch (Exception ex) { string cauBaoLoi = "Không ghi được dữ liệu.<br/>Lý do: " + ex.Message; return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, cauBaoLoi)); } }