Exemplo n.º 1
0
        public void InsertProductMeasurment(ProductSpecificationDto model)
        {
            var productMeasurment = new ProductSpecification {
                CreatedAt = DateTime.Now, MeasurmentId = model.MeasurmentId, ProductId = model.ProductId, Price = model.Price
            };

            context.ProductSpecifications.Add(productMeasurment);
            context.SaveChanges();
        }
        public ProductSpecificationDto Create(ProductSpecificationDto specificationDto)
        {
            if (!IsAuthorized())
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }

            var specification = specificationDto.ToSpecification();

            this._unitOfWork.ProductSpecifications.Add(specification);
            this._unitOfWork.Complete();

            return(new ProductSpecificationDto(specification));
        }
Exemplo n.º 3
0
        public static IList <ProductSpecificationDto> PrepareProductSpecificationModel(this ApplicationService appService,
                                                                                       //IWorkContext workContext,
                                                                                       SpecificationAttributeDomainService specificationAttributeService,
                                                                                       ICacheManager cacheManager,
                                                                                       Product product)
        {
            if (product == null)
            {
                throw new ArgumentNullException("product");
            }

            //string cacheKey = string.Format(ModelCacheEventConsumer.PRODUCT_SPECS_MODEL_KEY, product.Id, workContext.WorkingLanguage.Id);
            //return cacheManager.Get(cacheKey, () =>
            return(specificationAttributeService.GetProductSpecificationAttributes(product.Id, 0, null, true)
                   .Select(psa =>
            {
                var m = new ProductSpecificationDto()
                {
                    SpecificationAttributeId = psa.SpecificationAttributeOption.SpecificationAttributeId,
                    SpecificationAttributeName =
                        psa.SpecificationAttributeOption.SpecificationAttribute.Name
                };

                //switch (psa.AttributeType)
                //{
                //    case SpecificationAttributeType.Option:
                //        m.ValueRaw =  HttpUtility.HtmlEncode(psa.SpecificationAttributeOption.GetLocalized(x => x.Name));
                //        break;
                //    case SpecificationAttributeType.CustomText:
                //        m.ValueRaw = HttpUtility.HtmlEncode(psa.CustomValue);
                //        break;
                //    case SpecificationAttributeType.CustomHtmlText:
                //        m.ValueRaw = psa.CustomValue;
                //        break;
                //    case SpecificationAttributeType.Hyperlink:
                //        m.ValueRaw = string.Format("<a href='{0}' target='_blank'>{0}</a>", psa.CustomValue);
                //        break;
                //    default:
                //        break;
                //}
                return m;
            }).ToList());
            //);
        }
        public ProductSpecificationDto Update(ProductSpecificationDto specificationDto)
        {
            if (!IsAuthorized())
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }

            var specification = this._unitOfWork.ProductSpecifications.Get(specificationDto.SpecificationID);

            if (specification == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            specification.Name        = specificationDto.Name;
            specification.Description = specificationDto.Description;

            this._unitOfWork.Complete();

            return(new ProductSpecificationDto(specification));
        }
Exemplo n.º 5
0
        public IActionResult Action(ProductModel model, IFormFile Image, List <IFormFile> Images)
        {
            if (_modelValidations.IsObjectNull(model))
            {
                return(RedirectToAction("Add", "Products"));
            }

            var imageUrl = _imageUploader.Upload(Image, Path);

            var productDto = new ProductDto {
                NameAr = model.NameAr, NameEn = model.NameEn, DescreptionAr = model.DescreptionAr, DescreptionEn = model.DescreptionEn, CategoryId = model.CategoryId, CountryId = model.CountryId, Quantity = model.Quantity
            };
            var product = _productsRepository.Insert(productDto);

            var imageDto = new ProductPictureDto {
                ProductId = product.Id, Image = imageUrl, IsMain = true
            };

            _productsRepository.InsertProductPicture(imageDto);

            foreach (var elem in Images)
            {
                var url         = _imageUploader.Upload(elem, Path);
                var newImageDto = new ProductPictureDto {
                    ProductId = product.Id, Image = url, IsMain = false
                };
                _productsRepository.InsertProductPicture(newImageDto);
            }

            var measurmentDto = new ProductSpecificationDto {
                ProductId = product.Id, MeasurmentId = model.MeasurmentId, Price = model.Price
            };

            _productsRepository.InsertProductMeasurment(measurmentDto);

            return(RedirectToAction("Index", "Products"));
        }