public JsonResult CapNhatHopDong( int J_HOSOKHACHHANG, string NGAYKYHOPDONG, string NGAYBATDAU, string TONGTIEN_HD, int?ID_LOAIHOPDONG, int J_SANPHAM, int SOLUONG, string DONGIA, int?CHIETKHAU, int?THANHTIEN, int?J_SALE_LEADER, int?J_GD_TRUNGTAM, int?J_GD_VUNG, int J_TH_BAOGIA, string TENGOIPHI, string EC, string EC_LEADER, string CM, string OM, string GDTT, string GDV, string GHICHU, int?ID_BOPHAN ) { try { int sc = 0; var ngaybatdau = DateTime.Parse(NGAYBATDAU); var nguoidung = db.DM_DTTC.FirstOrDefault(t => t.TAIKHOAN == TaiKhoan).ID_DTTC; var modelTaiPhi = db.APAX_THONGTIN_XEPLOP(J_HOSOKHACHHANG).FirstOrDefault(); if (ID_LOAIHOPDONG == 1044 && modelTaiPhi == null) // Không thể tái phí xuất thông báo { return(Json(-1, JsonRequestBehavior.AllowGet)); } // Insert hop dong moi int solandataiphi = db.TH_DUBAO.Where(t => t.J_HOSOKHACHHANG == J_HOSOKHACHHANG && t.ID_LYDO_HV == 103).ToList().Count(); db.TH_HOPDONG.Add(new TH_HOPDONG() { J_HOSOKHACHHANG = J_HOSOKHACHHANG, J_TH_BAOGIA = J_TH_BAOGIA, NGAYKYHOPDONG = DateTime.Parse(NGAYKYHOPDONG), NGAYBATDAU = DateTime.Parse(NGAYBATDAU), SOBUOI = SOLUONG, TONGTIEN_HD = TONGTIEN_HD == "" ? 0 : decimal.Parse(TONGTIEN_HD), ID_LOAIHOPDONG = ID_LOAIHOPDONG, ID_DTTC = nguoidung, NOIDUNGHOPDONG = TENGOIPHI, TK_EC = EC, TK_CM = CM, TK_GDTT = GDTT, TK_GDV = GDV, TK_EC_LEADER = EC_LEADER, TK_CM_LEADER = OM, SOHOPDONG = "1111", J_DTDTC = 1, DULIEUNHOM = true, J_SALE_LEADER = J_SALE_LEADER, J_GD_TRUNGTAM = J_GD_TRUNGTAM, J_GD_VUNG = J_GD_VUNG, SOTANGLUYKEHD = (solandataiphi + 1).ToString() }); sc += db.SaveChanges(); int a_th_hopdong = db.TH_HOPDONG.OrderByDescending(t => t.A_TH_HOPDONG).FirstOrDefault().A_TH_HOPDONG; db.TH_HOPDONG_SP.Add(new TH_HOPDONG_SP() { J_TH_HOPDONG = a_th_hopdong, J_SANPHAM = J_SANPHAM, SOLUONG = decimal.Parse(SOLUONG.ToString()), DONGIA = DONGIA == "" ? 0 : decimal.Parse(DONGIA), CHIETKHAU = CHIETKHAU, THANHTIEN = TONGTIEN_HD == "" ? 0 : decimal.Parse(TONGTIEN_HD), NOTE1 = GHICHU }); sc += db.SaveChanges(); if (ID_LOAIHOPDONG != 1044) //Học thử, Chính thức, Tái phí khác lớp { db.Database.ExecuteSqlCommand("UPDATE TH_HOSOKHACHHANG SET SOBUOIHOC = " + SOLUONG + " WHERE A_HOSOKHACHHANG = " + J_HOSOKHACHHANG); sc += db.SaveChanges(); } // Cập nhật TH_DUBAO and TH_DUBAO_SANPHAM if (modelTaiPhi != null && ID_LOAIHOPDONG == 1044) //Tái phí cùng lớp { var tongsobuoi = modelTaiPhi.SoBuoi + SOLUONG; var modelDuBao = db.TH_DUBAO.FirstOrDefault(t => t.A_TH_DUBAO == modelTaiPhi.A_TH_DUBAO); modelDuBao.NGAYLAM = DateTime.Now; //modelDuBao.NGAYGIAOHANG = DateTime.Parse(NGAYBATDAU); //modelDuBao.ID_LYDO_HV = 97; modelDuBao.NGAYTHANHTOAN = LayNgayKetThucDateTime(modelTaiPhi.NgayHocCuoi, SOLUONG, modelTaiPhi.Buoi1, modelTaiPhi.Buoi2, modelTaiPhi.ID_KHUVUC); //modelDuBao.ID_LYDO_TD = 237; modelDuBao.TK_EC = EC; modelDuBao.TK_CM = CM; modelDuBao.TK_GDTT = GDTT; modelDuBao.TK_GDV = GDV; modelDuBao.TK_EC_LEADER = EC_LEADER; modelDuBao.TK_CM_LEADER = OM; modelDuBao.DONGIA = DONGIA == null ? 0 : decimal.Parse(DONGIA); modelDuBao.SOBUOI = tongsobuoi; modelDuBao.TONGTIEN_DH = modelTaiPhi.ThanhTien + THANHTIEN; modelDuBao.ID_DTTC = nguoidung; sc += db.SaveChanges(); db.Database.ExecuteSqlCommand("Update TH_HOSOKHACHHANG set SOBUOIHOC = " + tongsobuoi + " where A_HOSOKHACHHANG = " + J_HOSOKHACHHANG); sc += db.SaveChanges(); var ngaythanhtoan = db.TH_DUBAO.FirstOrDefault(t => t.A_TH_DUBAO == modelTaiPhi.A_TH_DUBAO).NGAYTHANHTOAN; var modelDuBaoSanPham = db.TH_DUBAO_SANPHAM.FirstOrDefault(t => t.J_TH_DUBAO == modelTaiPhi.A_TH_DUBAO && t.J_SANPHAM == J_SANPHAM); modelDuBaoSanPham.SOLUONG = decimal.Parse(tongsobuoi.ToString()); modelDuBaoSanPham.DONGIA = DONGIA == "" ? 0 : decimal.Parse(DONGIA); modelDuBaoSanPham.CHIETKHAU = CHIETKHAU; modelDuBaoSanPham.THANHTIEN = modelTaiPhi.ThanhTien + THANHTIEN; modelDuBaoSanPham.DATENOTE1 = DateTime.Parse(NGAYBATDAU); modelDuBaoSanPham.DATENOTE2 = ngaythanhtoan; sc += db.SaveChanges(); //Insert đơn hàng cảnh báo tái phí db.TH_DUBAO.Add(new TH_DUBAO() { J_HOSOKHACHHANG = J_HOSOKHACHHANG, J_TH_HOPDONG = a_th_hopdong, J_KEHOACH = modelTaiPhi.A_KEHOACH, SOTANGLUYKEDB = modelTaiPhi.A_TH_DUBAO.ToString(), NGAYLAM = DateTime.Parse(NGAYKYHOPDONG), NGAYGIAOHANG = DateTime.Parse(NGAYBATDAU), NGAYTHANHTOAN = ngaythanhtoan, ID_BOPHAN = ID_BOPHAN, ID_LYDO_HV = 103, ID_DTTC = nguoidung }); sc += db.SaveChanges(); } else //Chính thức, tái phí khác lớp { db.TH_DUBAO.Add(new TH_DUBAO() { J_HOSOKHACHHANG = J_HOSOKHACHHANG, J_TH_HOPDONG = a_th_hopdong, NGAYLAM = DateTime.Parse(NGAYKYHOPDONG), NGAYGIAOHANG = DateTime.Parse(NGAYBATDAU), ID_BOPHAN = ID_BOPHAN, ID_LYDO_HV = 97, ID_LYDO_TD = 237, TK_EC = EC, TK_CM = CM, TK_GDTT = GDTT, TK_GDV = GDV, TK_EC_LEADER = EC_LEADER, TK_CM_LEADER = OM, DONGIA = DONGIA == "" ? 0 : decimal.Parse(DONGIA), SOBUOI = SOLUONG, TONGTIEN_DH = THANHTIEN, ID_DTTC = nguoidung }); sc += db.SaveChanges(); int j_th_dubao = db.TH_DUBAO.OrderByDescending(t => t.A_TH_DUBAO).FirstOrDefault().A_TH_DUBAO; db.TH_DUBAO_SANPHAM.Add(new TH_DUBAO_SANPHAM() { J_TH_DUBAO = j_th_dubao, J_SANPHAM = J_SANPHAM, SOLUONG = SOLUONG, DONGIA = DONGIA == "" ? 0 : decimal.Parse(DONGIA), CHIETKHAU = CHIETKHAU, THANHTIEN = THANHTIEN, DATENOTE1 = DateTime.Parse(NGAYBATDAU), }); db.Database.ExecuteSqlCommand("Update TH_HOSOKHACHHANG set SOBUOIHOC = " + SOLUONG + " where A_HOSOKHACHHANG = " + J_HOSOKHACHHANG); sc += db.SaveChanges(); } if (sc > 0) { return(Json(a_th_hopdong, JsonRequestBehavior.AllowGet)); } return(Json(sc, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { string tb = ex.Message; throw; } }