Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        /// <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);
        }