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) { 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 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 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 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 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)); } }