/// <summary> /// Chỉnh sửa hợp đồng /// </summary> /// <param name="HD"></param> /// <returns></returns> public static Boolean ChinhSuaHopDong(HopDongViewModel HD, String strMaChiPhi, String strSoLuong) { var entity = new QuanLyThueXeEntities(); try { HopDong hd = entity.HopDongs.SingleOrDefault(n => n.SoHopDong == HD.SoHopDong); hd.GiamGia = HD.GiamGia; hd.GhiChu = HD.GhiChu; hd.MaKH = HD.MaKH; hd.MaLoTrinh = HD.MaLoTrinh; //lấy list mã chi phí phát sinh var lstCPPS = strMaChiPhi.Split(','); // Cắt chuỗi lấy list số lượng var lstSoLuong = strSoLuong.Split(','); int[] arrSoluong = new int[10]; int i = 0; foreach (var sl in lstSoLuong) { arrSoluong[i] = int.Parse(sl); i++; } int j = 0; foreach (var cp in lstCPPS) { ChiTietChiPhiPhatSinh ct = new ChiTietChiPhiPhatSinh(); ct.MaChiPhi = cp; ct.SoHopDong = hd.SoHopDong; ct.SoLuong = arrSoluong[j]; ChiPhiPhatSinh x = entity.ChiPhiPhatSinhs.Where(n => n.MaChiPhi == cp).SingleOrDefault(); ct.DonGia = x.PhiPhatSinh; entity.ChiTietChiPhiPhatSinhs.Add(ct); j++; } entity.SaveChanges(); return(true); } catch (Exception ex) { entity.Dispose(); return(false); } }
/// <summary> /// Tạo hợp đồng /// </summary> /// <param name="HD"></param> /// <param name="CTHD"></param> /// <param name="KH"></param> /// <param name="lstLoaiXe"></param> /// <returns>Boolean</returns> public static Boolean ThemHopDong(HopDongViewModel HD, CT_HopDongViewModel CTHD, KhachHangViewModel KH, String lstLoaiXe, String strSoLuong, String strMaChiPhi, String strSoLuongCP, string iNgayLech) { var entity = new QuanLyThueXeEntities(); try { // Them moi hop dong var hopDong = new HopDong(); if (KH.MaKH == "Detra") { KhachHangQueries.ThemKhachHang(KH); var kh = entity.KhachHangs.OrderByDescending(n => n.STT).Take(1).SingleOrDefault(); hopDong.MaKH = kh.MaKH; } else if (!String.IsNullOrEmpty(KH.MaKH)) { hopDong.MaKH = KH.MaKH; var kh = entity.KhachHangs.SingleOrDefault(n => n.MaKH == KH.MaKH); } hopDong.GiamGia = decimal.Parse(HD.GiamGia.ToString().Replace(".", "")); hopDong.SoHopDong = TuDongTangSoHD(); hopDong.NgayLapHD = DateTime.Now; hopDong.MaLoTrinh = HD.MaLoTrinh; hopDong.MaNV = HD.MaNV; hopDong.MaTrangThai = "0"; hopDong.SoTienTraTruoc = 0; hopDong.SoTienConLai = HD.SoTienConLai; hopDong.GhiChu = HD.GhiChu; entity.HopDongs.Add(hopDong); if (!String.IsNullOrEmpty(strMaChiPhi)) { //lấy list mã chi phí phát sinh var lstCPPS = strMaChiPhi.Split(','); // Cắt chuỗi lấy list số lượng var lstSoLuongCP = strSoLuongCP.Split(','); decimal[] arrSoluongCP = new decimal[10]; int iCP = 0; foreach (var sl in lstSoLuongCP) { if (!string.IsNullOrEmpty(sl)) { arrSoluongCP[iCP] = decimal.Parse(sl.ToString().Replace(".", "")); } iCP++; } int jCP = 0; foreach (var cp in lstCPPS) { ChiTietChiPhiPhatSinh ct = new ChiTietChiPhiPhatSinh(); ct.MaChiPhi = cp; ct.SoHopDong = hopDong.SoHopDong; ct.SoLuong = 1; if (String.IsNullOrEmpty(arrSoluongCP[jCP].ToString()) || arrSoluongCP[jCP] == 0) { ChiPhiPhatSinh x = entity.ChiPhiPhatSinhs.Where(n => n.MaChiPhi == cp).SingleOrDefault(); ct.DonGia = x.PhiPhatSinh; } else { ct.DonGia = arrSoluongCP[jCP]; } entity.ChiTietChiPhiPhatSinhs.Add(ct); jCP++; } } var lstMaLoaiXe = lstLoaiXe.Split('#'); //Cắt chuỗi loại xe var lstSoLuong = strSoLuong.Split(','); // Cắt chuỗi số lượng int[] arrSoluong = new int[10]; int i = 0; foreach (var sl in lstSoLuong) { arrSoluong[i] = int.Parse(sl); i++; } //Them moi Chi tiet hop dong int j = 0; //int ngay = Int16.Parse(iNgayLech); foreach (var mlx in lstMaLoaiXe) { for (int sl = 0; sl < arrSoluong[j]; sl++) { var chiTietHD = new CT_HopDong(); chiTietHD.SoHopDong = hopDong.SoHopDong; chiTietHD.MaLoaiXe = mlx; chiTietHD.SoLuongNguoi = CTHD.SoLuongNguoi; chiTietHD.NgayDi = DateTime.Parse(CTHD.NgayDi.ToString("dd/MM/yyyy") + " " + CTHD.GioDon.Value.ToString("HH:mm")); chiTietHD.NgayVe = DateTime.Parse(CTHD.NgayVe.ToString("dd/MM/yyyy HH:mm")); chiTietHD.GioDon = DateTime.Parse(CTHD.NgayDi.ToString("dd/MM/yyyy") + " " + CTHD.GioDon.Value.ToString("HH:mm")); chiTietHD.DiaDiemDon = CTHD.DiaDiemDon; chiTietHD.Gia = (BangGiaQueries.TinhGiaUocTinh(mlx, hopDong.MaLoTrinh).Gia); chiTietHD.MaCongTy = CTHD.MaCongTy; chiTietHD.GhiChu = CTHD.GhiChu; chiTietHD.SoLuong = 1; entity.CT_HopDongs.Add(chiTietHD); } j++; } ////Them moi hoa don //var hoaDon = new HoaDon(); //hoaDon.SoHoaDon = "HD" + hopDong.SoHopDong; //hoaDon.NgayLap = hopDong.NgayLapHD; //hoaDon.MaKH = hopDong.MaKH; //hoaDon.MaNV = hopDong.MaNV; //entity.HoaDons.Add(hoaDon); ////Them chi tiet hoa don //var chiTietHoaDon = new CT_HoaDon(); //chiTietHoaDon.SoHoaDon = hoaDon.SoHoaDon; //chiTietHoaDon.SoHopDong = hopDong.SoHopDong; //chiTietHoaDon.TongSoXeThue = chiTietHoaDon.TongSoXeThue; //chiTietHoaDon.SoTienTraTruoc = hopDong.SoTienTraTruoc; //chiTietHoaDon.SoTienConLai = hopDong.SoTienConLai; //chiTietHoaDon.TongThanhToan = hopDong.SoTienTraTruoc + hopDong.SoTienConLai; //entity.CT_HoaDons.Add(chiTietHoaDon); entity.SaveChanges(); return(true); } catch (Exception ex) { entity.Dispose(); return(false); } }
/// <summary> /// Tạo hợp đồng /// </summary> /// <param name="HD"></param> /// <param name="CTHD"></param> /// <param name="KH"></param> /// <param name="lstLoaiXe"></param> /// <returns>Boolean</returns> public static Boolean ThemHopDongTuyenDuongMoi(HopDongViewModel HD, CT_HopDongViewModel CTHD, KhachHangViewModel KH, TuyenDuongMoiViewModel tuyenDuongMoi) { var entity = new QuanLyThueXeEntities(); try { //Tạo mới 1 obj lộ trình LoTrinhViewModel loTrinhMoi = new LoTrinhViewModel(); // Them moi hop dong var hopDong = new HopDong(); //Tạo mới 1 obj bảng giá var bangGia = new BangGiaViewModel(); //Cắt chuỗi loại xe var lstMaLoaiXe = tuyenDuongMoi.strLoaiXeMoi.Split(','); // Cắt chuỗi số lượng var lstSoLuong = tuyenDuongMoi.StrSoLuongXeMoi.Split(','); // Gán giá trị số lượng xe vào mảng int[] arrSoluong = new int[10]; int i = 0; foreach (var sl in lstSoLuong) { if (!string.IsNullOrEmpty(sl)) { arrSoluong[i] = int.Parse(sl); } i++; } // Cắt chuỗi giá loại xe var listGiaXe = tuyenDuongMoi.strGiaXeMoi.Split(','); // Gán giá trị xe vào chuỗi decimal[] arrGiaXe = new decimal[10]; int g = 0; foreach (var gx in listGiaXe) { arrGiaXe[g] = decimal.Parse(gx.ToString().Replace(".", "")); g++; } if (KH.MaKH == "Detra") { KhachHangQueries.ThemKhachHang(KH); var kh = entity.KhachHangs.OrderByDescending(n => n.STT).Take(1).SingleOrDefault(); hopDong.MaKH = kh.MaKH; //Gán thông tin lộ trình mới loTrinhMoi.TenLoTrinh = tuyenDuongMoi.TenLoTrinhMoi; loTrinhMoi.MaKH = "DETRA"; //Thêm lộ trình mới LoTrinhQueries.ThemLoTrinh(loTrinhMoi); //Lấy thông tin lộ trình vừa được thêm var lotrinh = entity.LoTrinhs.OrderByDescending(n => n.STT).Take(1).SingleOrDefault(); // Gán giá trị mã lộ trình mới thêm vào mã hợp đồng hopDong.MaLoTrinh = lotrinh.MaLoTrinh; //Gán giá trị cho bảng giá int bg = 0; foreach (var mlx in lstMaLoaiXe) { bangGia.MaLoaiXe = mlx; bangGia.ThoiGian = tuyenDuongMoi.GioUocTinh; bangGia.MaKH = KH.MaKH; bangGia.Gia = arrGiaXe[bg]; bangGia.MaLoTrinh = lotrinh.MaLoTrinh; bg++; //Thêm bảng giá BangGiaQueries.ThemBangGia(bangGia); } } else if (!String.IsNullOrEmpty(KH.MaKH)) { hopDong.MaKH = KH.MaKH; var kh = entity.KhachHangs.SingleOrDefault(n => n.MaKH == KH.MaKH); //Gán thông tin lộ trình mới loTrinhMoi.TenLoTrinh = tuyenDuongMoi.TenLoTrinhMoi; loTrinhMoi.MaKH = KH.MaKH; //Thêm lộ trình mới LoTrinhQueries.ThemLoTrinh(loTrinhMoi); //Thêm lộ trình mới LoTrinhQueries.ThemLoTrinh(loTrinhMoi); //Lấy thông tin lộ trình vừa được thêm var lotrinh = entity.LoTrinhs.OrderByDescending(n => n.STT).Take(1).SingleOrDefault(); // Gán giá trị mã lộ trình mới thêm vào mã hợp đồng hopDong.MaLoTrinh = lotrinh.MaLoTrinh; //Gán giá trị cho bảng giá int bg = 0; foreach (var mlx in lstMaLoaiXe) { bangGia.MaLoaiXe = mlx; bangGia.ThoiGian = tuyenDuongMoi.GioUocTinh; bangGia.MaKH = KH.MaKH; bangGia.Gia = arrGiaXe[bg]; bangGia.MaLoTrinh = lotrinh.MaLoTrinh; bg++; } //Thêm bảng giá BangGiaQueries.ThemBangGia(bangGia); } hopDong.GiamGia = decimal.Parse(tuyenDuongMoi.GiamGiaMoi.ToString().Replace(".", "")); hopDong.SoHopDong = TuDongTangSoHD(); hopDong.NgayLapHD = DateTime.Now; hopDong.MaNV = HD.MaNV; hopDong.MaTrangThai = "0"; hopDong.SoTienTraTruoc = 0; hopDong.SoTienConLai = tuyenDuongMoi.TongTienMoi; hopDong.GhiChu = tuyenDuongMoi.GhiChuMoi; entity.HopDongs.Add(hopDong); if (!String.IsNullOrEmpty(tuyenDuongMoi.strMaChiPhiMoi)) { //lấy list mã chi phí phát sinh var lstCPPS = tuyenDuongMoi.strMaChiPhiMoi.Split(','); // Cắt chuỗi lấy list số lượng if (string.IsNullOrEmpty(tuyenDuongMoi.strSoLuongCPMoi)) { tuyenDuongMoi.strSoLuongCPMoi = ","; } var lstSoLuongCP = tuyenDuongMoi.strSoLuongCPMoi.Split(','); //gán giá trị số lượng chi phí vào mảng decimal[] arrSoluongCP = new decimal[10]; int iCP = 0; foreach (var sl in lstSoLuongCP) { if (!string.IsNullOrEmpty(sl)) { arrSoluongCP[iCP] = decimal.Parse(sl.ToString().Replace(".", "")); } iCP++; } int jCP = 0; foreach (var cp in lstCPPS) { ChiTietChiPhiPhatSinh ct = new ChiTietChiPhiPhatSinh(); ct.MaChiPhi = cp; ct.SoHopDong = hopDong.SoHopDong; ct.SoLuong = 1; if (String.IsNullOrEmpty(arrSoluongCP[jCP].ToString()) || arrSoluongCP[jCP] == 0) { ChiPhiPhatSinh x = entity.ChiPhiPhatSinhs.Where(n => n.MaChiPhi == cp).SingleOrDefault(); ct.DonGia = x.PhiPhatSinh; } else { ct.DonGia = arrSoluongCP[jCP]; } entity.ChiTietChiPhiPhatSinhs.Add(ct); jCP++; } } //Them moi Chi tiet hop dong int j = 0; foreach (var mlx in lstMaLoaiXe) { for (int sl = 0; sl < arrSoluong[j]; sl++) { var chiTietHD = new CT_HopDong(); chiTietHD.SoHopDong = hopDong.SoHopDong; chiTietHD.MaLoaiXe = mlx; chiTietHD.SoLuongNguoi = tuyenDuongMoi.SoLuongNguoiMoi; chiTietHD.NgayDi = DateTime.Parse(tuyenDuongMoi.NgayDiMoi.Value.ToString("dd/MM/yyyy") + " " + tuyenDuongMoi.GioDonMoi.Value.ToString("HH:mm")); chiTietHD.NgayVe = DateTime.Parse(tuyenDuongMoi.NgayVeMoi.Value.ToString("dd/MM/yyyy HH:mm")); chiTietHD.GioDon = DateTime.Parse(tuyenDuongMoi.NgayDiMoi.Value.ToString("dd/MM/yyyy") + " " + tuyenDuongMoi.GioDonMoi.Value.ToString("HH:mm")); chiTietHD.DiaDiemDon = tuyenDuongMoi.DiaDiemMoi; chiTietHD.Gia = arrGiaXe[j]; chiTietHD.MaCongTy = CTHD.MaCongTy; chiTietHD.GhiChu = CTHD.GhiChu; chiTietHD.SoLuong = 1; entity.CT_HopDongs.Add(chiTietHD); } j++; } ////Them moi hoa don //var hoaDon = new HoaDon(); //hoaDon.SoHoaDon = "HD" + hopDong.SoHopDong; //hoaDon.NgayLap = hopDong.NgayLapHD; //hoaDon.MaKH = hopDong.MaKH; //hoaDon.MaNV = hopDong.MaNV; //entity.HoaDons.Add(hoaDon); ////Them chi tiet hoa don //var chiTietHoaDon = new CT_HoaDon(); //chiTietHoaDon.SoHoaDon = hoaDon.SoHoaDon; //chiTietHoaDon.SoHopDong = hopDong.SoHopDong; //chiTietHoaDon.TongSoXeThue = chiTietHoaDon.TongSoXeThue; //chiTietHoaDon.SoTienTraTruoc = hopDong.SoTienTraTruoc; //chiTietHoaDon.SoTienConLai = hopDong.SoTienConLai; //chiTietHoaDon.TongThanhToan = hopDong.SoTienTraTruoc + hopDong.SoTienConLai; //entity.CT_HoaDons.Add(chiTietHoaDon); entity.SaveChanges(); return(true); } catch (Exception ex) { entity.Dispose(); return(false); } }