public async Task <IResult> ListProductAttributeValue(int id, DataHelperModel dataHelper) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var attributeValues = _productRepository.GetProductAttributeValuesList(id); if (attributeValues.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "Attributes do not exist for the product."; return(result); } var list = attributeValues; list = DataSortExtention.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); var pdtAttrValue = new List <ProductAttributeValueViewModel>(); pdtAttrValue = resultList.Select(p => { var pdtAttrValueView = new ProductAttributeValueViewModel(); pdtAttrValueView.MapFromModel(p); return(pdtAttrValueView); }).ToList(); ResultModel resultModel = new ResultModel(); resultModel.ProductAttributeValueResult = pdtAttrValue; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(result); } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(result); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(result); } }
public async Task <IResult> ListAttributes(DataHelperModel dataHelper, bool getAll) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var listAttr = _productAttributeRepository.ListAttributes(dataHelper.Search, getAll); if (!getAll) { var list = DataSortExtention.SortBy(listAttr, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); var pdtAttrViewModels = new List <ProductAttributeViewModel>(); pdtAttrViewModels = resultList.Select(p => { var pdtAttrViewModel = new ProductAttributeViewModel(); pdtAttrViewModel.MapFromModel(p); return(pdtAttrViewModel); }).ToList(); ResultModel resultModel = new ResultModel(); resultModel.ProductAttributeResult = pdtAttrViewModels; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(result); } result.Body = resultModel; } else { var attributeList = await listAttr.ToListAsync(); result.Body = attributeList; } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; return(result); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(result); } }
public IResult GetProductByCategoryForCustomer(int id, DataHelperModel dataHelper) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var productList = _productRepository.GetProductByCategoryForCustomer(id, dataHelper.Search); var list = productList; if (list.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(result); } list = DataSortExtention.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = pagedList.ToList(); var pdtViewList = new List <ProductViewModel>(); pdtViewList = resultList.Select(p => { var pdtview = new ProductViewModel(); pdtview.MapFromModel(p); return(pdtview); }).ToList(); var resultModel = new ResultModel() { ProductResult = pdtViewList, TotalCount = resultCount, }; result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(result); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(result); } }
public IResult GetUserList(DataHelperModel dataHelper) { var result = new Result() { Operation = Operation.Read, Status = Status.Success }; try { int userId = _specificClaim.GetSpecificClaim("Id"); var userList = _userRepository.GetUserList(userId, dataHelper.Search); if (userList.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "noUserPresent"; return(result); } var list = userList; list = DataSortExtention.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = pagedList.ToList(); var userViewModels = new List <UserViewModel>(); userViewModels = resultList.Select(r => { var userViewModel = new UserViewModel(); userViewModel.MapFromModel(r); userViewModel.Roles = r.Roles.Select(x => x.RoleId).ToArray(); return(userViewModel); }).ToList(); ResultModel resultModel = new ResultModel(); resultModel.UserResult = userViewModels; resultModel.TotalCount = resultCount; result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(result); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(result); } }
public async Task <IResult> GetProductReviewList(int id, DataHelperModel dataHelper) { var result = new Result() { Operation = Operation.Read, Status = Status.Success }; try { var rating = _productRepository.GetReviewList(id); if (rating.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "Ratings do not exist for the product."; return(result); } var list = rating; list = DataSortExtention.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); var ratingViewModel = new List <ProductRatingReviewViewModel>(); ratingViewModel = resultList.Select(r => { var ratingViewObj = new ProductRatingReviewViewModel(); ratingViewObj.MapFromModel(r); return(ratingViewObj); }).ToList(); ResultModel resultModel = new ResultModel(); resultModel.ProductRatingReviewResult = ratingViewModel; resultModel.TotalCount = resultCount; result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(result); } catch (Exception e) { result.Status = Status.Success; result.StatusCode = HttpStatusCode.InternalServerError; result.Body = e; result.Message = e.Message; return(result); } }
public IResult GetWishlist(DataHelperModel dataHelper) { var result = new Result() { Operation = Operation.Read, Status = Status.Success }; try { int userDetail = _specificClaim.GetSpecificClaim("Id"); var products = _cartRepository.GetWishlist(userDetail); if (products.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "wishlist-empty"; return(result); } var list = products; var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = pagedList.ToList(); var pdtViewModelList = new List <ProductViewModel>(); pdtViewModelList = resultList.Select(p => { var pdtViewModel = new ProductViewModel(); pdtViewModel.MapFromModel(p); return(pdtViewModel); }).ToList(); var resultModel = new ResultModel() { ProductResult = pdtViewModelList, TotalCount = resultCount }; result.Body = resultModel; result.StatusCode = HttpStatusCode.OK; return(result); } catch (Exception e) { result.Body = e; result.Message = e.Message; result.Status = Status.Error; result.StatusCode = HttpStatusCode.InternalServerError; return(result); } }
public async Task <ActionResult <IResult> > Listing([FromQuery] DataHelperModel dataHelper) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var listQuery = from product in context.Products join createdUser in context.Login on product.CreatedBy equals createdUser.UserID into createname from createUserName in createname.DefaultIfEmpty() join modifiedUser in context.Login on product.ModifiedBy equals modifiedUser.UserID into modifyname from modifyUserName in modifyname.DefaultIfEmpty() join categoryname in context.Categories on product.CategoryID equals categoryname.CategoryID into namecategory from categoryName in namecategory.DefaultIfEmpty() where product.IsDeleted != true orderby product.CreatedDate descending select new ProductViewModel { ProductName = product.ProductName, ProductID = product.ProductID, ShortDescription = product.ShortDescription, CategoryID = product.CategoryID, CategoryName = categoryName.CategoryName, IsActive = product.IsActive, CreatedBy = product.CreatedBy, CreatedDate = product.CreatedDate, CreatedUser = createUserName.Username, Price = product.Price, QuantityInStock = product.QuantityInStock, VisibleEndDate = product.VisibleEndDate, AllowCustomerReviews = product.AllowCustomerReviews, DiscountPercent = product.DiscountPercent, VisibleStartDate = product.VisibleStartDate, IsDiscounted = product.IsDiscounted, LongDescription = product.LongDescription, MarkNew = product.MarkNew, ModelNumber = product.ModelNumber, ModifiedBy = product.ModifiedBy, ModifiedDate = product.ModifiedDate, ModifiedUser = modifyUserName.Username, OnHomePage = product.OnHomePage, ShipingEnabled = product.ShipingEnabled, ShippingCharges = product.ShippingCharges, Tax = product.Tax, TaxExempted = product.TaxExempted, QuantityType = product.QuantityType }; if (dataHelper.Search != null) { listQuery = listQuery.Where(x => x.ProductName.Contains(dataHelper.Search) || x.ShortDescription.Contains(dataHelper.Search) || x.LongDescription.Contains(dataHelper.Search)); } var list = listQuery; list = DataSort.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); ResultModel resultModel = new ResultModel(); resultModel.ProductResult = resultList; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(StatusCode((int)result.StatusCode, result)); } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(StatusCode((int)result.StatusCode, result)); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(StatusCode((int)result.StatusCode, result)); } }
public Task <IResult> GetAssociatedProducts(int id, [FromQuery] DataHelperModel dataHelper) { return(_categoryService.GetAssociatedProducts(id, dataHelper)); }
public Task <IResult> Listing([FromQuery] DataHelperModel dataHelper, bool getParent, bool getAll) { return(_categoryService.GetCategoryList(dataHelper, getParent, getAll)); }
public IResult GetProductByCategoryForCustomer(int id, [FromQuery] DataHelperModel dataHelper) { return(_productService.GetProductByCategoryForCustomer(id, dataHelper)); }
public async Task <IResult> GetProductReviewList(int id, [FromQuery] DataHelperModel dataHelper) { var ratingList = await _productService.GetProductReviewList(id, dataHelper); return(ratingList); }
public IResult Listing([FromQuery] DataHelperModel dataHelper) { var productList = _productService.GetProductList(dataHelper); return(productList); }
public async Task <IResult> GetListProductAttributeValue(int id, [FromQuery] DataHelperModel dataHelper) { var attrValueList = await _productService.ListProductAttributeValue(id, dataHelper); return(attrValueList); }
public async Task <ActionResult <IResult> > GetListProductAttributeValue(int id, [FromQuery] DataHelperModel dataHelper) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { if (!ModelState.IsValid) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; return(StatusCode((int)result.StatusCode, result)); } var attribute = from productAttributeValue in context.ProductAttributeValues join attributeName in context.ProductAttributes on productAttributeValue.AttributeID equals attributeName.AttributeID into attributes from attributeName in attributes.DefaultIfEmpty() where productAttributeValue.ProductID == id orderby productAttributeValue.ID descending select new ProductAttributeValueViewModel { ID = productAttributeValue.ID, AttributeID = productAttributeValue.AttributeID, AttributeName = attributeName.AttributeName, ProductID = productAttributeValue.ProductID, Value = productAttributeValue.Value }; if (attribute.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "Attributes do not exist for the product."; return(StatusCode((int)result.StatusCode, result)); } var list = attribute; list = DataSort.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); ResultModel resultModel = new ResultModel(); resultModel.ProductAttributeValueResult = resultList; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(StatusCode((int)result.StatusCode, result)); } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(StatusCode((int)result.StatusCode, result)); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(StatusCode((int)result.StatusCode, result)); } }
public async Task <ActionResult <IResult> > Listing([FromQuery] DataHelperModel dataHelper, bool getAllParent, bool getAll) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var listQuery = from category in context.Categories join createdUser in context.Login on category.CreatedBy equals createdUser.UserID into createdUserName from createdUser in createdUserName.DefaultIfEmpty() let createdByUser = createdUser.Username join modifiedUser in context.Login on category.ModifiedBy equals modifiedUser.UserID into modifiedUserName from modifiedUser in modifiedUserName.DefaultIfEmpty() let modifiedByUser = modifiedUser.Username join products in context.Products on category.CategoryID equals products.CategoryID into productCount from productValueCount in productCount.DefaultIfEmpty() where category.IsDeleted != true orderby category.CreatedDate descending group new { category, productValueCount, createdByUser, modifiedByUser } by new { category, createdByUser, modifiedByUser } into categories select new CategoryViewModel { Name = categories.Key.category.CategoryName, CreatedBy = categories.Key.category.CreatedBy, ID = categories.Key.category.CategoryID, IsActive = categories.Key.category.IsActive, CreatedDate = categories.Key.category.CreatedDate, Description = categories.Key.category.CategoryDescription, ModifiedBy = categories.Key.category.ModifiedBy, ModifiedDate = categories.Key.category.ModifiedDate, CreatedUser = categories.Key.createdByUser, ModifiedUser = categories.Key.modifiedByUser, Parent = categories.Key.category.ParentCategory, Child = categories.Key.category.ChildCategory, ImageContent = "", AssociatedProducts = categories.Where(x => x.productValueCount != null ? x.category.CategoryID == x.category.CategoryID : false).Count() }; if (getAllParent != true) { if (dataHelper.Search != null) { listQuery = listQuery.Where(x => x.Name.Contains(dataHelper.Search) || x.Description.Contains(dataHelper.Search)); } var list = listQuery; list = DataSort.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); ResultModel resultModel = new ResultModel(); resultModel.CategoryResult = resultList; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(StatusCode((int)result.StatusCode, result)); } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(StatusCode((int)result.StatusCode, result)); } else { if (!getAll) { listQuery = listQuery.Where(x => x.Child == null).OrderBy(x => x.Name); var categoryList = await listQuery.ToListAsync(); result.Body = categoryList; result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; return(StatusCode((int)result.StatusCode, result)); } else { listQuery = listQuery.OrderBy(x => x.Name); var categoryList = await listQuery.ToListAsync(); result.StatusCode = HttpStatusCode.OK; result.Body = categoryList; result.Status = Status.Success; return(StatusCode((int)result.StatusCode, result)); } } } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(StatusCode((int)result.StatusCode, result)); } }
public async Task <ActionResult <IResult> > GetAssociatedProducts(int id, [FromQuery] DataHelperModel dataHelper) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { if (id != 0) { var product = from products in context.Products where products.CategoryID == id && products.IsDeleted != true orderby products.ProductName select new ProductViewModel { ProductName = products.ProductName, ProductID = products.ProductID, ShortDescription = products.ShortDescription, CategoryID = products.CategoryID, CategoryName = "", IsActive = products.IsActive, CreatedBy = products.CreatedBy, CreatedDate = products.CreatedDate, CreatedUser = "", Price = products.Price, QuantityInStock = products.QuantityInStock, VisibleEndDate = products.VisibleEndDate, AllowCustomerReviews = products.AllowCustomerReviews, DiscountPercent = products.DiscountPercent, VisibleStartDate = products.VisibleStartDate, IsDiscounted = products.IsDiscounted, LongDescription = products.LongDescription, MarkNew = products.MarkNew, ModelNumber = products.ModelNumber, ModifiedBy = products.ModifiedBy, ModifiedDate = products.ModifiedDate, ModifiedUser = "", OnHomePage = products.OnHomePage, ShipingEnabled = products.ShipingEnabled, ShippingCharges = products.ShippingCharges, Tax = products.Tax, TaxExempted = products.TaxExempted, QuantityType = products.QuantityType }; if (product.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "Products do not exist for the category."; return(StatusCode((int)result.StatusCode, result)); } var list = product; list = DataSort.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); ResultModel resultModel = new ResultModel(); resultModel.ProductResult = resultList; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(StatusCode((int)result.StatusCode, result)); } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(StatusCode((int)result.StatusCode, result)); } result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "ID entered is null."; return(StatusCode((int)result.StatusCode, result)); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(StatusCode((int)result.StatusCode, result)); } }
public IResult GetWishlist([FromQuery] DataHelperModel dataHelper) { return(_cartService.GetWishlist(dataHelper)); }
public async Task <IResult> GetCategoryList(DataHelperModel dataHelper, bool getParent, bool getAll) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var categoryList = _categoryRepository.GetCategoryList(dataHelper.Search); if (getAll != true) { var list = categoryList; list = DataSortExtention.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); var categoryViewList = new List <CategoryViewModel>(); categoryViewList = resultList.Select(c => { var categoryView = new CategoryViewModel(); categoryView.MapFromModel(c); return(categoryView); }).ToList(); ResultModel resultModel = new ResultModel(); resultModel.CategoryResult = categoryViewList; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(result); } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(result); } else { if (getParent) { categoryList = categoryList.Where(x => x.ChildCategory == null).OrderBy(x => x.CategoryName); var categories = await categoryList.ToListAsync(); result.Body = categoryList; result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; return(result); } else { categoryList = categoryList.Where(c => c.ParentCategory != true).OrderBy(x => x.CategoryName); var categories = await categoryList.ToListAsync(); result.StatusCode = HttpStatusCode.OK; result.Body = categoryList; result.Status = Status.Success; return(result); } } } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(result); } }
public async Task <ActionResult <IResult> > GetUserList([FromQuery] DataHelperModel dataHelper) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var userObj = from user in context.Login join role in context.AssignedRolesTable on user.UserID equals role.UserID into assignedRoles from userRole in assignedRoles.DefaultIfEmpty() group new { user } by new { user, assignedRoles } into userDetail select new UserViewModel { UserID = userDetail.Key.user.UserID, EmailID = userDetail.Key.user.EmailID, FirstName = userDetail.Key.user.FirstName, LastName = userDetail.Key.user.LastName, Username = userDetail.Key.user.Username, RoleID = userDetail.Key.assignedRoles.Where(x => x.UserID == userDetail.Key.user.UserID).Select(x => x.RoleID).ToArray(), ImageContent = null }; if (dataHelper.Search != null) { userObj = userObj.Where(x => x.Username.Contains(dataHelper.Search) || x.EmailID.Contains(dataHelper.Search)); } var userList = userObj.Where(x => !x.RoleID.Contains(1)).Select(x => x); if (userObj.Count() == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "noUserPresent"; return(StatusCode((int)result.StatusCode, result)); } var list = userList; list = DataSort.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = pagedList.ToList(); ResultModel resultModel = new ResultModel(); resultModel.UserResult = resultList; resultModel.TotalCount = resultCount; result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(StatusCode((int)result.StatusCode, result)); } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(StatusCode((int)result.StatusCode, result)); } }
public IResult GetUserList([FromQuery] DataHelperModel dataHelper) { return(_userService.GetUserList(dataHelper)); }
public async Task <ActionResult <IResult> > Listing([FromQuery] DataHelperModel dataHelper, bool getAll) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var listQuery = from attribute in context.ProductAttributes join createdUser in context.Login on attribute.CreatedBy equals createdUser.UserID into createname from createdUsername in createname.DefaultIfEmpty() let createdByUser = createdUsername.Username join modifiedUser in context.Login on attribute.ModifiedBy equals modifiedUser.UserID into modifyname from modifiedUsername in modifyname.DefaultIfEmpty() let modifiedByUser = modifiedUsername.Username join Values in context.ProductAttributeValues on attribute.AttributeID equals Values.AttributeID into attributeValuesCount from attributeValues in attributeValuesCount.DefaultIfEmpty() group new { attributeValues, attribute, createdByUser, modifiedByUser } by new { attribute, createdByUser, modifiedByUser } into valuesCount select new ProductAttributeViewModel { AttributeID = valuesCount.Key.attribute.AttributeID, AttributeName = valuesCount.Key.attribute.AttributeName, CreatedBy = valuesCount.Key.attribute.CreatedBy, AssociatedProductValues = valuesCount.Where(x => x.attributeValues != null ? x.attributeValues.AttributeID == x.attribute.AttributeID : false).Count(), CreatedDate = valuesCount.Key.attribute.CreatedDate, ModifiedBy = valuesCount.Key.attribute.ModifiedBy, ModifiedDate = valuesCount.Key.attribute.ModifiedDate, CreatedUser = valuesCount.Key.createdByUser, ModifiedUser = valuesCount.Key.modifiedByUser }; if (!getAll) { if (dataHelper.Search != null) { listQuery = listQuery.Where(x => x.AttributeName.Contains(dataHelper.Search)); } var list = listQuery; list = DataSort.SortBy(list, dataHelper.SortColumn, dataHelper.SortOrder); var resultCount = list.Count(); var pagedList = DataCount.Page(list, dataHelper.PageNumber, dataHelper.PageSize); var resultList = await pagedList.ToListAsync(); ResultModel resultModel = new ResultModel(); resultModel.ProductAttributeResult = resultList; resultModel.TotalCount = resultCount; if (resultList.Count == 0) { result.Status = Status.Fail; result.StatusCode = HttpStatusCode.BadRequest; result.Message = "No records present."; return(StatusCode((int)result.StatusCode, result)); } result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; result.Body = resultModel; return(StatusCode((int)result.StatusCode, result)); } else { listQuery = listQuery.OrderBy(x => x.AttributeName); var attributeList = await listQuery.ToListAsync(); result.Body = attributeList; result.Status = Status.Success; result.StatusCode = HttpStatusCode.OK; return(StatusCode((int)result.StatusCode, result)); } } catch (Exception e) { result.Status = Status.Error; result.Message = e.Message; result.StatusCode = HttpStatusCode.InternalServerError; return(StatusCode((int)result.StatusCode, result)); } }
public Task <IResult> Listing([FromQuery] DataHelperModel dataHelper, bool getAll) { return(_productAttributeService.ListAttributes(dataHelper, getAll)); }