public virtual PagedResultsDTO <ProposalDTO> Find(string filterQuery = "", string institutionId = "", bool futureOnly = false, string sortField = "limitDate", string sortDirection = "desc", int pageNo = 0, int pageSize = 0) { if (pageSize <= 0) { return(null); } var mapper = new MapperConfiguration(cfg => { cfg.CreateMap <PagedResultsDTO <Proposal>, PagedResultsDTO <ProposalDTO> >(); cfg.CreateMap <Proposal, ProposalDTO>(); cfg.CreateMap <Institution, InstitutionDTO>(); cfg.CreateMap <ProposalDocument, ProposalDocumentDTO>(); }).CreateMapper(); var query = proposalService.Get().Where(p => p.Title.ToLower().Contains(filterQuery) && (string.IsNullOrEmpty(institutionId) || p.InstitutionId == institutionId) && (!futureOnly || p.LimitDate > DateTime.Now)); switch (sortField) { case "startDate": query = sortDirection == "asc" ? query.OrderBy(p => p.StartDate ?? DateTime.MaxValue) : query.OrderByDescending(p => p.StartDate ?? DateTime.MinValue); break; case "limitDate": query = sortDirection == "asc" ? query.OrderBy(p => p.LimitDate ?? DateTime.MaxValue) : query.OrderByDescending(p => p.LimitDate ?? DateTime.MinValue); break; } var result = PagedResultsDTO <Proposal> .GetPagedResultsDTO(query, pageNo, pageSize); return(mapper.Map <PagedResultsDTO <ProposalDTO> >(result)); }
public PagedResultsDTO GetInviteesByInvitation(long userID, long invitationID, int page, int pageSize) { PagedResultsDTO results = new PagedResultsDTO(); results.TotalCount = _repository.Queryable().Count(x => x.UserID == userID && x.InvitationID == invitationID); results.Data = Mapper.Map <List <Invitee>, List <InviteeDTO> >(_repository.Query(x => x.UserID == userID && x.InvitationID == invitationID).Select().OrderBy(x => x.InvitationID).Skip((page - 1) * pageSize) .Take(pageSize).ToList()); return(results); }
public PagedResultsDTO GetPagingContactsByGroup(long userID, long groupID, int page, int pageSize) { PagedResultsDTO results = new PagedResultsDTO(); results.TotalCount = _repository.Queryable().Count(x => !x.ContactInThisGroupIsDeleted && x.UserID == userID); results.Data = Mapper.Map <List <Contact>, List <ContactDTO> >(_repository.Query(x => x.GroupID == groupID && !x.Contact.ContactIsDeleted && !x.ContactInThisGroupIsDeleted && x.UserID == userID).Select(x => x.Contact).OrderBy(x => x.ContactID).Skip((page - 1) * pageSize) .Take(pageSize).ToList()); return(results); }
public PagedResultsDTO GetAllContactsForCertainUser(long userID, int page, int pageSize) { PagedResultsDTO results = new PagedResultsDTO(); results.TotalCount = _repository.Queryable().Count(x => !x.ContactIsDeleted && x.UserID == userID); results.Data = Mapper.Map <List <Contact>, List <ContactDTO> >(_repository.Query(x => !x.ContactIsDeleted && x.UserID == userID).Select().OrderBy(x => x.ContactID).Skip((page - 1) * pageSize) .Take(pageSize).ToList()); return(results); }
public PagedResultsDTO GetAllTemplatesForCertainUser(long userID, int page, int pageSize) { PagedResultsDTO results = new PagedResultsDTO(); results.TotalCount = _repository.Queryable().Count(x => !x.TemplateIsDeleted && (x.UserID == userID || x.UserID == 15)); //&& x.UserID == userID //&& x.UserID == userID results.Data = Mapper.Map <List <Template>, List <TemplateDTO> >(_repository.Query(x => !x.TemplateIsDeleted && (x.UserID == userID || x.UserID == 15)).Select().OrderBy(x => x.TemplateID).Skip((page - 1) * pageSize) .Take(pageSize).ToList()); return(results); }
public PagedResultsDTO GetAllGroups(long userID, int page, int pageSize) { PagedResultsDTO results = new PagedResultsDTO(); results.TotalCount = _repository.Queryable().Count(x => !x.GroupIsDeleted && x.UserID == userID); results.Data = Mapper.Map <List <Group>, List <GroupDTO> >(_repository.Query(x => !x.GroupIsDeleted && x.UserID == userID).Select().OrderBy(x => x.GroupID).Skip((page - 1) * pageSize) .Take(pageSize).ToList()); //var groups = _repository.Query(x => x.UserID == userID && x.GroupIsDeleted != true).Select().ToList(); return(results); }