Пример #1
0
        public DataResponse <EntityList <EntityColumnLookup> > GetReportColumnLookup(FilterServices filter, int?ReportColumnId, int currentBusineId, int take = 10, int skip = 0)
        {
            var response = new DataResponse <EntityList <EntityColumnLookup> >();

            try
            {
                if (filter != null)
                {
                    take = filter.Take;
                    skip = filter.Skip;
                }
                base.DBInit();
                var query = DBEntity.LookupServiceColumns.Where(a => a.ColumnId == ReportColumnId);
                if (filter != null)
                {
                    if (!String.IsNullOrEmpty(filter.KeyWords))
                    {
                        query = query.Where(a => a.Text.ToLower().Contains(filter.KeyWords));
                    }
                }
                var selectQuery = query.Select(a => new EntityColumnLookup
                {
                    Id            = a.Id,
                    Text          = a.Text,
                    CreatedBy     = a.CreatedBy,
                    CreatedOn     = a.CreatedOn,
                    UpdatedBy     = a.UpdatedBy,
                    UpdatedOn     = a.UpdatedOn,
                    ColumnId      = a.ColumnId,
                    ColumnName    = a.ReportColumn.ColumnName,
                    CreatedByName = a.User.FirstName + " " + a.User.LastName,
                    UpdatedByName = a.User1.FirstName + " " + a.User1.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 <EntityColumnLookup>(selectQuery, skip, take);
            }
            catch (Exception ex)
            {
                ex.Log();
            }
            finally
            {
                base.DBClose();
            }

            return(response);
        }
        public IHttpActionResult GetAll(FilterServices filter)
        {
            if (filter == null)
            {
                filter             = new FilterServices();
                filter.PageSize    = 25;
                filter.CurrentPage = 1;
            }
            var response = repository.GetServices(filter, CurrentBusinessId);

            return(Ok <DataResponse <EntityList <EntityServices> > >(response));
        }
Пример #3
0
        public async Task <IActionResult> FilterServices([FromBody] FilterServices filterServices)
        {
            var result = await _repository.FilterServicesAsync(filterServices);

            var searchResultList = new List <ServiceSearchResults>();

            foreach (var data in result)
            {
                decimal totalReviewPoint = 0;
                var     counter          = 0;
                var     serviceDetails   = await _repository.GetServiceAsync(data.Id);

                var serviceLocationDetails = await _locationRepository.GetServiceCurrentLocationAsync(data.Id);

                var searchResult = new ServiceSearchResults();
                searchResult.Id                = data.Id;
                searchResult.Title             = serviceDetails.Title;
                searchResult.RiderPerVessel    = serviceDetails.RiderPerVessel;
                searchResult.Quantity          = serviceDetails.Quantity;
                searchResult.IsActive          = serviceDetails.IsActive;
                searchResult.IsDeleted         = serviceDetails.IsDeleted;
                searchResult.IsOnRide          = serviceDetails.IsOnRide;
                searchResult.Rate              = data.Rate;
                searchResult.ServiceProviderId = data.ServiceProviderId;
                searchResult.StreetAddress     = data.StreetAddress;
                searchResult.City              = data.City;
                searchResult.State             = data.State;
                searchResult.PostalCode        = data.PostalCode;
                searchResult.Longitude         = serviceLocationDetails.Longitude;
                searchResult.Latitude          = serviceLocationDetails.Latitude;
                searchResult.ReviewComments    = new List <string>();

                var reviewDetails = await _serviceReviewRepository.GetReviews(data.Id);

                var serviceReviews = reviewDetails as ServiceReview[] ?? reviewDetails.ToArray();
                if (Enumerable.Count(serviceReviews) > 0)
                {
                    foreach (var review in serviceReviews)
                    {
                        searchResult.ReviewComments.Add(review.Comments);
                        totalReviewPoint = totalReviewPoint + review.RatingPoint;
                        counter++;
                    }
                    searchResult.AvgRatingsPoint = totalReviewPoint / counter;
                }


                searchResultList.Add(searchResult);
            }

            return(Ok(searchResultList));
        }
Пример #4
0
        public async Task <IEnumerable <Service> > FilterServicesAsync(FilterServices filterService)
        {
            var serviceCatagoryTbl = new DataTable("ServiceCatagoriesType");

            serviceCatagoryTbl.Columns.Add("ServiceCatagoryId", typeof(int));
            var filterResultList = new List <Service>();

            foreach (var serviceCatagory in filterService.ServiceCatagoryIds)
            {
                serviceCatagoryTbl.Rows.Add(Convert.ToInt32(serviceCatagory));
            }

            var filterDatesTbl = new DataTable("FilterDateRangeTable");

            filterDatesTbl.Columns.Add("dates");

            for (var day = filterService.StartDate; day <= filterService.EndDate; day = day.AddDays(1))
            {
                filterDatesTbl.Rows.Add(day);
            }
            var connection = _context.Database.GetDbConnection();

            await connection.OpenAsync();

            var command = connection.CreateCommand();

            command.CommandText = "SEARCH_NEAREST_SERVICES";
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.Add(new SqlParameter("@serviceTypeId", filterService.ServiceTypeId));
            command.Parameters.Add(new SqlParameter("@serviceCatagoryTempTable", serviceCatagoryTbl));
            command.Parameters.Add(new SqlParameter("@distance", filterService.Distance));
            command.Parameters.Add(new SqlParameter("@Longitude", filterService.Longitude));
            command.Parameters.Add(new SqlParameter("@latitude", filterService.Latitude));
            command.Parameters.Add(new SqlParameter("@datesTempTable", filterDatesTbl));


            var dr = await command.ExecuteReaderAsync();

            while (dr.Read())
            {
                var s = new Service {
                    Id = Convert.ToInt32(dr["ServiceId"])
                };

                filterResultList.Add(s);
            }
            dr.Close();

            return(filterResultList);
        }
Пример #5
0
        public IHttpActionResult GetByFilter(FilterServices filter)
        {
            var repository = new RepositoryEnrolledServices();

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

            return(Ok <DataResponse <EntityList <EntityServices> > >(response));
        }
Пример #6
0
 public BuiltFilterModel(FilterServices service)
 {
     FilterModelManager = ServiceLocator.Current.GetInstance <IFilterModelManagerService>(service.ToString());
     Initialize();
 }
Пример #7
0
        public DataResponse <EntityList <EntityReportColumn> > GetReportColumns(FilterServices filter, int?ServiceId, int currentBusineId, int take = 10, int skip = 0)
        {
            var response = new DataResponse <EntityList <EntityReportColumn> >();

            try
            {
                if (filter != null)
                {
                    take = filter.Take;
                    skip = filter.Skip;
                }
                base.DBInit();
                var query = DBEntity.ReportColumns.Where(a => a.BusinessId == currentBusineId && a.LookupEnrolledService.Id == ServiceId && a.LookupEnrolledService.BusinessId == currentBusineId);
                if (filter != null)
                {
                    if (!String.IsNullOrEmpty(filter.KeyWords))
                    {
                        query = query.Where(a => a.ColumnName.ToLower().Contains(filter.KeyWords));
                    }
                }
                var selectQuery = query.Select(a => new EntityReportColumn
                {
                    Id                     = a.Id,
                    ColumnName             = a.ColumnName,
                    DisplayInFilter        = a.DisplayInFilter,
                    DisplayName            = a.DisplayName,
                    IsMandatory            = a.IsMandatory,
                    ShowInGrid             = a.ShowInGrid,
                    ColumnType             = a.ColumnType,
                    InputType              = a.InputType,
                    ServiceId              = a.ServiceId,
                    CreatedBy              = a.CreatedBy,
                    CreatedOn              = a.CreatedOn,
                    UpdatedBy              = a.UpdatedBy,
                    UpdatedOn              = a.UpdatedOn,
                    BusinessId             = a.BusinessId,
                    ServiceName            = a.LookupEnrolledService.ServiceName,
                    CreatedByName          = a.User.FirstName + " " + a.User.LastName,
                    UpdatedByName          = a.User1.FirstName + " " + a.User1.LastName,
                    RolePrivilegeIds       = a.SalesRolePrivileges.Select(b => b.Id).ToList(),
                    DepartmentPrivilegeIds = a.SalesDepartmentPrivileges.Select(b => b.Id).ToList(),
                    UserPrivilegeIds       = a.SalesUserPrivileges.Select(b => b.Id).ToList()
                });

                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 <EntityReportColumn>(selectQuery, skip, take);
            }
            catch (Exception ex)
            {
                ex.Log();
            }
            finally
            {
                base.DBClose();
            }

            return(response);
        }
Пример #8
0
        public DataResponse <EntityList <EntityServices> > GetServices(FilterServices filter, int?currentBusineId, int take = 10, int skip = 0)
        {
            var response = new DataResponse <EntityList <EntityServices> >();

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

                base.DBInit();

                var query = DBEntity.LookupEnrolledServices.Where(a => a.BusinessId == currentBusineId);
                if (filter != null)
                {
                    if (!String.IsNullOrEmpty(filter.KeyWords))
                    {
                        query = query.Where(a => a.ServiceName.ToLower().Contains(filter.KeyWords));
                    }
                }

                var selectQuery = query.Select(a => new EntityServices
                {
                    Id                = a.Id,
                    ServiceName       = a.ServiceName,
                    ServiceDecription = a.ServiceDecription,
                    ServiceColor      = a.ServiceColor,
                    CreatedBy         = a.CreatedBy,
                    CreatedOn         = a.CreatedOn,
                    UpdatedBy         = a.UpdatedBy,
                    UpdatedOn         = a.UpdatedOn,
                    BusinessId        = a.BusinessId,
                    IsActive          = a.IsActive,
                    OldId             = a.OldId,
                    Status            = a.Status,
                    ImportMode        = a.ImportMode,
                    CreatedByName     = a.User.FirstName + " " + a.User.LastName,
                    UpdatedByName     = a.User1.FirstName + " " + a.User1.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 <EntityServices>(selectQuery, skip, take);
            }
            catch (Exception ex)
            {
                ex.Log();
            }
            finally
            {
                base.DBClose();
            }

            return(response);
        }
        public IHttpActionResult GetAllReportColumnLookup(int?reportcolumnid, FilterServices filter)
        {
            var response = repository.GetReportColumnLookup(filter, reportcolumnid, CurrentBusinessId.Value);

            return(Ok <DataResponse <EntityList <EntityColumnLookup> > >(response));
        }
        public IHttpActionResult GetAllServiceReportColumns(int?ServiceId, FilterServices filter)
        {
            var response = repository.GetReportColumns(filter, ServiceId, CurrentBusinessId.Value);

            return(Ok <DataResponse <EntityList <EntityReportColumn> > >(response));
        }