public async Task <IActionResult> GetCategoryByService(CategoryFilterRequest filter)
        {
            int userId  = 0;
            var userstr = this.User.FindFirstValue(ClaimTypes.Name);

            if (!string.IsNullOrWhiteSpace(userstr))
            {
                userId = Convert.ToInt32(userstr);
            }

            var ownResponse = new ListResponse <CategoryResponseViewModel>();
            var dataResult  = await _unit.ICategory.GetCategoryByServiceId(filter);

            if (dataResult.HasSuccess)
            {
                ownResponse.Message = "Success";
                ownResponse.Status  = true;
                ownResponse.Data    = dataResult.UserObject;
                return(ownResponse.ToHttpResponse());
            }
            else
            {
                ownResponse.Message = "Service is not availabe for selected address.";
                ownResponse.Status  = false;
                ownResponse.Data    = null;
                return(ownResponse.ToHttpResponse());
            }
        }
Exemplo n.º 2
0
        public async Task <ActionResult <PaginatedList <CategorySummary> > > GetAll([FromBody] CategoryFilterRequest filter)
        {
            try
            {
                var list = context.Categories.AsNoTracking();

                // filter
                if (!string.IsNullOrEmpty(filter?.SearchTerm))
                {
                    list = list.Where(c => c.Name.Contains(filter.SearchTerm, StringComparison.CurrentCultureIgnoreCase));
                }

                // sort
                var ordering = $"{Constants.ColumnNames.Name} {Constants.DefaultSortDirection}";
                if (!string.IsNullOrEmpty(filter?.SortBy))
                {
                    ordering = $"{filter.SortBy} {filter.SortDirection}";
                }

                list = list.OrderBy(ordering);

                var result = await listHelpers.CreatePaginatedListAsync <Category, CategorySummary>(list, filter.PageNumber, filter.PageSize);

                return(result);
            }
            catch (Exception e)
            {
                logger.LogError(e.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Exemplo n.º 3
0
        public async Task <ApiResult <IEnumerable <CategoryResponseViewModel> > > GetCategoryWithServiceData(CategoryFilterRequest filter)
        {
            try
            {
                SqlParameter AddressId = new SqlParameter("@Address_Id", System.Data.SqlDbType.Int)
                {
                    Value = filter.AddressId
                };
                var storeIdTable = _context.ExecuteStoreProcedure("Usp_GetStoreId", AddressId);

                var result = await(_context.TblCategoryMaster.Join(_context.TblServiceMaster, cat => cat.Id, ser => ser.Id, (cat, ser) => new { cat, ser })
                                   .Select(c => new CategoryResponseViewModel
                {
                    Name       = c.cat.CategoryName,
                    CategoryId = c.cat.Id,
                    ServiceId  = c.ser.Id,
                    IconUrl    = c.cat.Image
                }).ToListAsync());
                return(result == null
                    ? new ApiResult <IEnumerable <CategoryResponseViewModel> >(new ApiResultCode(ApiResultType.Error, 1, "No data in given request"))
                    : new ApiResult <IEnumerable <CategoryResponseViewModel> >(new ApiResultCode(ApiResultType.Success), result));
            }
            catch (Exception ex)
            {
                ErrorTrace.Logger(LogArea.BusinessTier, ex);
                return(new ApiResult <IEnumerable <CategoryResponseViewModel> >(new ApiResultCode(ApiResultType.ExceptionDuringOpration, 3, "Please contact system administrator")));
            }
        }
Exemplo n.º 4
0
        public async Task <ApiResult <IEnumerable <CategoryResponseViewModel> > > GetCategoryByServiceId(CategoryFilterRequest filter)
        {
            try
            {
                List <CategoryResponseViewModel> categories = new List <CategoryResponseViewModel>();
                SqlParameter AddressId = new SqlParameter("@Address_Id", System.Data.SqlDbType.Int)
                {
                    Value = filter.AddressId
                };
                SqlParameter ServiceId = new SqlParameter("@Service_Id", System.Data.SqlDbType.Int)
                {
                    Value = filter.ServiceId
                };
                var result = _context.ExecuteStoreProcedure("Usp_GetCategory", ServiceId, AddressId);

                if (result.Tables[0].Rows.Count > 0)
                {
                    categories = (from DataRow dr in result.Tables[0].Rows
                                  select new CategoryResponseViewModel()
                    {
                        Name = (dr["CategoryName"] != DBNull.Value) ? Convert.ToString(dr["CategoryName"]) : string.Empty,
                        CategoryId = (dr["CtegoryID"] != DBNull.Value) ? Convert.ToInt32(dr["CtegoryID"]) : 0,
                        ServiceId = (dr["ServiceId"] != DBNull.Value) ? Convert.ToInt32(dr["ServiceId"]) : 0,
                        StoreId = (dr["StoreId"] != DBNull.Value) ? Convert.ToInt32(dr["StoreId"]) : 0,
                        IconUrl = (dr["IconUrl"] != DBNull.Value) ? Convert.ToString(dr["IconUrl"]) : string.Empty
                    }).ToList();
                }
                return(result == null
                    ? new ApiResult <IEnumerable <CategoryResponseViewModel> >(new ApiResultCode(ApiResultType.Error, 1, "No data in given request"))
                    : new ApiResult <IEnumerable <CategoryResponseViewModel> >(new ApiResultCode(ApiResultType.Success), categories));
            }
            catch (Exception ex)
            {
                ErrorTrace.Logger(LogArea.BusinessTier, ex);
                return(new ApiResult <IEnumerable <CategoryResponseViewModel> >(new ApiResultCode(ApiResultType.ExceptionDuringOpration, 3, "Please contact system administrator")));
            }
        }
Exemplo n.º 5
0
        public IActionResult SetCategoryFilter(CategoryFilterRequest request)
        {
            ViewConfigHelper.categoryFilter = ViewConfigHelper.categoryStringToEnum[request.Selection];

            return(RedirectToAction("Index"));
        }