コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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));
            }
        }
コード例 #5
0
        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));
            }
        }
コード例 #6
0
        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));
            }
        }