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()); } }
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)); } }
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"))); } }
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"))); } }
public IActionResult SetCategoryFilter(CategoryFilterRequest request) { ViewConfigHelper.categoryFilter = ViewConfigHelper.categoryStringToEnum[request.Selection]; return(RedirectToAction("Index")); }