示例#1
0
        public async Task <ApiResponse <string> > Create(ProductRequest request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                return(new ApiErrorResponse <string>(ConstantStrings.emptyNameFieldError));
            }
            var product = _mapper.Map <Product>(request);

            _db.Products.Add(product);
            await _db.SaveChangesAsync();

            var productImage = new ProductImage()
            {
                ImageUrl  = ConstantStrings.blankProductImageUrl,
                PublicId  = ConstantStrings.blankProductImagePublicId,
                Caption   = SystemFunctions.BlankProductImageCaption(product.Name),
                ProductId = _db.Products.Where(x => x.Name == request.Name).FirstOrDefaultAsync().Id,
                SortOrder = 1
            };

            _db.ProductImages.Add(productImage);
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.addSuccessfully));
        }
示例#2
0
        public async Task <ApiResponse <string> > Create(VendorRequest request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                return(new ApiErrorResponse <string>(ConstantStrings.emptyNameFieldError));
            }
            var vendor = _mapper.Map <Vendor>(request);

            _db.Vendors.Add(vendor);
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.addSuccessfully));
        }
示例#3
0
        public async Task <ApiResponse <string> > Create(DemandRequest request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                return(new ApiErrorResponse <string>(ConstantStrings.emptyNameFieldError));
            }
            var demand = new Demand()
            {
                Name = request.Name
            };

            _db.Demands.Add(demand);
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.addSuccessfully));
        }
示例#4
0
        public async Task <ApiResponse <string> > Create(ConditionRequest request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                return(new ApiErrorResponse <string>(ConstantStrings.emptyNameFieldError));
            }
            var condition = new Condition()
            {
                Name        = request.Name,
                Description = request.Description
            };

            _db.Conditions.Add(condition);
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.addSuccessfully));
        }
示例#5
0
        public async Task <ApiResponse <string> > Create(int productId, ProductImageRequest request)
        {
            var productFromDb = await _db.Products.FindAsync(productId);

            if (productFromDb == null)
            {
                return(new ApiErrorResponse <string>(ConstantStrings.FindByIdError(productId)));
            }
            var productImageFromDb = await _db.ProductImages.Where(x => x.ProductId == productFromDb.Id)
                                     .OrderByDescending(x => x.SortOrder).ToListAsync();

            if (productFromDb == null)
            {
                return(new ApiErrorResponse <string>(ConstantStrings.FindByIdError(productId)));
            }
            if (request.ProductImages == null)
            {
                return(new ApiErrorResponse <string>(ConstantStrings.imgIsEmptyOrNull));
            }
            var images = request.ProductImages.ToList();

            for (int i = 0; i < images.Count; i++)
            {
                var uploadResult = await UploadImage(images[i]);

                if (uploadResult.Error != null)
                {
                    return(new ApiErrorResponse <string>(uploadResult.Error.ToString()));
                }
                var productImage = new ProductImage()
                {
                    ImageUrl  = uploadResult.SecureUrl.ToString(),
                    PublicId  = uploadResult.PublicId,
                    Caption   = SystemFunctions.ProductImageCaption(productFromDb.Name, productImageFromDb.FirstOrDefault().SortOrder + i + 1),
                    ProductId = productFromDb.Id,
                    SortOrder = productImageFromDb.FirstOrDefault().SortOrder + i + 1
                };
                _db.ProductImages.Add(productImage);
            }
            _db.ProductImages.Remove(productImageFromDb.Where(x => x.PublicId == ConstantStrings.blankProductImagePublicId).FirstOrDefault());
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.addSuccessfully));
        }
示例#6
0
        public async Task <ApiResponse <string> > Create(TrademarkRequest request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                return(new ApiErrorResponse <string>(ConstantStrings.emptyNameFieldError));
            }
            var trademark = new Trademark()
            {
                Name        = request.Name,
                Status      = request.Status,
                Description = request.Description
            };
            var uploadResult = await UploadImage(request.Image);

            trademark.Image    = uploadResult.SecureUrl.ToString();
            trademark.PublicId = uploadResult.PublicId;
            _db.Trademarks.Add(trademark);
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.addSuccessfully));
        }