public ActionResult ThemHangMuc(FormCollection form) { string ID = form["txtmact"]; if (ID != null) { //lay dong cuoi cung bang hangmuc var mahm_last = _db.HangMucs.OrderByDescending(i => i.MaHM).Select(i => i.MaHM).FirstOrDefault(); var mahm_now = (dynamic)null; int d_hm = 0; if (mahm_last != null) { mahm_now = mahm_last.ToString().Substring(2, mahm_last.ToString().Length - 2); d_hm = Convert.ToInt32(mahm_now.ToString()); mahm_now = "HM" + Convert.ToString(d_hm + 1); } else { mahm_now = "HM1"; } HangMuc hm = new HangMuc(); hm.MaHM = mahm_now; hm.MaCT = ID; hm.TenHM = form["txttenhm"]; hm.MoTa = form["txtmota"]; hm.Gia = 0; _db.HangMucs.InsertOnSubmit(hm); _db.SubmitChanges(); } return(RedirectToAction("ChiTiet_CongTrinh", "CongTrinh", new { Id = ID })); }
private void UpdateHangMuc(DataTable _tblHangMuc, int _maCongTrinh, string _maHieuCT) { if (_tblHangMuc.Rows.Count > 0) { foreach (DataRow dr in _tblHangMuc.Rows) { BLL_HangMuc adapter = new BLL_HangMuc(); HangMuc _hangmuc = new HangMuc(); _hangmuc.MaCongTrinh = _maCongTrinh; _hangmuc.MaHieuCT = _maHieuCT; _hangmuc.TenHangMuc = dr["TenHangMuc"].ToString(); _hangmuc.SoLuong = string.IsNullOrEmpty(dr["SoLuong"].ToString()) ? 0 : Convert.ToInt32(dr["SoLuong"]); _hangmuc.DonGia = string.IsNullOrEmpty(dr["DonGia"].ToString()) ? 0 : Convert.ToDecimal(dr["DonGia"]); _hangmuc.NguoiTao = SessionUser.UserName; int _maHangMuc = 0; string _id = dr["ID"].ToString(); if (dr["MaHangMuc"].ToString().Equals(string.Empty)) { _maHangMuc = adapter.Add(_hangmuc); } else { _maHangMuc = Convert.ToInt32(dr["MaHangMuc"]); _hangmuc.MaHangMuc = _maHangMuc; adapter.Update(_hangmuc); } //them chi tiet hang muc UpdateChiTietHangMuc(adapter, _ds.Tables["ChiTietHangMuc"], _maHangMuc, _id); } } }
public HangMucViewModel(HangMuc obj) { MaHM = obj.MaHM; MaCT = obj.MaCT; TenHM = obj.TenHM; MoTa = obj.MoTa; Gia = obj.Gia; }
/// <summary> /// phat.luu /// april 27, 2014 /// cập nhật thông tin hạng mục TK /// </summary> /// <param name="objKH"></param> /// <returns></returns> public int Update(HangMuc objHM) { try { return(HangMuc_update(objHM.MaHangMuc, objHM.TenHangMuc, objHM.MaCongTrinh, objHM.MaHieuCT, objHM.SoLuong, objHM.DonGia)); } catch (Exception e) { Logger.WriteLog(LogLevel.DEBUG, e.Message); return(-1); } }
/// <summary> /// phat.luu /// april 29,2014 /// xóa 1 hạng mục thiết kế /// </summary> /// <param name="objKH"></param> /// <returns></returns> public int Delete(HangMuc objHM) { try { return(HangMuc_delete(objHM.MaHangMuc)); } catch (Exception e) { Logger.WriteLog(LogLevel.DEBUG, e.Message); return(-1); } }
public HangMuc Add(HangMuc hangMuc) { var check = _hangMucRepository.CheckContain(x => x.TenHangMuc.Equals(hangMuc.TenHangMuc)); if (!check) { return(_hangMucRepository.Add(hangMuc)); } else { throw new NameDuplicateException("Hạng mục công việc đã tồn tại"); } }
public void Update(HangMuc hangMuc) { var check = _hangMucRepository.CheckContain(x => x.TenHangMuc.Equals(hangMuc.TenHangMuc) && x.ID != hangMuc.ID); if (!check) { _hangMucRepository.Update(hangMuc); } else { throw new NameDuplicateException("Tên hạng mục đã tồn tại"); } }
/// <summary> /// phat.luu /// april 27, 2014 /// thêm hạng mục TK mới /// </summary> /// <param name="objKH"></param> /// <returns></returns> public int Add(HangMuc objHM) { try { int?maHangMuc = 0; HangMuc_add(objHM.TenHangMuc, objHM.MaCongTrinh, objHM.MaHieuCT, objHM.SoLuong, objHM.DonGia, objHM.NguoiTao, ref maHangMuc); return((int)maHangMuc); } catch (Exception e) { Logger.WriteLog(LogLevel.DEBUG, e.Message); return(-1); } }
public static void UpdateHangMuc(this HangMuc hangMuc, HangMucViewModel hangMucVM) { hangMuc.ID = hangMucVM.ID; hangMuc.TenHangMuc = hangMucVM.TenHangMuc; hangMuc.MoTaHangMuc = hangMucVM.MoTaHangMuc; hangMuc.LoaiHangMuc = hangMucVM.LoaiHangMuc; hangMuc.TrangThai = hangMucVM.TrangThai; hangMuc.IdDuAn = hangMucVM.IdDuAn; hangMuc.IdNhomCongViec = hangMucVM.IdNhomCongViec; hangMuc.IdMucDoTruyenThong = hangMucVM.IdMucDoTruyenThong; hangMuc.NgayBatDau = hangMucVM.NgayBatDau; hangMuc.ThoiGianDuKien = hangMucVM.ThoiGianDuKien; hangMuc.NgayHoanThanh = hangMucVM.NgayHoanThanh; hangMuc.IdNguoiThucHienTheoLenhSX = hangMucVM.IdNguoiThucHienTheoLenhSX; hangMuc.SoNguoiThucHien = hangMucVM.SoNguoiThucHien; hangMuc.DiemDanhGia = hangMucVM.DiemDanhGia; hangMuc.HesoKcn = hangMucVM.HesoKcn; hangMuc.LoaiHangMuc = hangMucVM.LoaiHangMuc; hangMuc.TrangThai = hangMucVM.TrangThai; hangMuc.isDelete = hangMucVM.isDelete; hangMuc.Created_at = hangMucVM.Created_at; hangMuc.Updated_at = hangMucVM.Updated_at; }
public HttpResponseMessage Created(HttpRequestMessage request, HangMucViewModel hangMucViewModel) { return(CreateReponse(request, () => { if (!ModelState.IsValid) { return request.CreateResponse(HttpStatusCode.BadRequest, ModelState.IsValid); } else { var hangMuc = new HangMuc(); var HeSoNC = _heSoNhanCongService.GetHeSoKcn(hangMucViewModel.SoNguoiThucHien); hangMuc.UpdateHangMuc(hangMucViewModel); hangMuc.HesoKcn = HeSoNC.HeSoNcKcn; var hangMucResponse = _hangMucService.Add(hangMuc); _hangMucService.save(); if (hangMucResponse != null) { var donGiaDiemTT = 0; var donGiaDiemGT = 0; var hm = _hangMucService.GetHangMucById(hangMucResponse.ID); decimal?diemHm = 0m; if (hm.HeSoLap != null && hm.HeSoTg != null) { diemHm = hm.DiemDanhGia * hm.HeSoLap.Hesl * hm.HeSoTg.HeSoTgdk * hm.HesoKcn * hm.NhomCongViec.HeSoCV; } if (hangMucViewModel.ThamGia.Count() > 0) { List <ThamGia> listTG = new List <ThamGia>(); foreach (var item in hangMucViewModel.ThamGia) { if (hangMucResponse.LoaiHangMuc == 0) { listTG.Add(new ThamGia() { IdHangMuc = hangMucResponse.ID, IdDuAn = hangMucResponse.IdDuAn, IdNhanVien = item.IdNhanVien, HeSoThamGia = item.HeSoThamGia, LoaiHangMuc = item.LoaiHangMuc, DiemThanhVien = Math.Round((diemHm * item.HeSoThamGia) / 100 ?? 0), ThuNhap = donGiaDiemTT * ((diemHm * item.HeSoThamGia) / 100 ?? 0) }); } else { listTG.Add(new ThamGia() { IdHangMuc = hangMucResponse.ID, IdDuAn = hangMuc.IdDuAn, IdNhanVien = item.IdNhanVien, HeSoThamGia = item.HeSoThamGia, LoaiHangMuc = item.LoaiHangMuc, DiemThanhVien = Math.Round((diemHm * item.HeSoThamGia) / 100 ?? 0), ThuNhap = donGiaDiemGT * ((diemHm * item.HeSoThamGia) / 100 ?? 0) }); } } _thamGiaService.Add(listTG, hangMucResponse.ID, hangMucResponse.LoaiHangMuc); _thamGiaService.Save(); var duan = _duAnService.GetAllInfoById(hangMuc.IdDuAn); var point = _thamGiaService.TotalPoint(hangMuc.IdDuAn, hangMuc.LoaiHangMuc); //tính đơn giá điểm trục tiếp var q0 = (duan.GiaTriHopDong * duan.TyLeTheoDT) / 100; var q1 = q0 - duan.LuongThueNgoai; var q2 = (q1 * duan.LuongTTQtt) / 100; if (point != 0) { donGiaDiemTT = Convert.ToInt32(q2 / point); } // tính đơn giá điểm gián tiếp var g0 = (duan.GiaTriHopDong * duan.TyLeTheoDT) / 100; var g1 = g0 - duan.LuongThueNgoai; var g2 = (g1 * duan.LuongGTQgt) / 100; var g3 = (g2 * duan.LuongGTV22) / 100; if (point != 0) { donGiaDiemGT = Convert.ToInt32(g3 / point); } if (hangMuc.LoaiHangMuc == 0) { duan.TongDiemTT = point; duan.DonGiaDiemTT = donGiaDiemTT; _duAnService.Update(duan); } else { duan.TongDiemGT = point; duan.DonGiaDiemGT = donGiaDiemGT; _duAnService.Update(duan); } var Tg = _thamGiaService.GetByIdHm(hangMucResponse.ID, hangMucResponse.LoaiHangMuc); List <ThamGia> listTGUp = new List <ThamGia>(); foreach (var item in Tg) { if (hangMucResponse.LoaiHangMuc == 0) { listTGUp.Add(new ThamGia() { IdHangMuc = hangMucResponse.ID, IdDuAn = hangMucResponse.IdDuAn, IdNhanVien = item.IdNhanVien, HeSoThamGia = item.HeSoThamGia, LoaiHangMuc = item.LoaiHangMuc, DiemThanhVien = Math.Round((diemHm * item.HeSoThamGia) / 100 ?? 0), ThuNhap = donGiaDiemTT * ((diemHm * item.HeSoThamGia) / 100 ?? 0) }); } else { listTGUp.Add(new ThamGia() { IdHangMuc = hangMucResponse.ID, IdDuAn = hangMucResponse.IdDuAn, IdNhanVien = item.IdNhanVien, HeSoThamGia = item.HeSoThamGia, LoaiHangMuc = item.LoaiHangMuc, DiemThanhVien = Math.Round((diemHm * item.HeSoThamGia) / 100 ?? 0), ThuNhap = donGiaDiemGT * ((diemHm * item.HeSoThamGia) / 100 ?? 0) }); } } _thamGiaService.Add(listTGUp, hangMucResponse.ID, hangMucResponse.LoaiHangMuc); _thamGiaService.Save(); } } return request.CreateResponse(HttpStatusCode.Created, hangMucResponse); } })); }
public ActionResult FormSubmit(FormCollection form) { if (SessionHandler.User == null) { return(RedirectToAction("Login", "Account")); } var txtmacongtrinh = form["txt_ma_congtrinh"]; var txtmahangmuc = form["txt_ma_hangmuc"]; var txttenhangmuc = form["txt_ten_hangmuc"]; var txtmahieucv_dmArr = form["txtmahieucv_dm[]"].Split(','); var txttencvArr = form["txttencv[]"].Split(','); var txtdonviArr = form["txtdonvi[]"].Split(','); var txtkhoiluongArr = form["txtkhoiluong[]"].Split(','); var txtgiavlArr = form["txtgiavl[]"].Split(','); var txtgiancArr = form["txtgianc[]"].Split(','); var txtgiamtcArr = form["txtgiamtc[]"].Split(','); var txtthanhtiencArr = form["txtthanhtien[]"].Split(','); var txttongtien = form["txt_tongtien"]; if (txtmacongtrinh != "") { if (txtmahangmuc == "") //tao hang muc, bao gom cong viec moi { //lay dong cuoi cung bang hangmuc var mahm_last = _db.HangMucs.OrderByDescending(i => i.MaHM).Select(i => i.MaHM).FirstOrDefault(); var mahm_now = (dynamic)null; int d_hm = 0; if (mahm_last != null) { mahm_now = mahm_last.ToString().Substring(2, mahm_last.ToString().Length - 2); d_hm = Convert.ToInt32(mahm_now.ToString()); mahm_now = "HM" + Convert.ToString(d_hm + 1); } else { mahm_now = "HM1"; } HangMuc hm = new HangMuc(); hm.MaHM = mahm_now; hm.MaCT = txtmacongtrinh; hm.TenHM = txttenhangmuc; hm.MoTa = ""; hm.Gia = Convert.ToDecimal(txttongtien); _db.HangMucs.InsertOnSubmit(hm); //lay dong cuoi cung bang congviec var macv_last = _db.CongViecs.OrderByDescending(i => i.MaHieuCV_User).Select(i => i.MaHieuCV_User).FirstOrDefault(); var macv_now = (dynamic)null; int d_cv = 0; if (macv_last != null) { macv_now = macv_last.ToString().Substring(3, macv_last.ToString().Length - 3); d_cv = Convert.ToInt32(macv_now.ToString()); } else { d_cv = 0; } //lay dong cuoi cung bang thanhphanhaophi var mahp_last = _db.ThanhPhanHaoPhis.OrderByDescending(o => o.MaHP).Select(o => o.MaHP).FirstOrDefault(); var mahp_now = (dynamic)null; int d_hp = 0; if (mahp_last != null) { mahp_now = mahp_last.ToString().Substring(4, mahp_last.ToString().Length - 4); d_hp = Convert.ToInt32(mahp_now.ToString()); } else { d_hp = 0; } for (int i = 0; i < txtmahieucv_dmArr.Length; i++) { macv_now = "CV_" + Convert.ToString(d_cv + 1); CongViec cv_user = new CongViec(); cv_user.MaHM = mahm_now; cv_user.MaHieuCV_User = macv_now; cv_user.MaHieuCV_DM = txtmahieucv_dmArr[i]; cv_user.TenCongViec = txttencvArr[i]; cv_user.DonVi = txtdonviArr[i]; cv_user.KhoiLuong = Convert.ToDecimal(txtkhoiluongArr[i]); cv_user.GiaVL = Convert.ToDecimal(txtgiavlArr[i]); cv_user.GiaNC = Convert.ToDecimal(txtgiancArr[i]); cv_user.GiaMTC = Convert.ToDecimal(txtgiamtcArr[i]); cv_user.ThanhTien = Convert.ToDecimal(txtthanhtiencArr[i]); //insert thanh phan hao phi var list_haophi = (from ct in _db.ChiTiet_DinhMucs join dg in _db.DonGias on ct.MaVL_NC_MTC equals dg.MaVL_NC_MTC where ct.MaHieuCV_DM.Equals(cv_user.MaHieuCV_DM) select new HaoPhi_DM_ViewModel() { Ma = ct.MaVL_NC_MTC, Ten = dg.Ten, DonVi = dg.DonVi, Gia = dg.Gia * ct.SoLuong }).ToList(); foreach (var k in list_haophi) { if (k.Ma.ToString().Substring(0, 1) == "V") { mahp_now = "V_HP" + Convert.ToString(d_hp + 1); } if (k.Ma.ToString().Substring(0, 1) == "N") { mahp_now = "N_HP" + Convert.ToString(d_hp + 1); } if (k.Ma.ToString().Substring(0, 1) == "M") { mahp_now = "M_HP" + Convert.ToString(d_hp + 1); } ThanhPhanHaoPhi hp = new ThanhPhanHaoPhi(); hp.MaHP = mahp_now; hp.MaHieuCV_User = macv_now; hp.Ten = k.Ten; hp.DonVi = k.DonVi; hp.Gia = k.Gia; d_hp = d_hp + 1; _db.ThanhPhanHaoPhis.InsertOnSubmit(hp); } d_cv = d_cv + 1; _db.CongViecs.InsertOnSubmit(cv_user); } } else { //delete cong viec trong hang muc var congviecs = _db.CongViecs.Where(i => i.MaHM.Equals(txtmahangmuc)); _db.CongViecs.DeleteAllOnSubmit(congviecs); var macongviecs = _db.CongViecs.Where(i => i.MaHM.Equals(txtmahangmuc)).Select(i => i.MaHieuCV_User).ToList(); var haophis = _db.ThanhPhanHaoPhis.Where(i => macongviecs.Contains(i.MaHieuCV_User)); _db.ThanhPhanHaoPhis.DeleteAllOnSubmit(haophis); _db.SubmitChanges(); //lay dong cuoi cung bang congviec var macv_last = _db.CongViecs.OrderByDescending(i => i.MaHieuCV_User).Select(i => i.MaHieuCV_User).FirstOrDefault(); var macv_now = (dynamic)null; int d_cv = 0; if (macv_last != null) { macv_now = macv_last.ToString().Substring(3, macv_last.ToString().Length - 3); d_cv = Convert.ToInt32(macv_now.ToString()); } else { d_cv = 0; } //lay dong cuoi cung bang thanhphanhaophi var mahp_last = _db.ThanhPhanHaoPhis.OrderByDescending(o => o.MaHP).Select(o => o.MaHP).FirstOrDefault(); var mahp_now = (dynamic)null; int d_hp = 0; if (mahp_last != null) { mahp_now = mahp_last.ToString().Substring(4, mahp_last.ToString().Length - 4); d_hp = Convert.ToInt32(mahp_now.ToString()); } else { d_hp = 0; } for (int i = 0; i < txtmahieucv_dmArr.Length; i++) { macv_now = "CV_" + Convert.ToString(d_cv + 1); CongViec cv_user = new CongViec(); cv_user.MaHM = txtmahangmuc; cv_user.MaHieuCV_User = macv_now; cv_user.MaHieuCV_DM = txtmahieucv_dmArr[i]; cv_user.TenCongViec = txttencvArr[i]; cv_user.DonVi = txtdonviArr[i]; cv_user.KhoiLuong = Convert.ToDecimal(txtkhoiluongArr[i]); cv_user.GiaVL = Convert.ToDecimal(txtgiavlArr[i]); cv_user.GiaNC = Convert.ToDecimal(txtgiancArr[i]); cv_user.GiaMTC = Convert.ToDecimal(txtgiamtcArr[i]); cv_user.ThanhTien = Convert.ToDecimal(txtthanhtiencArr[i]); //insert thanh phan hao phi var list_haophi = (from ct in _db.ChiTiet_DinhMucs join dg in _db.DonGias on ct.MaVL_NC_MTC equals dg.MaVL_NC_MTC where ct.MaHieuCV_DM.Equals(cv_user.MaHieuCV_DM) select new HaoPhi_DM_ViewModel() { Ma = ct.MaVL_NC_MTC, Ten = dg.Ten, DonVi = dg.DonVi, Gia = dg.Gia * ct.SoLuong }).ToList(); foreach (var k in list_haophi) { if (k.Ma.ToString().Substring(0, 1) == "V") { mahp_now = "V_HP" + Convert.ToString(d_hp + 1); } if (k.Ma.ToString().Substring(0, 1) == "N") { mahp_now = "N_HP" + Convert.ToString(d_hp + 1); } if (k.Ma.ToString().Substring(0, 1) == "M") { mahp_now = "M_HP" + Convert.ToString(d_hp + 1); } ThanhPhanHaoPhi hp = new ThanhPhanHaoPhi(); hp.MaHP = mahp_now; hp.MaHieuCV_User = macv_now; hp.Ten = k.Ten; hp.DonVi = k.DonVi; hp.Gia = k.Gia; d_hp = d_hp + 1; _db.ThanhPhanHaoPhis.InsertOnSubmit(hp); } d_cv = d_cv + 1; _db.CongViecs.InsertOnSubmit(cv_user); } } } _db.SubmitChanges(); return(RedirectToAction("Index", "CongTrinh")); }