コード例 #1
0
        public async Task <Result <List <FeedbackDetailDTO> > > GetAllFeedbackDetailAsync(CompanyUserSearchModel searchModel)
        {
            searchModel.FixPageDefinations();
            int?companyId = searchModel.CompanyId;
            int?placeId   = searchModel.PlaceId;
            int?userId    = searchModel.UserId;
            IQueryable <Feedback> source = _unitOfWork.EntityRepository <Feedback>()
                                           .GetQueryable((Feedback w) =>
                                                         w.IsDeleted == false &&
                                                         ((object)placeId == null || (object)(int?)w.PlaceId == (object)placeId) &&
                                                         ((object)userId == null || (object)w.UserId == (object)userId) &&
                                                         ((object)companyId == null || (object)(int?)w.Place.CompanyId == (object)companyId)
                                                         , null);

            //IQueryable<Feedback> source = _unitOfWork.EntityRepository<Feedback>().GetQueryable((Feedback w) => w.IsDeleted == false, null);
            if (!string.IsNullOrEmpty(searchModel.SearchText))
            {
                source = from w in source
                         where w.Description.Contains(searchModel.SearchText)
                         select w;
            }
            return(Result.Data(await EntityFrameworkQueryableExtensions.ToListAsync <FeedbackDetailDTO>(from s in (from o in source
                                                                                                                   orderby o.Id
                                                                                                                   select o).Skip(searchModel.PageSize * searchModel.PageIndex).Take(searchModel.PageSize)
                                                                                                        select new FeedbackDetailDTO
            {
                Id = s.Id,
                DeskCode = s.DeskCode,
                Description = s.Description,
                CreatedDate = s.CreatedDate,
                PlcId = s.PlaceId,
                Place = s.Place.Name,
                Info = (s.DetailId.HasValue ? new FeedbackDetailInfoDTO
                {
                    EmployeeRate = s.Detail.EmployeeRate,
                    FlavorRate = s.Detail.FlavorRate,
                    PriceRate = s.Detail.PriceRate,
                    CleaningRate = s.Detail.CleaningRate,
                    AdviseRate = s.Detail.AdviseRate
                } : null),
                User = (s.UserId.HasValue ? new UserDTO
                {
                    Id = s.User.Id,
                    Name = s.User.Name,
                    Email = s.User.Email,
                    Phone = s.User.Phone
                } : null),
                IsUserShare = s.IsUserShare,
                IsAnon = (s.UserId.HasValue == false)
            }, default(CancellationToken))));
        }
コード例 #2
0
    public async Task <Result <List <PromotionDTO> > > GetAllPromotionAsync(CompanyUserSearchModel searchModel)
    {
        searchModel.FixPageDefinations();
        int?companyId = searchModel.CompanyId;
        int?placeId   = searchModel.PlaceId;
        int?userId    = searchModel.UserId;
        IQueryable <Promotion> source = _unitOfWork.EntityRepository <Promotion>().GetQueryable((Expression <Func <Promotion, bool> >)((Promotion w) => ((object)placeId == null || (object)(int?)w.PlaceId == (object)placeId) && ((object)userId == null || (object)(int?)w.UserId == (object)userId) && ((object)companyId == null || (object)(int?)w.Place.CompanyId == (object)companyId)), (Func <IQueryable <Promotion>, IOrderedQueryable <Promotion> >)null, Array.Empty <Expression <Func <Promotion, object> > >());

        if (!string.IsNullOrEmpty(searchModel.SearchText))
        {
            source = from w in source
                     where w.Message.Contains(searchModel.SearchText)
                     select w;
        }
        DateTime today = DateTime.Today;

        return(Result.Data <List <PromotionDTO> >(await EntityFrameworkQueryableExtensions.ToListAsync <PromotionDTO>(from s in (from o in source
                                                                                                                                 orderby o.Id
                                                                                                                                 select o).Skip(searchModel.PageSize * searchModel.PageIndex).Take(searchModel.PageSize)
                                                                                                                      select new PromotionDTO
        {
            Id = s.Id,
            Title = s.Title,
            Message = s.Message,
            DueDate = s.DueDate,
            IsActive = s.IsActive,
            CreatedDate = s.CreatedDate,
            CreatedBy = s.CreatedBy,
            UsageCode = s.UsageCode,
            UserId = s.UserId,
            Status = ((s.DueDate < today) ? "Süresi Bitti" : (s.IsActive ? "Aktif" : "Kullanıldı")),
            User = new UserInfoDTO
            {
                Id = s.User.Id,
                Name = s.User.Name,
                Email = s.User.Email
            },
            Place = new PlaceInfoDTO
            {
                Id = s.Place.Id,
                Name = s.Place.Name
            }
        }, default(CancellationToken))));
    }
コード例 #3
0
        public async Task <Result <List <FeedbackDTO> > > GetAllFeedbackAsync(CompanyUserSearchModel searchModel)
        {
            searchModel.FixPageDefinations();
            int?companyId = searchModel.CompanyId;
            int?placeId   = searchModel.PlaceId;
            int?userId    = searchModel.UserId;
            IQueryable <Feedback> source = _unitOfWork.EntityRepository <Feedback>().GetQueryable((Feedback w) => w.IsDeleted == false && ((object)placeId == null || (object)(int?)w.PlaceId == (object)placeId) && ((object)userId == null || (object)w.UserId == (object)userId) && ((object)companyId == null || (object)(int?)w.Place.CompanyId == (object)companyId), null);

            if (!string.IsNullOrEmpty(searchModel.SearchText))
            {
                source = from w in source
                         where w.Description.Contains(searchModel.SearchText)
                         select w;
            }
            return(Result.Data(await EntityFrameworkQueryableExtensions.ToListAsync <FeedbackDTO>(from s in (from o in source
                                                                                                             orderby o.Id descending
                                                                                                             select o).Skip(searchModel.PageSize * searchModel.PageIndex).Take(searchModel.PageSize)
                                                                                                  select new FeedbackDTO
            {
                Id = s.Id,
                DeskCode = s.DeskCode,
                Description = s.Description,
                CreatedDate = s.CreatedDate,
                CreatedBy = s.CreatedBy,
                UserId = s.UserId,
                User = (s.UserId.HasValue ? new UserInfoDTO
                {
                    Id = s.User.Id,
                    Name = s.User.Name
                } : null),
                PlaceId = s.PlaceId,
                Place = new PlaceInfoDTO
                {
                    Id = s.Place.Id,
                    Name = s.Place.Name
                }
            }, default(CancellationToken))));
        }