public KhungThoiGian(ENKhungGio khunggio) { GioTu = 0; GioDen = 24; switch (khunggio) { case ENKhungGio.Sang: { GioDen = 12; } break; case ENKhungGio.Chieu: { GioTu = 12; GioDen = 19; } break; case ENKhungGio.Toi: { GioTu = 19; GioDen = 24; } break; } }
public virtual List <LichTrinh> GetAllLichTrinhByKhungGio(int NhaXeId, ENKhungGio khunggio = ENKhungGio.All) { var query = _LichTrinhRepository.Table; query = query.Where(m => m.NhaXeId == NhaXeId); if (khunggio != ENKhungGio.All) { var khungtg = new KhungThoiGian(khunggio); query = query.Where(c => c.ThoiGianDi.Hour >= khungtg.GioTu && c.ThoiGianDi.Hour < khungtg.GioDen ); } return(query.ToList()); }
public List <NguonVeXe> GetAllNguonVeXe(int NhaXeId = 0, int LichTrinhId = 0, int HanhTrinhId = 0, int DiemDonGocId = 0, int DiemDenGocId = 0, ENKhungGio khunggio = ENKhungGio.All) { var khungtg = new KhungThoiGian(khunggio); var query = _NguonVeXeRepository.Table.Where(c => !c.isDelete && c.ThoiGianDi.Hour >= khungtg.GioTu && c.ThoiGianDi.Hour < khungtg.GioDen ); if (NhaXeId > 0) { query = query.Where(c => c.NhaXeId == NhaXeId); } if (LichTrinhId > 0) { query = query.Where(c => c.LichTrinhId == LichTrinhId); } if (HanhTrinhId > 0) { var lichtrinhids = _LichTrinhRepository.Table.Where(c => c.HanhTrinhId == HanhTrinhId).Select(c => c.Id).ToList(); query = query.Where(c => lichtrinhids.Contains(c.LichTrinhId)); } if (DiemDonGocId > 0) { query = query.Where(c => c.DiemDonGocId == DiemDonGocId); } if (DiemDenGocId > 0) { query = query.Where(c => c.DiemDenGocId == DiemDenGocId); } return(query.ToList().OrderBy(t => t.ThoiGianDiHienTai).ToList()); }
/// <summary> /// lay xe xuat ben theo nguon ve /// </summary> /// <param name="nguonveid"></param> /// <returns></returns> public virtual List <HistoryXeXuatBen> GetAllChuyenDiTrongNgay(int NhaXeId, DateTime NgayDi, int HanhTrinhId = 0, ENKhungGio khunggio = ENKhungGio.All, string ThongTin = null, bool isSoNguoi = true, int LoaiXeId = 0, bool istop = false) { var khungtg = new KhungThoiGian(khunggio); var query = _historyxexuatbenRepository.Table.Where(c => c.NhaXeId == NhaXeId && (c.NguonVeInfo.LoaiXeId == LoaiXeId || LoaiXeId == 0) && (!c.NguonVeInfo.isDelete && c.NguonVeInfo.HienThi) && c.NgayDi.Year == NgayDi.Year && c.NgayDi.Month == NgayDi.Month && c.NgayDi.Day == NgayDi.Day && c.TrangThaiId != (int)ENTrangThaiXeXuatBen.HUY && c.NgayDi.Hour >= khungtg.GioTu && c.NgayDi.Hour < khungtg.GioDen ); var test1 = query.ToList(); if (HanhTrinhId > 0) { query = query.Where(c => c.HanhTrinhId == HanhTrinhId); } if (!String.IsNullOrEmpty(ThongTin)) { //theo thong tin kiem theo khach hang //lay thong tin chuyen di co trong khach hang //var customerids = _khachhangRepository.Table.Where(c => c.SearchInfo.Contains(ThongTin)).Select(c => c.CustomerId).Distinct().ToArray(); var customerids = _khachhangRepository.Table.Where(c => c.HoTen == ThongTin || c.DienThoai == ThongTin).Select(c => c.CustomerId).Distinct().ToArray(); var chuyendiphoiveids = _phoiveRepository.Table.Where(c => c.NgayDi.Year == NgayDi.Year && c.NgayDi.Month == NgayDi.Month && c.NgayDi.Day == NgayDi.Day && customerids.Contains(c.CustomerId) && c.TrangThaiId != (int)ENTrangThaiPhoiVe.Huy).Select(c => c.ChuyenDiId).ToList(); query = query.Where(c => (chuyendiphoiveids.Contains(c.Id) || c.xevanchuyen.BienSo.Contains(ThongTin) || c.LaiPhuXes.Any(n => n.nhanvien.HoVaTen.Contains(ThongTin)))); } var test = query.ToList(); var xexuatbens = query.OrderBy(m => m.NgayDi).ToList(); if (istop) { DateTime fromdate = DateTime.Now.AddMinutes(-30); DateTime todate = DateTime.Now.AddMinutes(30); xexuatbens = xexuatbens.Where( (c => c.NgayDi >= fromdate && c.NgayDi <= todate) ).ToList(); } if (isSoNguoi) { //lay thong tin dat ve int[] trangthaiids = { (int)ENTrangThaiPhoiVe.ChoXuLy, (int)ENTrangThaiPhoiVe.DaGiaoHang, (int)ENTrangThaiPhoiVe.GiuCho, (int)ENTrangThaiPhoiVe.DaThanhToan, (int)ENTrangThaiPhoiVe.KetThuc }; foreach (var item in xexuatbens) { item.SoNguoi = _phoiveRepository.Table.Where(c => c.ChuyenDiId == item.Id && trangthaiids.Contains(c.TrangThaiId)).Count(); } } return(xexuatbens); }
/// <summary> /// lay xe xuat ben theo nguon ve /// </summary> /// <param name="nguonveid"></param> /// <returns></returns> public virtual List <HistoryXeXuatBen> GetAllTuyenDiTrongNgay(DateTime NgayDi, ENKhungGio khunggio = ENKhungGio.All, string ThongTin = null) { var khungtg = new KhungThoiGian(khunggio); var query = _historyxexuatbenRepository.Table.Where(c => c.NgayDi.Year == NgayDi.Year && c.TrangThaiId != (int)ENTrangThaiXeXuatBen.HUY && c.NgayDi.Month == NgayDi.Month && c.NgayDi.Day == NgayDi.Day && c.TrangThaiId != (int)ENTrangThaiXeXuatBen.HUY && c.HanhTrinh.isTuyenDi && c.NguonVeInfo.ThoiGianDi.Hour >= khungtg.GioTu && c.NguonVeInfo.ThoiGianDi.Hour < khungtg.GioDen ); if (!String.IsNullOrEmpty(ThongTin)) { query = query.Where(c => c.xevanchuyen.BienSo.Contains(ThongTin) || c.LaiPhuXes.Any(n => n.nhanvien.HoVaTen.Contains(ThongTin))); } var xexuatbens = query.OrderBy(c => c.NgayDi).ToList(); return(xexuatbens); }