Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pageDetails"></param>
        /// <param name="subscriptionId"></param>
        /// <returns></returns>
        public async Task <PagedResultSet <DomainModel.Contact> > MyContacts(Models.Common.PageDetails pageDetails, Guid?subscriptionId)
        {
            Expression <Func <DomainModel.Contact, bool> > expression = contact => true;

            if (subscriptionId != null && subscriptionId != Guid.Empty)
            {
                expression = contact => contact.SubscriptionId == subscriptionId;
            }

            if (!string.IsNullOrWhiteSpace(pageDetails?.SearchText))
            {
                expression = expression.And(contact => (contact.FirstName.Contains(pageDetails.SearchText) ||
                                                        contact.LastName.Contains(pageDetails.SearchText) ||
                                                        contact.Email.Contains(pageDetails.SearchText) ||
                                                        contact.PhoneNumber.Contains(pageDetails.SearchText) ||
                                                        contact.GroupContactAssociations.Any(asso => asso.Group.Name.Contains(pageDetails.SearchText))));
            }

            var contacts = await Repository.GetAsync(expression);

            var skip = pageDetails?.PageSize != null && pageDetails?.PageNo != null ?
                       pageDetails.PageSize.Value * (pageDetails.PageNo.Value - 1) :
                       pageDetails?.PageSize;

            return(PagedResultSet <DomainModel.Contact> .Construct(contacts, skip, pageDetails?.PageSize));
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pageDetails"></param>
        /// <param name="subscriptionId"></param>
        /// <returns></returns>
        public async Task <PagedResultSet <DomainModel.Group> > MyGroups(Models.Common.PageDetails pageDetails, Guid?subscriptionId)
        {
            Expression <Func <DomainModel.Group, bool> > expression = group => true;

            if (subscriptionId != null && subscriptionId != Guid.Empty)
            {
                expression = group => group.SubscriptionId == subscriptionId;
            }

            if (!string.IsNullOrWhiteSpace(pageDetails?.SearchText))
            {
                expression = expression.And(group => group.Name.Contains(pageDetails.SearchText));
            }

            var groups = await Repository.GetAsync(expression);

            var skip = pageDetails?.PageSize != null && pageDetails?.PageNo != null ?
                       pageDetails.PageSize.Value * (pageDetails.PageNo.Value - 1) :
                       pageDetails?.PageSize;

            return(PagedResultSet <DomainModel.Group> .Construct(groups, skip, pageDetails?.PageSize));
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public async Task <PagedResultSet <DomainModel.Subscription> > MySubscriptions(Models.Common.PageDetails pageDetails)
        {
            Expression <Func <DomainModel.Subscription, bool> > expression = subscription => true;

            if (!string.IsNullOrWhiteSpace(pageDetails?.SearchText))
            {
                expression = expression.And(subscription => subscription.Name.Contains(pageDetails.SearchText));
            }

            var subscriptions = await Repository.GetAsync(expression);

            var skip = pageDetails?.PageSize != null && pageDetails?.PageNo != null ?
                       pageDetails.PageSize.Value * (pageDetails.PageNo.Value - 1) :
                       pageDetails?.PageSize;

            return(PagedResultSet <DomainModel.Subscription> .Construct(subscriptions, skip, pageDetails?.PageSize));
        }