コード例 #1
0
        public async Task <IActionResult> GetAll([FromQuery] TaiKhoanParams userParams)
        {
            try
            {
                var result = await _repo.GetAll(userParams);

                var resultToReturn = _mapper.Map <IEnumerable <TaiKhoanForListDto> >(result);

                Response.AddPagination(result.CurrentPage, result.PageSize, result.TotalCount, result.TotalPages);

                return(StatusCode(200, new SuccessResponseDto
                {
                    Message = "Lấy danh sách tất cả các " + _entityName + " thành công!",
                    Result = new SuccessResponseResultWithMultipleDataDto
                    {
                        Data = resultToReturn,
                        TotalItems = _repo.GetTotalItems(),
                        TotalPages = _repo.GetTotalPages(),
                        PageNumber = userParams.PageNumber,
                        PageSize = userParams.PageSize,
                        StatusStatistics = _repo.GetStatusStatistics(userParams)
                    }
                }));
            }
            catch (Exception e)
            {
                return(StatusCode(500, new FailedResponseDto
                {
                    Message = "Lấy danh sách tất cả các " + _entityName + " thất bại!",
                    Result = new FailedResponseResultDto
                    {
                        Errors = e
                    }
                }));
            }
        }
コード例 #2
0
        public async Task <PagedList <TaiKhoan> > GetAll(TaiKhoanParams userParams)
        {
            var result    = _context.DanhSachTaiKhoan.AsQueryable();
            var sortField = userParams.SortField;
            var sortOrder = userParams.SortOrder;
            var keyword   = userParams.Keyword;

            var maTaiKhoan      = userParams.MaTaiKhoan;
            var tenDangNhap     = userParams.TenDangNhap;
            var phanQuyen       = userParams.PhanQuyen;
            var hoVaTen         = userParams.HoVaTen;
            var gioiTinh        = userParams.GioiTinh;
            var ngaySinhBatDau  = userParams.NgaySinhBatDau;
            var ngaySinhKetThuc = userParams.NgaySinhKetThuc;
            var email           = userParams.Email;
            var diaChi          = userParams.DiaChi;
            var soDienThoai     = userParams.SoDienThoai;

            var thoiGianTaoBatDau      = userParams.ThoiGianTaoBatDau;
            var thoiGianTaoKetThuc     = userParams.ThoiGianTaoKetThuc;
            var thoiGianCapNhatBatDau  = userParams.ThoiGianCapNhatBatDau;
            var thoiGianCapNhatKetThuc = userParams.ThoiGianCapNhatKetThuc;
            var trangThai = userParams.TrangThai;
            var daXoa     = userParams.DaXoa;

            // Tai khoan
            if (!string.IsNullOrEmpty(maTaiKhoan))
            {
                result = result.Where(x => x.MaTaiKhoan.ToLower().Contains(maTaiKhoan.ToLower()));
            }

            if (!string.IsNullOrEmpty(tenDangNhap))
            {
                result = result.Where(x => x.TenDangNhap.ToLower().Contains(tenDangNhap.ToLower()));
            }

            if (!string.IsNullOrEmpty(hoVaTen))
            {
                result = result.Where(x => x.HoVaTen.ToLower().Contains(hoVaTen.ToLower()));
            }

            if (!string.IsNullOrEmpty(gioiTinh))
            {
                result = result.Where(x => x.GioiTinh.ToLower().Contains(gioiTinh.ToLower()));
            }

            if (!string.IsNullOrEmpty(phanQuyen))
            {
                result = result.Where(x => x.PhanQuyen.ToLower().Contains(phanQuyen.ToLower()));
            }

            if (ngaySinhBatDau.GetHashCode() != 0 && ngaySinhKetThuc.GetHashCode() != 0)
            {
                result = result.Where(x => x.NgaySinh >= ngaySinhBatDau && x.NgaySinh <= ngaySinhKetThuc);
            }

            if (!string.IsNullOrEmpty(email))
            {
                result = result.Where(x => x.Email.ToLower().Contains(email.ToLower()));
            }

            if (!string.IsNullOrEmpty(diaChi))
            {
                result = result.Where(x => x.DiaChi.ToLower().Contains(diaChi.ToLower()));
            }

            if (!string.IsNullOrEmpty(soDienThoai))
            {
                result = result.Where(x => x.SoDienThoai.ToLower().Contains(soDienThoai.ToLower()));
            }

            // Base
            if (thoiGianTaoBatDau.GetHashCode() != 0 && thoiGianTaoKetThuc.GetHashCode() != 0)
            {
                result = result.Where(x => x.ThoiGianTao >= thoiGianTaoBatDau && x.ThoiGianTao <= thoiGianTaoKetThuc);
            }

            if (thoiGianCapNhatBatDau.GetHashCode() != 0 && thoiGianCapNhatKetThuc.GetHashCode() != 0)
            {
                result = result.Where(x => x.ThoiGianCapNhat >= thoiGianCapNhatBatDau && x.ThoiGianCapNhat <= thoiGianCapNhatKetThuc);
            }

            if (trangThai == -1 || trangThai == 1)
            {
                result = result.Where(x => x.TrangThai == trangThai);
            }

            if (daXoa == 1 || daXoa == 0)
            {
                result = result.Where(x => x.DaXoa == daXoa);
            }

            if (!string.IsNullOrEmpty(sortField) && !string.IsNullOrEmpty(sortOrder))
            {
                switch (sortField)
                {
                case "MaTaiKhoan":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.MaTaiKhoan);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.MaTaiKhoan);
                    }
                    break;

                case "TenDangNhap":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.TenDangNhap);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.TenDangNhap);
                    }
                    break;

                case "PhanQuyen":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.PhanQuyen);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.PhanQuyen);
                    }
                    break;

                case "ThoiGianTao":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.ThoiGianTao);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.ThoiGianTao);
                    }
                    break;

                case "ThoiGianCapNhat":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.ThoiGianCapNhat);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.ThoiGianCapNhat);
                    }
                    break;

                case "TrangThai":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.TrangThai);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.TrangThai);
                    }
                    break;

                default:
                    result = result.OrderByDescending(x => x.ThoiGianTao);
                    break;
                }
            }

            return(await PagedList <TaiKhoan> .CreateAsync(result, userParams.PageNumber, userParams.PageSize));
        }
コード例 #3
0
        public object GetStatusStatistics(TaiKhoanParams userParams)
        {
            var result                 = _context.DanhSachTaiKhoan.AsQueryable();
            var sortField              = userParams.SortField;
            var sortOrder              = userParams.SortOrder;
            var keyword                = userParams.Keyword;
            var phanQuyen              = userParams.PhanQuyen;
            var thoiGianTaoBatDau      = userParams.ThoiGianTaoBatDau;
            var thoiGianTaoKetThuc     = userParams.ThoiGianTaoKetThuc;
            var thoiGianCapNhatBatDau  = userParams.ThoiGianCapNhatBatDau;
            var thoiGianCapNhatKetThuc = userParams.ThoiGianCapNhatKetThuc;
            var trangThai              = userParams.TrangThai;

            if (!string.IsNullOrEmpty(keyword))
            {
                result = result.Where(x => x.TenDangNhap.ToLower().Contains(keyword.ToLower()) || x.MaTaiKhoan.ToString() == keyword);
            }

            if (!string.IsNullOrEmpty(phanQuyen))
            {
                result = result.Where(x => x.PhanQuyen.ToLower().Contains(phanQuyen.ToLower()));
            }

            if (thoiGianTaoBatDau.GetHashCode() != 0 && thoiGianTaoKetThuc.GetHashCode() != 0)
            {
                result = result.Where(x => x.ThoiGianTao >= thoiGianTaoBatDau && x.ThoiGianTao <= thoiGianTaoKetThuc);
            }

            if (thoiGianCapNhatBatDau.GetHashCode() != 0 && thoiGianCapNhatKetThuc.GetHashCode() != 0)
            {
                result = result.Where(x => x.ThoiGianCapNhat >= thoiGianCapNhatBatDau && x.ThoiGianCapNhat <= thoiGianCapNhatKetThuc);
            }

            if (trangThai == -1 || trangThai == 1)
            {
                result = result.Where(x => x.TrangThai == trangThai);
            }

            if (!string.IsNullOrEmpty(sortField) && !string.IsNullOrEmpty(sortOrder))
            {
                switch (sortField)
                {
                case "MaTaiKhoan":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.MaTaiKhoan);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.MaTaiKhoan);
                    }
                    break;

                case "TenDangNhap":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.TenDangNhap);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.TenDangNhap);
                    }
                    break;

                case "PhanQuyen":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.PhanQuyen);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.PhanQuyen);
                    }
                    break;

                case "ThoiGianTao":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.ThoiGianTao);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.ThoiGianTao);
                    }
                    break;

                case "ThoiGianCapNhat":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.ThoiGianCapNhat);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.ThoiGianCapNhat);
                    }
                    break;

                case "TrangThai":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.TrangThai);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.TrangThai);
                    }
                    break;

                default:
                    result = result.OrderByDescending(x => x.ThoiGianTao);
                    break;
                }
            }

            var all      = result.Count();
            var active   = result.Count(x => x.DaXoa == 0);
            var inactive = result.Count(x => x.DaXoa == 1);

            return(new
            {
                All = all,
                Active = active,
                Inactive = inactive
            });
        }
コード例 #4
0
        public async Task <PagedList <TaiKhoan> > GetAll(TaiKhoanParams userParams)
        {
            var result                 = _context.DanhSachTaiKhoan.AsQueryable();
            var sortField              = userParams.SortField;
            var sortOrder              = userParams.SortOrder;
            var keyword                = userParams.Keyword;
            var phanQuyen              = userParams.PhanQuyen;
            var thoiGianTaoBatDau      = userParams.ThoiGianTaoBatDau;
            var thoiGianTaoKetThuc     = userParams.ThoiGianTaoKetThuc;
            var thoiGianCapNhatBatDau  = userParams.ThoiGianCapNhatBatDau;
            var thoiGianCapNhatKetThuc = userParams.ThoiGianCapNhatKetThuc;
            var trangThai              = userParams.TrangThai;

            if (!string.IsNullOrEmpty(keyword))
            {
                result = result.Where(x => x.TenDangNhap.ToLower().Contains(keyword.ToLower()) || x.MaTaiKhoan.ToString() == keyword);
            }

            if (!string.IsNullOrEmpty(phanQuyen))
            {
                result = result.Where(x => x.PhanQuyen.ToLower().Contains(phanQuyen.ToLower()));
            }

            if (thoiGianTaoBatDau.GetHashCode() != 0 && thoiGianTaoKetThuc.GetHashCode() != 0)
            {
                result = result.Where(x => x.ThoiGianTao >= thoiGianTaoBatDau && x.ThoiGianTao <= thoiGianTaoKetThuc);
            }

            if (thoiGianCapNhatBatDau.GetHashCode() != 0 && thoiGianCapNhatKetThuc.GetHashCode() != 0)
            {
                result = result.Where(x => x.ThoiGianCapNhat >= thoiGianCapNhatBatDau && x.ThoiGianCapNhat <= thoiGianCapNhatKetThuc);
            }

            if (trangThai == -1 || trangThai == 1)
            {
                result = result.Where(x => x.TrangThai == trangThai);
            }

            if (!string.IsNullOrEmpty(sortField) && !string.IsNullOrEmpty(sortOrder))
            {
                switch (sortField)
                {
                case "MaTaiKhoan":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.MaTaiKhoan);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.MaTaiKhoan);
                    }
                    break;

                case "TenDangNhap":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.TenDangNhap);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.TenDangNhap);
                    }
                    break;

                case "PhanQuyen":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.PhanQuyen);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.PhanQuyen);
                    }
                    break;

                case "ThoiGianTao":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.ThoiGianTao);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.ThoiGianTao);
                    }
                    break;

                case "ThoiGianCapNhat":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.ThoiGianCapNhat);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.ThoiGianCapNhat);
                    }
                    break;

                case "TrangThai":
                    if (string.Equals(sortOrder, "ASC", StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.OrderBy(x => x.TrangThai);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.TrangThai);
                    }
                    break;

                default:
                    result = result.OrderByDescending(x => x.ThoiGianTao);
                    break;
                }
            }

            return(await PagedList <TaiKhoan> .CreateAsync(result, userParams.PageNumber, userParams.PageSize));
        }