예제 #1
0
        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);
            }
        }
예제 #2
0
        public async Task <IResult> GetProductAttributeValuesForCustomer(int id)
        {
            var result = new Result()
            {
                Operation = Operation.Read,
                Status    = Status.Success
            };

            try
            {
                if (id != 0)
                {
                    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 resultList = await attributeValues.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 = resultList.Count;

                    result.Status     = Status.Success;
                    result.StatusCode = HttpStatusCode.OK;
                    result.Body       = resultModel;
                    return(result);
                }
                result.Message    = "Product ID is not valid.";
                result.Status     = Status.Fail;
                result.StatusCode = HttpStatusCode.BadRequest;
                return(result);
            }
            catch (Exception e)
            {
                result.Body       = e;
                result.Message    = e.Message;
                result.StatusCode = HttpStatusCode.InternalServerError;
                result.Status     = Status.Error;
                return(result);
            }
        }
예제 #3
0
        public IResult GetProductAttributeValue(int id)
        {
            var result = new Result
            {
                Operation = Operation.Read,
                Status    = Status.Success
            };

            try
            {
                if (id != 0)
                {
                    var attributeValue = _productRepository.GetProductAttributeValue(id);
                    if (attributeValue == null)
                    {
                        result.Status     = Status.Fail;
                        result.StatusCode = HttpStatusCode.BadRequest;
                        result.Message    = "This attribute for product does not exist.";
                        return(result);
                    }
                    ProductAttributeValueViewModel valueViewModel = new ProductAttributeValueViewModel();
                    valueViewModel.MapFromModel(attributeValue);

                    result.Status     = Status.Success;
                    result.Body       = valueViewModel;
                    result.StatusCode = HttpStatusCode.OK;
                    return(result);
                }
                result.Status     = Status.Fail;
                result.StatusCode = HttpStatusCode.BadRequest;
                return(result);
            }
            catch (Exception e)
            {
                result.Status     = Status.Error;
                result.Message    = e.Message;
                result.StatusCode = HttpStatusCode.InternalServerError;
                return(result);
            }
        }