public IHttpActionResult GetAll(FilterReps filter)
        {
            if (filter == null)
            {
                filter             = new FilterReps();
                filter.PageSize    = 25;
                filter.CurrentPage = 1;
            }
            var response = repository.GetReps(filter, CurrentBusinessId.Value);

            return(Ok <DataResponse <EntityList <EntityReps> > >(response));
        }
        public IHttpActionResult GetByFilter(FilterReps filter)
        {
            var repository = new RepositoryReps();

            if (filter == null)
            {
                filter = new FilterReps {
                    PageSize = 25, CurrentPage = 1
                }
            }
            ;
            var response = repository.GetReps(filter, CurrentBusinessId.Value);

            return(Ok <DataResponse <EntityList <EntityReps> > >(response));
        }
示例#3
0
        public DataResponse <EntityList <EntityReps> > GetReps(FilterReps filter, int currentBusineId, int take = 10, int skip = 0)
        {
            var response = new DataResponse <EntityList <EntityReps> >();

            try
            {
                if (filter != null)
                {
                    take = filter.Take;
                    skip = filter.Skip;
                }

                base.DBInit();

                var query = DBEntity.Reps.Where(a => a.User.BusinessId == currentBusineId);
                if (filter != null)
                {
                    if (!String.IsNullOrEmpty(filter.KeyWords))
                    {
                        query = query.Where(ua => ua.User2.FirstName.ToLower().Contains(filter.KeyWords.ToLower()) ||
                                            ua.User2.LastName.ToLower().Contains(filter.KeyWords.ToLower()) ||
                                            (ua.User2.FirstName + " " + ua.User2.MiddleName).ToLower().Contains(filter.KeyWords.ToLower()) ||
                                            (ua.User2.FirstName + " " + ua.User2.LastName).ToLower().Contains(filter.KeyWords.ToLower()) ||
                                            (ua.User2.FirstName + " " + ua.User2.MiddleName + " " + ua.User2.LastName).ToLower().Contains(filter.KeyWords.ToLower()) ||
                                            ua.User2.UserName.ToLower().Contains(filter.KeyWords.ToLower()) ||
                                            ua.RepGroup.RepGroupName.ToLower().Contains(filter.KeyWords.ToLower()));
                    }
                }

                var selectQuery = query.Select(a => new EntityReps
                {
                    Id                   = a.Id,
                    UserId               = a.UserId,
                    RepName              = a.User2.FirstName + " " + a.User2.LastName,
                    RepGroupName         = a.RepGroup.RepGroupName,
                    RepGroupId           = a.RepGroupId,
                    CreatedBy            = a.CreatedBy,
                    CreatedOn            = a.CreatedOn,
                    UpdatedBy            = a.UpdatedBy,
                    UpdatedOn            = a.UpdatedOn,
                    SignonDate           = a.SignonDate,
                    IsActive             = a.IsActive,
                    OldId                = a.OldId,
                    CreatedByName        = a.User.FirstName + " " + a.User.LastName,
                    UpdatedByName        = a.User1.FirstName + " " + a.User1.LastName,
                    ServiceIds           = a.RepServiceMappers.Select(b => b.ServiceId).ToList(),
                    RepGroupManagerNames = a.RepGroup.RepgroupManagerMappers.Select(b => b.User.FirstName + "" + b.User.LastName),
                    ServiceNames         = a.RepServiceMappers.Where(b => b.RepId == a.Id).Select(p => p.LookupEnrolledService.ServiceName),
                    DirectorNames        = a.RepGroup.RepgroupManagerMappers.Select(b => b.User.LastName)
                });

                if (string.IsNullOrEmpty(filter.SortKey) || string.IsNullOrEmpty(filter.SortOrder))
                {
                    selectQuery = selectQuery.OrderByDescending(o => o.CreatedOn);
                }
                else
                {
                    string orderBy = string.Format("{0} {1}", filter.SortKey, filter.SortOrder);
                    selectQuery = selectQuery.OrderBy(orderBy);
                }

                response = GetList <EntityReps>(selectQuery, skip, take);
            }
            catch (Exception ex)
            {
                ex.Log();
            }
            finally
            {
                base.DBClose();
            }

            return(response);
        }