Ejemplo n.º 1
0
        public IList <PhieuBanHangViewModel> SearchDanhSachPhieuBanHang(String key, string trangthai, DateTime tungay, DateTime denngay, string userName)
        {
            IQueryable <PhieuBanHang>    danhSachPhieuBanHang = _phieuBanHangRepo.GetAll();
            List <PhieuBanHangViewModel> all           = new List <PhieuBanHangViewModel>();
            List <PhieuBanHangViewModel> allForManager = new List <PhieuBanHangViewModel>();

            //Nếu là nhân viên
            if (_nhanVienBus.layMaChucVu(userName) == 4)
            {
                if ((!(tungay == default(DateTime))) && (!(denngay == default(DateTime))))
                {
                    all = (from phieubanhang in danhSachPhieuBanHang
                           join nhanvien in _nhanVienRepo.GetAll()
                           on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                           where (nhanvien.MaNhanVien.Equals(userName) && (phieubanhang.NgayBan >= tungay.Date && phieubanhang.NgayBan <= denngay.Date))
                           select new
                    {
                        SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                        NgayBan = phieubanhang.NgayBan,
                        TenNhanVien = nhanvien.TenNhanvien,
                        KhachHang = phieubanhang.TenKhachHang,
                        TongTien = phieubanhang.TongTien,
                        TrangThai = phieubanhang.TrangThai,
                        ChuThich = phieubanhang.Ghichu,
                        SoDienThoai = phieubanhang.SoDienThoai
                    }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                    {
                        soPhieuBanHang = x.SoPhieuBanHang,
                        ngayBan        = x.NgayBan,
                        tenKhachHang   = x.KhachHang,
                        tongTien       = x.TongTien,
                        tenNhanVien    = x.TenNhanVien,
                        trangThai      = x.TrangThai,
                        soDienThoai    = x.SoDienThoai,
                        ghiChu         = x.ChuThich,
                    }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                    return(all);
                }
                if (!string.IsNullOrEmpty(key))
                {
                    all = (from phieubanhang in danhSachPhieuBanHang
                           join nhanvien in _nhanVienRepo.GetAll()
                           on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                           where (nhanvien.UserName.Equals(userName) && (
                                      phieubanhang.SoPhieuBanHang.ToString().Contains(key) ||
                                      phieubanhang.TenKhachHang.Contains(key) ||
                                      phieubanhang.SoDienThoai.Contains(key)))
                           select new
                    {
                        KhachHang = phieubanhang.TenKhachHang,
                        TongTien = phieubanhang.TongTien,
                        SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                        NgayBan = phieubanhang.NgayBan,
                        TenNhanVien = nhanvien.TenNhanvien,
                        TrangThai = phieubanhang.TrangThai,
                        ChuThich = phieubanhang.Ghichu,
                        SoDienThoai = phieubanhang.SoDienThoai
                    }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                    {
                        tenKhachHang   = x.KhachHang,
                        tongTien       = x.TongTien,
                        soPhieuBanHang = x.SoPhieuBanHang,
                        ngayBan        = x.NgayBan,
                        tenNhanVien    = x.TenNhanVien,
                        trangThai      = x.TrangThai,
                        ghiChu         = x.ChuThich,
                        soDienThoai    = x.SoDienThoai,
                    }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                    return(all);
                }
                if (!string.IsNullOrEmpty(trangthai))
                {
                    all = (from phieubanhang in danhSachPhieuBanHang
                           join nhanvien in _nhanVienRepo.GetAll()
                           on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                           where (nhanvien.UserName.Equals(userName) && phieubanhang.TrangThai.ToString().Equals(trangthai))
                           select new
                    {
                        KhachHang = phieubanhang.TenKhachHang,
                        TongTien = phieubanhang.TongTien,
                        SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                        NgayBan = phieubanhang.NgayBan,
                        TenNhanVien = nhanvien.TenNhanvien,
                        TrangThai = phieubanhang.TrangThai,
                        ChuThich = phieubanhang.Ghichu,
                        SoDienThoai = phieubanhang.SoDienThoai
                    }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                    {
                        tenKhachHang   = x.KhachHang,
                        tongTien       = x.TongTien,
                        soPhieuBanHang = x.SoPhieuBanHang,
                        ngayBan        = x.NgayBan,
                        tenNhanVien    = x.TenNhanVien,
                        trangThai      = x.TrangThai,
                        ghiChu         = x.ChuThich,
                        soDienThoai    = x.SoDienThoai,
                    }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                    return(all);
                }

                all = (from phieubanhang in danhSachPhieuBanHang
                       join nhanvien in _nhanVienRepo.GetAll()
                       on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                       where (nhanvien.UserName.Equals(userName) && phieubanhang.TrangThai.Equals(true))
                       select new
                {
                    KhachHang = phieubanhang.TenKhachHang,
                    TongTien = phieubanhang.TongTien,
                    SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                    NgayBan = phieubanhang.NgayBan,
                    TenNhanVien = nhanvien.TenNhanvien,
                    TrangThai = phieubanhang.TrangThai,
                    ChuThich = phieubanhang.Ghichu,
                    SoDienThoai = phieubanhang.SoDienThoai
                }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                {
                    tenKhachHang   = x.KhachHang,
                    tongTien       = x.TongTien,
                    soPhieuBanHang = x.SoPhieuBanHang,
                    ngayBan        = x.NgayBan,
                    tenNhanVien    = x.TenNhanVien,
                    trangThai      = x.TrangThai,
                    ghiChu         = x.ChuThich,
                    soDienThoai    = x.SoDienThoai,
                }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                return(all);
            }
            ////////////////
            else
            {
                if ((!(tungay == default(DateTime))) && (!(denngay == default(DateTime))))
                {
                    allForManager = (from phieubanhang in danhSachPhieuBanHang
                                     join nhanvien in _nhanVienRepo.GetAll()
                                     on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                                     where (phieubanhang.NgayBan >= tungay.Date && phieubanhang.NgayBan <= denngay.Date)
                                     select new
                    {
                        KhachHang = phieubanhang.TenKhachHang,
                        TongTien = phieubanhang.TongTien,
                        SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                        NgayBan = phieubanhang.NgayBan,
                        TenNhanVien = nhanvien.TenNhanvien,
                        TrangThai = phieubanhang.TrangThai,
                        ChuThich = phieubanhang.Ghichu,
                        SoDienThoai = phieubanhang.SoDienThoai
                    }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                    {
                        tenKhachHang   = x.KhachHang,
                        tongTien       = x.TongTien,
                        soPhieuBanHang = x.SoPhieuBanHang,
                        ngayBan        = x.NgayBan,
                        tenNhanVien    = x.TenNhanVien,
                        trangThai      = x.TrangThai,
                        ghiChu         = x.ChuThich,
                        soDienThoai    = x.SoDienThoai,
                    }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                    return(allForManager);
                }
                if (!string.IsNullOrEmpty(key))
                {
                    allForManager = (from phieubanhang in danhSachPhieuBanHang
                                     join nhanvien in _nhanVienRepo.GetAll()
                                     on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                                     where (phieubanhang.SoPhieuBanHang.ToString().Contains(key) ||
                                            phieubanhang.TenKhachHang.Contains(key) ||
                                            phieubanhang.SoDienThoai.Contains(key))
                                     select new
                    {
                        KhachHang = phieubanhang.TenKhachHang,
                        TongTien = phieubanhang.TongTien,
                        SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                        NgayBan = phieubanhang.NgayBan,
                        TenNhanVien = nhanvien.TenNhanvien,
                        TrangThai = phieubanhang.TrangThai,
                        ChuThich = phieubanhang.Ghichu,
                        SoDienThoai = phieubanhang.SoDienThoai
                    }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                    {
                        tenKhachHang   = x.KhachHang,
                        tongTien       = x.TongTien,
                        soPhieuBanHang = x.SoPhieuBanHang,
                        ngayBan        = x.NgayBan,
                        tenNhanVien    = x.TenNhanVien,
                        trangThai      = x.TrangThai,
                        ghiChu         = x.ChuThich,
                        soDienThoai    = x.SoDienThoai,
                    }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                    return(allForManager);
                }
                if (!string.IsNullOrEmpty(trangthai))
                {
                    allForManager = (from phieubanhang in danhSachPhieuBanHang
                                     join nhanvien in _nhanVienRepo.GetAll()
                                     on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                                     where phieubanhang.TrangThai.ToString().Equals(trangthai)
                                     select new
                    {
                        KhachHang = phieubanhang.TenKhachHang,
                        TongTien = phieubanhang.TongTien,
                        SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                        NgayBan = phieubanhang.NgayBan,
                        TenNhanVien = nhanvien.TenNhanvien,
                        TrangThai = phieubanhang.TrangThai,
                        ChuThich = phieubanhang.Ghichu,
                        SoDienThoai = phieubanhang.SoDienThoai
                    }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                    {
                        tenKhachHang   = x.KhachHang,
                        tongTien       = x.TongTien,
                        soPhieuBanHang = x.SoPhieuBanHang,
                        ngayBan        = x.NgayBan,
                        tenNhanVien    = x.TenNhanVien,
                        trangThai      = x.TrangThai,
                        ghiChu         = x.ChuThich,
                        soDienThoai    = x.SoDienThoai,
                    }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                    return(allForManager);
                }

                allForManager = (from phieubanhang in danhSachPhieuBanHang
                                 join nhanvien in _nhanVienRepo.GetAll()
                                 on phieubanhang.MaNhanVien equals nhanvien.MaNhanVien
                                 where phieubanhang.TrangThai.Equals(true)
                                 select new
                {
                    KhachHang = phieubanhang.TenKhachHang,
                    TongTien = phieubanhang.TongTien,
                    SoPhieuBanHang = phieubanhang.SoPhieuBanHang,
                    NgayBan = phieubanhang.NgayBan,
                    TenNhanVien = nhanvien.TenNhanvien,
                    TrangThai = phieubanhang.TrangThai,
                    ChuThich = phieubanhang.Ghichu,
                    SoDienThoai = phieubanhang.SoDienThoai
                }).AsEnumerable().Select(x => new PhieuBanHangViewModel()
                {
                    tenKhachHang   = x.KhachHang,
                    tongTien       = x.TongTien,
                    soPhieuBanHang = x.SoPhieuBanHang,
                    ngayBan        = x.NgayBan,
                    tenNhanVien    = x.TenNhanVien,
                    trangThai      = x.TrangThai,
                    ghiChu         = x.ChuThich,
                    soDienThoai    = x.SoDienThoai,
                }).OrderByDescending(x => x.soPhieuBanHang).ToList();
                return(allForManager);
            }
        }
Ejemplo n.º 2
0
        public IList <BaoCaoBanHangViewModel> ListView(string userName, DateTime dateFrom, DateTime dateTo)
        {
            IQueryable <PhieuBanHang>     danhSachPhieuBanHang = _phieuBanHangRepo.GetAll();
            List <BaoCaoBanHangViewModel> all           = new List <BaoCaoBanHangViewModel>();
            List <BaoCaoBanHangViewModel> allForManager = new List <BaoCaoBanHangViewModel>();

            if (_nhanVienBus.layMaChucVu(userName) == 4)
            {
                all = (from phieuBanHang in danhSachPhieuBanHang
                       join nhanvien in _nhanVienRepo.GetAll()
                       on phieuBanHang.MaNhanVien equals nhanvien.MaNhanVien
                       where (nhanvien.UserName.Equals(userName))
                       select new
                {
                    NgayBan = phieuBanHang.NgayBan,
                    SoDonHang = 0,
                    TongTien = phieuBanHang.TongTien
                }).AsEnumerable().Select(x => new BaoCaoBanHangViewModel()
                {
                    ngayBan   = x.NgayBan,
                    soDonHang = x.SoDonHang,
                    tongTien  = x.TongTien
                }).OrderBy(x => x.ngayBan).ToList();
                return(all);
            }
            else
            {
                if ((!(dateFrom == default(DateTime))) && (!(dateTo == default(DateTime))))
                {
                    allForManager = (from phieuBanHang in danhSachPhieuBanHang
                                     join nhanVien in _nhanVienRepo.GetAll()
                                     on phieuBanHang.MaNhanVien equals nhanVien.MaNhanVien
                                     where phieuBanHang.NgayBan >= dateFrom.Date && phieuBanHang.NgayBan <= dateTo.Date
                                     group phieuBanHang by phieuBanHang.NgayBan into pgroup
                                     select new
                    {
                        NgayBan = pgroup.Key,
                        SoDonHang = pgroup.Count(),
                        TongTien = pgroup.Sum(phieuBanHang => phieuBanHang.TongTien)
                    }).AsEnumerable().Select(x => new BaoCaoBanHangViewModel()
                    {
                        ngayBan   = x.NgayBan,
                        soDonHang = x.SoDonHang,
                        tongTien  = x.TongTien
                    }).OrderBy(x => x.ngayBan).ToList();
                    return(allForManager);
                }
            }
            allForManager = (from phieuBanHang in danhSachPhieuBanHang
                             join nhanVien in _nhanVienRepo.GetAll()
                             on phieuBanHang.MaNhanVien equals nhanVien.MaNhanVien
                             where phieuBanHang.NgayBan.Month == DateTime.Now.Month && phieuBanHang.NgayBan.Year == DateTime.Now.Year
                             group phieuBanHang by phieuBanHang.NgayBan into pgroup
                             select new
            {
                NgayBan = pgroup.Key,
                SoDonHang = pgroup.Count(),
                TongTien = pgroup.Sum(phieuBanHang => phieuBanHang.TongTien)
            }).AsEnumerable().Select(x => new BaoCaoBanHangViewModel()
            {
                ngayBan   = x.NgayBan,
                soDonHang = x.SoDonHang,
                tongTien  = x.TongTien
            }).OrderBy(x => x.ngayBan).ToList();
            return(allForManager);
        }