예제 #1
0
        public async Task <DbResponse <SliderListModel> > AddAsync(SliderAddModel model, string userName, ICloudStorage cloudStorage, IFormFile file)
        {
            try
            {
                var registrationId = _db.Registration.GetRegID_ByUserName(userName);
                if (registrationId == 0)
                {
                    return(new DbResponse <SliderListModel>(false, "Invalid User"));
                }

                model.CreatedByRegistrationId = registrationId;

                if (file == null)
                {
                    return(new DbResponse <SliderListModel>(false, "Invalid Data"));
                }

                var fileName = FileBuilder.FileNameImage("slider", file.FileName);
                model.ImageFileName = await cloudStorage.UploadFileAsync(file, fileName);


                _db.Slider.Add(model);
                _db.SaveChanges();

                var data = _mapper.Map <SliderListModel>(_db.Slider.Slider);

                return(new DbResponse <SliderListModel>(true, "Success", data));
            }
            catch (Exception e)
            {
                return(new DbResponse <SliderListModel>(false, e.Message));
            }
        }
예제 #2
0
        public async Task <DbResponse <VendorSliderModel> > AddAsync(VendorSliderModel model, string vendorUserName, ICloudStorage cloudStorage, IFormFile file)
        {
            try
            {
                if (file == null)
                {
                    return(new DbResponse <VendorSliderModel>(false, "No image file found"));
                }

                var vendorId = _db.Registration.VendorIdByUserName(vendorUserName);
                if (vendorId == 0)
                {
                    return(new DbResponse <VendorSliderModel>(false, "Invalid User"));
                }

                var fileName = FileBuilder.FileNameImage("store", file.FileName);
                model.ImageFileName = await cloudStorage.UploadFileAsync(file, fileName);

                model.VendorId = vendorId;
                _db.VendorStoreSlider.Add(model);
                _db.SaveChanges();

                var data = _mapper.Map <VendorSliderModel>(_db.VendorStoreSlider.VendorStoreSlider);

                return(new DbResponse <VendorSliderModel>(true, "Success", data));
            }
            catch (Exception e)
            {
                return(new DbResponse <VendorSliderModel>(false, e.Message));
            }
        }
예제 #3
0
        public async Task <IActionResult> UpdateCategory(VendorProductCategoryUpdateModel model, IFormFile fileImage)
        {
            if (fileImage != null)
            {
                var fileName = FileBuilder.FileNameImage("store-product-category", fileImage.FileName);
                model.ImageFileName = await _cloudStorage.UploadFileAsync(fileImage, fileName);
            }

            var response = _category.Update(model);

            return(Json(response));
        }
예제 #4
0
        public async Task <DbResponse <CatalogDisplayModel> > AddAsync(CatalogAddModel model, string userName, ICloudStorage cloudStorage, IFormFile image)
        {
            try
            {
                var registrationId = _db.Registration.GetRegID_ByUserName(userName);
                if (registrationId == 0)
                {
                    return(new DbResponse <CatalogDisplayModel>(false, "Invalid User"));
                }

                model.CreatedByRegistrationId = registrationId;

                if (string.IsNullOrEmpty(model.CatalogName) && string.IsNullOrEmpty(model.SlugUrl))
                {
                    return(new DbResponse <CatalogDisplayModel>(false, "Invalid Data"));
                }

                if (_db.Catalog.IsExistName(model.CatalogName))
                {
                    return(new DbResponse <CatalogDisplayModel>(false, "Catalog Name already Exist", null, "CatalogName"));
                }

                if (_db.Catalog.IsExistSlugUrl(model.SlugUrl))
                {
                    return(new DbResponse <CatalogDisplayModel>(false, "SlugUrl already Exist", null, "SlugUrl"));
                }


                if (image != null)
                {
                    var fileName = FileBuilder.FileNameImage("catalog", image.FileName);
                    model.ImageFileName = await cloudStorage.UploadFileAsync(image, fileName);
                }

                _db.Catalog.Add(model);
                _db.SaveChanges();

                var data = _mapper.Map <CatalogDisplayModel>(_db.Catalog.catalog);

                return(new DbResponse <CatalogDisplayModel>(true, "Success", data));
            }
            catch (Exception e)
            {
                return(new DbResponse <CatalogDisplayModel>(false, e.Message));
            }
        }
예제 #5
0
        public async Task <DbResponse <string> > BlobFileAddAsync(ProductBlobFileChangeModel model, IFormFile file)
        {
            try
            {
                if (_db.Product.IsNull(model.ProductId))
                {
                    return(new DbResponse <string>(false, "Product Not Found"));
                }

                var fileName = FileBuilder.FileNameImage("product-image", file.FileName);

                model.BlobFileName = await _cloudStorage.UploadFileAsync(file, fileName);

                _db.Product.BlobAddFile(model);

                return(new DbResponse <string>(true, "Success", model.BlobFileName));
            }
            catch (Exception e)
            {
                return(new DbResponse <string>(false, e.Message));
            }
        }
예제 #6
0
        public async Task <DbResponse <BrandModel> > AddAsync(BrandAddModel model, string userName, ICloudStorage cloudStorage,
                                                              IFormFile fileLogo)
        {
            try
            {
                var registrationId = _db.Registration.GetRegID_ByUserName(userName);
                if (registrationId == 0)
                {
                    return(new DbResponse <BrandModel>(false, "Invalid User"));
                }

                model.CreatedByRegistrationId = registrationId;

                if (string.IsNullOrEmpty(model.Name))
                {
                    return(new DbResponse <BrandModel>(false, "Invalid Data"));
                }

                if (_db.Brand.IsExistName(model.Name))
                {
                    return(new DbResponse <BrandModel>(false, "Brand Name already Exist", null, "Name"));
                }

                var fileName = FileBuilder.FileNameImage("brand-logo", fileLogo.FileName);
                model.LogoFileName = await cloudStorage.UploadFileAsync(fileLogo, fileName);

                _db.Brand.Add(model);
                _db.SaveChanges();

                var data = _mapper.Map <BrandModel>(_db.Brand.Brand);

                return(new DbResponse <BrandModel>(true, "Success", data));
            }
            catch (Exception e)
            {
                return(new DbResponse <BrandModel>(false, e.Message));
            }
        }
예제 #7
0
        public async Task <IActionResult> ProfileUpdate(VendorInfoUpdateModel model, VendorInfoDocFile files)
        {
            model.StoreLogoFileName = await _cloudStorage.UpdateFileAsync(files.FileStoreLogo, model.StoreLogoFileName, "store-logo");

            model.StoreBannerFileName = await _cloudStorage.UpdateFileAsync(files.FileStoreBanner, model.StoreBannerFileName, "store-banner");

            model.NIdImageBackFileName = await _cloudStorage.UpdateFileAsync(files.FileNidPhotoBack, model.NIdImageBackFileName, "nid");

            model.NIdImageFrontFileName = await _cloudStorage.UpdateFileAsync(files.FileNidPhotoFront, model.NIdImageFrontFileName, "nid");

            model.ChequeImageFileName = await _cloudStorage.UpdateFileAsync(files.FileChequeCopy, model.ChequeImageFileName, "cheque");

            model.TradeLicenseImageFileName = await _cloudStorage.UpdateFileAsync(files.FileTradeLicense, model.TradeLicenseImageFileName, "trade-license");

            //multiple certificate insert
            if (files.FileOthersCertificate != null)
            {
                if (model.VendorCertificateFileNames != null)
                {
                    foreach (var s in model.VendorCertificateFileNames)
                    {
                        await _cloudStorage.DeleteFileAsync(FileBuilder.FileNameFromUrl(s));
                    }
                }

                var newFile = new List <string>();
                foreach (var file in files.FileOthersCertificate)
                {
                    newFile.Add(await _cloudStorage.UploadFileAsync(file, FileBuilder.FileNameImage("certificate", file.FileName)));
                }

                model.VendorCertificateFileNames = newFile.ToArray();
            }

            var response = _vendor.StoreUpdate(model, User.Identity.Name);

            return(Json(response));
        }
예제 #8
0
        public async Task <DbResponse <int> > AddProductAsync(ProductAddModel model, string vendorUserName)
        {
            try
            {
                var vendorId = _db.Registration.VendorIdByUserName(vendorUserName);
                if (vendorId == 0)
                {
                    return(new DbResponse <int>(false, "Invalid User"));
                }

                model.VendorId     = vendorId;
                model.UpdatedOnUtc = DateTime.UtcNow;

                if (!_db.Vendor.IsCatalogExist(vendorId, model.CatalogId))
                {
                    return(new DbResponse <int>(false, "Catalog Not Assign"));
                }

                if (string.IsNullOrEmpty(model.Name))
                {
                    return(new DbResponse <int>(false, "Invalid Data"));
                }

                if (_db.Product.IsExistSlugUrl(model.SlugUrl))
                {
                    return(new DbResponse <int>(false, "SlugUrl already Exist"));
                }

                //add product image
                if (model.ProductImage == null)
                {
                    return(new DbResponse <int>(false, "Product Image Required!"));
                }

                var count = 1;
                foreach (var img in model.ProductImage)
                {
                    var fileName = FileBuilder.FileNameImage("product-image", img.FileName);
                    var blob     = new ProductBlobAddModel
                    {
                        DisplayOrder = count,
                        BlobFileName = await _cloudStorage.UploadFileAsync(img, fileName)
                    };
                    model.Blobs.Add(blob);
                    count++;
                }


                //add attribute
                foreach (var attribute in model.Attributes)
                {
                    foreach (var value in attribute.Values)
                    {
                        if (value.AttributeImage == null)
                        {
                            continue;
                        }

                        var fileName = FileBuilder.FileNameImage("product-attribute-image", value.AttributeImage.FileName);
                        value.ImageFileName = await _cloudStorage.UploadFileAsync(value.AttributeImage, fileName);
                    }
                }


                _db.Product.Add(model);
                _db.SaveChanges();



                return(new DbResponse <int>(true, "Success", _db.Product.Product.ProductId));
            }
            catch (Exception e)
            {
                return(new DbResponse <int>(false, e.Message));
            }
        }