public void CopyItemFromQuyetDinh( decimal ip_dc_id_don_vi , decimal ip_dc_id_quyet_dinh_1 , decimal ip_dc_id_quyet_dinh_2) { /*Copy Cong trinh/Du an (Khoan/Muc, Tieu muc) tu 'Quyet dinh 1' sang 'Quyet dinh 2'*/ BKI_QLDTEntities db = new BKI_QLDTEntities(); var lst_gd_qd_1 = db.GD_CHI_TIET_GIAO_KH .Where(x => x.ID_QUYET_DINH == ip_dc_id_quyet_dinh_1 && x.ID_DON_VI == ip_dc_id_don_vi) .ToList(); var lst_gd_qd_2 = db.GD_CHI_TIET_GIAO_KH .Where(x => x.ID_QUYET_DINH == ip_dc_id_quyet_dinh_2 && x.ID_DON_VI == ip_dc_id_don_vi) .ToList(); //Duyet tung du an, muc-tieu muc cua Quyet dinh 1 foreach (var gd_qd1 in lst_gd_qd_1) { //Neu la cong trinh if (gd_qd1.ID_CONG_TRINH != null) { //Kiem tra xem da co trong Giao Ke hoach cua Quyet dinh 2 chua if (lst_gd_qd_2.Where(x => x.ID_CONG_TRINH == gd_qd1.ID_CONG_TRINH && x.ID_DU_AN == gd_qd1.ID_DU_AN && x.ID_LOAI_NHIEM_VU == gd_qd1.ID_LOAI_NHIEM_VU) .ToList() .Count == 0) //Neu chua co thi them vao Giao Ke hoach voi so tien NS, QBT, NTCS =0 { GD_CHI_TIET_GIAO_KH v_gd = new GD_CHI_TIET_GIAO_KH(); v_gd.ID_DON_VI = ip_dc_id_don_vi; v_gd.ID_QUYET_DINH = ip_dc_id_quyet_dinh_2; v_gd.ID_LOAI_NHIEM_VU = gd_qd1.ID_LOAI_NHIEM_VU; v_gd.ID_CONG_TRINH = gd_qd1.ID_CONG_TRINH; v_gd.ID_DU_AN = gd_qd1.ID_DU_AN; //so km v_gd.GHI_CHU_2 = gd_qd1.GHI_CHU_2; v_gd.SO_TIEN_NAM_TRUOC_CHUYEN_SANG = 0; v_gd.SO_TIEN_NAM_TRUOC_CHUYEN_SANG_NS = 0; v_gd.SO_TIEN_NS = 0; v_gd.SO_TIEN_QUY_BT = 0; v_gd.TONG_MUC_DAU_TU = 0; v_gd.THOI_GIAN_THUC_HIEN = 0; db.GD_CHI_TIET_GIAO_KH.Add(v_gd); db.SaveChanges(); lst_gd_qd_2 = db.GD_CHI_TIET_GIAO_KH .Where(x => x.ID_QUYET_DINH == ip_dc_id_quyet_dinh_2 && x.ID_DON_VI == ip_dc_id_don_vi) .ToList(); } //Neu da co roi thi bo qua else { } } //Neu la muc-tieu muc else { //Kiem tra xem da co trong Giao Ke hoach cua Quyet dinh 2 chua if (lst_gd_qd_2.Where(x => x.ID_KHOAN == gd_qd1.ID_KHOAN && x.ID_MUC == gd_qd1.ID_MUC && x.ID_TIEU_MUC == gd_qd1.ID_TIEU_MUC && x.ID_LOAI_NHIEM_VU == gd_qd1.ID_LOAI_NHIEM_VU) .ToList() .Count == 0) //Neu chua co thi them vao Giao Ke hoach voi so tien NS, QBT, NTCS =0 { GD_CHI_TIET_GIAO_KH v_gd = new GD_CHI_TIET_GIAO_KH(); v_gd.ID_DON_VI = ip_dc_id_don_vi; v_gd.ID_QUYET_DINH = ip_dc_id_quyet_dinh_2; v_gd.ID_LOAI_NHIEM_VU = gd_qd1.ID_LOAI_NHIEM_VU; v_gd.ID_KHOAN = gd_qd1.ID_KHOAN; v_gd.ID_MUC = gd_qd1.ID_MUC; v_gd.ID_TIEU_MUC = gd_qd1.ID_TIEU_MUC; //noi dung du toan v_gd.GHI_CHU_1 = gd_qd1.GHI_CHU_1; v_gd.TU_CHU_YN = gd_qd1.TU_CHU_YN; v_gd.SO_TIEN_NAM_TRUOC_CHUYEN_SANG = 0; v_gd.SO_TIEN_NAM_TRUOC_CHUYEN_SANG_NS = 0; v_gd.SO_TIEN_NS = 0; v_gd.SO_TIEN_QUY_BT = 0; v_gd.TONG_MUC_DAU_TU = 0; v_gd.THOI_GIAN_THUC_HIEN = 0; db.GD_CHI_TIET_GIAO_KH.Add(v_gd); db.SaveChanges(); lst_gd_qd_2 = db.GD_CHI_TIET_GIAO_KH .Where(x => x.ID_QUYET_DINH == ip_dc_id_quyet_dinh_2 && x.ID_DON_VI == ip_dc_id_don_vi) .ToList(); } //Neu da co roi thi bo qua else { } } } }
public void UpdateGiaoDich( decimal ip_dc_ID , decimal ip_dc_ID_QUYET_DINH , decimal ip_dc_ID_DON_VI , string ip_str_CONG_TRINH , decimal ip_dc_TONG_MUC_DAU_TU , decimal ip_dc_THOI_GIAN_THUC_HIEN , decimal ip_dc_SO_TIEN_QUY_BT , decimal ip_dc_SO_TIEN_NS , decimal ip_dc_ID_CHUONG , decimal ip_dc_ID_KHOAN , decimal ip_dc_ID_MUC , string ip_str_GHI_CHU , decimal ip_dc_ID_TIEU_MUC , decimal ip_dc_SO_TIEN_NAM_TRUOC_CHUYEN_SANG_QBT , decimal ip_dc_SO_TIEN_NAM_TRUOC_CHUYEN_SANG_NS , decimal ip_dc_ID_LOAI_NHIEM_VU , string ip_str_DU_AN , string ip_str_TU_CHU_YN , string ip_str_GHI_CHU_1 , string ip_str_GHI_CHU_2 , string ip_str_GHI_CHU_3 , string ip_str_GHI_CHU_4 ) { BKI_QLDTEntities db = new BKI_QLDTEntities(); GD_CHI_TIET_GIAO_KH gd; if (ip_dc_ID == -1) { gd = new GD_CHI_TIET_GIAO_KH(); } else gd = db.GD_CHI_TIET_GIAO_KH.FirstOrDefault(x => x.ID == ip_dc_ID); if (gd == null) return; gd.ID_QUYET_DINH = ip_dc_ID_QUYET_DINH; gd.ID_DON_VI = ip_dc_ID_DON_VI; gd.SO_TIEN_QUY_BT = ip_dc_SO_TIEN_QUY_BT; gd.SO_TIEN_NS = ip_dc_SO_TIEN_NS; gd.TONG_MUC_DAU_TU = ip_dc_TONG_MUC_DAU_TU; gd.THOI_GIAN_THUC_HIEN = ip_dc_THOI_GIAN_THUC_HIEN; if (ip_dc_ID_CHUONG == -1) gd.ID_CHUONG = null; else gd.ID_CHUONG = ip_dc_ID_CHUONG; if (ip_dc_ID_KHOAN == -1) gd.ID_KHOAN = null; else gd.ID_KHOAN = ip_dc_ID_KHOAN; if (ip_dc_ID_MUC == -1) gd.ID_MUC = null; else gd.ID_MUC = ip_dc_ID_MUC; gd.GHI_CHU = ip_str_GHI_CHU.Equals("-1") ? null : ip_str_GHI_CHU; if (ip_dc_ID_TIEU_MUC == -1) gd.ID_TIEU_MUC = null; else gd.ID_TIEU_MUC = ip_dc_ID_TIEU_MUC; gd.SO_TIEN_NAM_TRUOC_CHUYEN_SANG = ip_dc_SO_TIEN_NAM_TRUOC_CHUYEN_SANG_QBT; gd.SO_TIEN_NAM_TRUOC_CHUYEN_SANG_NS = ip_dc_SO_TIEN_NAM_TRUOC_CHUYEN_SANG_NS; gd.ID_LOAI_NHIEM_VU = ip_dc_ID_LOAI_NHIEM_VU; if (!ip_str_CONG_TRINH.Trim().Equals("")) { //Xu ly du lieu, lay id cong trinh, id du an DM_CONG_TRINH_DU_AN_GOI_THAU v_cong_trinh = db.DM_CONG_TRINH_DU_AN_GOI_THAU .FirstOrDefault(x => x.TEN.Trim() == ip_str_CONG_TRINH.Trim()); //&& x.DM_CONG_TRINH_DU_AN_GOI_THAU_CHILDREN.Where(y => y.TEN == ip_str_DU_AN //).Count() > 0) ; //Neu cong trinh khong co trong csdl thi insert vao if (v_cong_trinh == null) { v_cong_trinh = new DM_CONG_TRINH_DU_AN_GOI_THAU(); v_cong_trinh.ID_DON_VI = ip_dc_ID_DON_VI; v_cong_trinh.ID_LOAI = WebUS.ID_LOAI_CONG_TRINH_DU_AN_GOI_THAU.CONG_TRINH; v_cong_trinh.TEN = ip_str_CONG_TRINH; db.DM_CONG_TRINH_DU_AN_GOI_THAU.Add(v_cong_trinh); db.SaveChanges(); v_cong_trinh = db.DM_CONG_TRINH_DU_AN_GOI_THAU.FirstOrDefault(x => x.TEN.Trim() == ip_str_CONG_TRINH.Trim()); } DM_CONG_TRINH_DU_AN_GOI_THAU v_du_an = db.DM_CONG_TRINH_DU_AN_GOI_THAU .FirstOrDefault(x => x.TEN.Trim() == ip_str_DU_AN.Trim() && x.ID_CHA == v_cong_trinh.ID ); if (v_du_an == null) { v_du_an = new DM_CONG_TRINH_DU_AN_GOI_THAU(); v_du_an.ID_CHA = v_cong_trinh.ID; v_du_an.TEN = ip_str_DU_AN; v_du_an.ID_LOAI = WebUS.ID_LOAI_CONG_TRINH_DU_AN_GOI_THAU.DU_AN; db.DM_CONG_TRINH_DU_AN_GOI_THAU.Add(v_du_an); db.SaveChanges(); v_du_an = db.DM_CONG_TRINH_DU_AN_GOI_THAU.FirstOrDefault(x => x.TEN.Trim() == ip_str_DU_AN.Trim()); } gd.ID_CONG_TRINH = v_cong_trinh.ID; gd.ID_DU_AN = v_du_an.ID; gd.TU_CHU_YN = (ip_str_TU_CHU_YN.Equals("-1") ? null : ip_str_TU_CHU_YN); gd.GHI_CHU_1 = (ip_str_GHI_CHU_1.Equals("-1") ? null : ip_str_GHI_CHU_1); //Xu ly du lieu so KM decimal v_so_km = 0; decimal.TryParse(ip_str_GHI_CHU_2.Replace(",", ""), out v_so_km); gd.GHI_CHU_2 = v_so_km.ToString(); gd.GHI_CHU_3 = (ip_str_GHI_CHU_3.Equals("-1") ? null : ip_str_GHI_CHU_3); gd.GHI_CHU_4 = (ip_str_GHI_CHU_4.Equals("-1") ? null : ip_str_GHI_CHU_4); if (ip_dc_ID == -1) { db.GD_CHI_TIET_GIAO_KH.Add(gd); } db.SaveChanges(); } }