Example #1
0
        public ActionResult Edit(int?id)   //id số hop dong
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CN_DieuChinh cN_DieuChinh   = db.CN_DieuChinh.Find(id);
            CN_DieuChinh o_cN_DieuChinh = db.CN_DieuChinh.Where(o => o.IDHD == id).OrderByDescending(o => o.IDDC).ToList().Take(1).SingleOrDefault();
            var          l_DotDieuChinh = db.CN_DieuChinh.Where(o => o.IDHD == id).OrderByDescending(o => o.IDDC).Select(o => new SelectListItem {
                Value = o.DotDieuChinh.ToString(), Text = o.DotDieuChinh.ToString()
            }).ToList();
            SelectListItem oitem = new SelectListItem();

            oitem.Text  = "Thêm mới đợt điều chỉnh.";
            oitem.Value = "1";
            l_DotDieuChinh.Add(oitem);
            if (l_DotDieuChinh == null)
            {
                return(HttpNotFound());
            }
            ViewBag.DotDieuChinhNew = o_cN_DieuChinh.DotDieuChinh + 1;

            // nối chuổi so hd va cong trình
            var o_CN_HopDong = db.CN_HopDong.Where(o => o.IDHD == id)
                               .Select(s => new SelectListItem
            {
                Value = s.IDHD.ToString(),
                Text  = s.SoHopDong
            });

            ViewBag.IDHD             = new SelectList(o_CN_HopDong, "Value", "Text", id);
            ViewBag.DotDieuChinh     = new SelectList(l_DotDieuChinh, "value", "text", o_cN_DieuChinh.DotDieuChinh);
            ViewBag.ListDotDieuChinh = db.CN_DieuChinh.Where(o => o.IDHD == id).OrderByDescending(o => o.IDDC).ToList();
            ViewBag.HopDongDC        = db.CN_HopDong.Where(o => o.IDHD == id).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");
            var HopDongDieuChinh = db.CN_HopDong.Where(o => o.IDHD == id).Select(s => new
            {
                s.IDHD,
                s.DM_CongTrinh.MaCT,
                s.DM_CongTrinh.TenCT,
                GiaTriThucTe = s.GiaTriThucTe ?? s.GiaTriHopDong,
                s.NgayKy,
                s.NgayHetHan
            }).FirstOrDefault();

            ViewBag.HopDongDieuChinh = Newtonsoft.Json.JsonConvert.SerializeObject(HopDongDieuChinh);
            CN_DieuChinh cN_DieuChinhNull = new CN_DieuChinh();

            return(View(cN_DieuChinhNull));//o_cN_DieuChinh
        }
Example #2
0
        // GET: CN_DieuChinh/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CN_DieuChinh cN_DieuChinh = db.CN_DieuChinh.Find(id);

            if (cN_DieuChinh == null)
            {
                return(HttpNotFound());
            }
            return(View(cN_DieuChinh));
        }
Example #3
0
        public ActionResult Delete(int id)
        {
            CN_DieuChinh cN_DieuChinh = db.CN_DieuChinh.Find(id);
            CN_HopDong   hopDong      = db.CN_HopDong.Find(cN_DieuChinh.IDHD);
            //db.CN_DieuChinh.Remove(cN_DieuChinh);
            //db.SaveChanges();
            SqlParameter sParameter = new SqlParameter();

            sParameter.ParameterName = "@IDDC";
            sParameter.Value         = id;
            sParameter.SqlDbType     = SqlDbType.Int;
            db.Database.ExecuteSqlCommand("Delete_CN_DieuChinh_HopDong @IDDC", sParameter);
            #region luu lich su
            // luu lich su
            HT_LichSuHoatDong ls = new HT_LichSuHoatDong(
                ChucNang
                , "DELETE"
                , DateTime.Now, Session["username"]?.ToString()
                , $" Xóa đ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"));
        }
Example #4
0
        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));
        }
Example #5
0
        //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));
            }
        }