/// <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); } }
public JsonResult TuyenDuongMoi(TuyenDuongMoiViewModel tuyenDuongMoi) { var data = BangGiaQueries.TinhBangGiaTuyenDuongMoi(tuyenDuongMoi); return(Json(new { data = data }, JsonRequestBehavior.AllowGet)); }
public static TuyenDuongMoiViewModel TinhBangGiaTuyenDuongMoi(TuyenDuongMoiViewModel tuyenDuongMoi) { var entity = new QuanLyThueXeEntities(); try { //lue danh sach loại xe vào lstMaLoaiXe var lstGiaXeMoi = tuyenDuongMoi.strGiaXeMoi.Split(','); //Luu mang so luong vao lstSoLuong var lstSoLuong = tuyenDuongMoi.StrSoLuongXeMoi.Split(','); int[] arrSoluong = new int[10]; int i = 0; foreach (var sl in lstSoLuong) { arrSoluong[i] = int.Parse(sl); i++; } int j = 0; //Tong gia thue xe decimal?tongTien = 0; decimal?chiPhi = 0; decimal?giaNiemYet = 0; foreach (var gx in lstGiaXeMoi) { var gia = decimal.Parse(gx.Replace(".", "")); tongTien = tongTien + gia * arrSoluong[j]; giaNiemYet = giaNiemYet + gia * arrSoluong[j]; j++; } if (!string.IsNullOrEmpty(tuyenDuongMoi.strMaChiPhiMoi)) { //lue danh sach loại xe vào lstMaLoaiXe var lstMaCP = tuyenDuongMoi.strMaChiPhiMoi.Split(','); //Luu mang so luong vao lstSoLuong if (string.IsNullOrEmpty(tuyenDuongMoi.strSoLuongCPMoi)) { tuyenDuongMoi.strSoLuongCPMoi = ","; } var lstSoLuongCP = tuyenDuongMoi.strSoLuongCPMoi.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 mcp in lstMaCP) { //if (string.IsNullOrEmpty(arrSoluongCP[jCP].ToString()) || arrSoluongCP[jCP] == 0) //{ // ChiPhiPhatSinh cp = entity.ChiPhiPhatSinhs.SingleOrDefault(n => n.MaChiPhi == mcp); // chiPhi = chiPhi + decimal.Parse(arrSoluongCP[jCP].ToString().Replace(".", "")); //} //else //{ chiPhi = chiPhi + arrSoluongCP[jCP]; //} jCP++; //decimal.Parse(arrSoluongCP[jCP].ToString().Replace(".", "")) } } var result = new TuyenDuongMoiViewModel() { GiaNiemYetMoi = giaNiemYet, TongTienMoi = tongTien - decimal.Parse(tuyenDuongMoi.GiamGiaMoi.ToString().Replace(".", "")) + chiPhi, }; return(result); } catch (Exception ex) { entity.Dispose(); return(null); } }
public ActionResult MenuThemHopDong(HopDongViewModel HD, CT_HopDongViewModel CTHD, KhachHangViewModel KH, TuyenDuongMoiViewModel tuyenDuongMoi, string LoaiXe, string strSoLuong, string strMaChiPhi, string strSoLuongCP, string iNgayLech = "1") { TaiKhoanViewModel taiKhoan = Session["TaiKhoan"] as TaiKhoanViewModel; HD.MaNV = taiKhoan.MaNV; ViewBag.LoTrinh = LoTrinhQueries.LayDanhSachLoTrinh(); ViewBag.LoaiXe = LoaiXeQueries.LayDanhSachLoaiXe(); ViewBag.KhachHang = KhachHangQueries.DanhSachKhachHang(); if (String.IsNullOrEmpty(LoaiXe)) { var model = HopDongQueries.ThemHopDongTuyenDuongMoi(HD, CTHD, KH, tuyenDuongMoi); } else { var model = HopDongQueries.ThemHopDong(HD, CTHD, KH, LoaiXe, strSoLuong, strMaChiPhi, strSoLuongCP, iNgayLech); } return(RedirectToAction("MenuDanhSachHopDong", "HopDong")); }