public async Task <IActionResult> Scan(string name, string picture, string description, bool notFound)
        {
            var viewModel = new GiversAddProductVM
            {
                ProductName = name,
                Link        = picture,
                Description = description,
                NotFound    = notFound
            };

            await SetBadges();

            return(View(nameof(AddProduct), viewModel));
        }
        public async Task <IActionResult> AddProduct(GiversAddProductVM giversAddProductVM)
        {
            if (!ModelState.IsValid)
            {
                return(View(giversAddProductVM));
            }

            if (giversAddProductVM.Picture != null)
            {
                var uniqueFileName = Helper.GetUniqueFileName(giversAddProductVM.Picture.FileName);
                var images         = Path.Combine(hostingEnvironment.WebRootPath, "products");
                var filePath       = Path.Combine(images, uniqueFileName);
                giversAddProductVM.Picture.CopyTo(new FileStream(filePath, FileMode.Create));
                giversAddProductVM.PictureFileName = uniqueFileName;
            }

            if (giversAddProductVM.Link != null)
            {
                var uniqueFileName = Helper.GetUniqueFileName(giversAddProductVM.Link);
                //fileName = fileService.GetFileName(viewModel.ImageUrl);
                var fileName = fileService.GetFileName(giversAddProductVM.Link);

                await fileService.SaveFileFromUrlAsync(giversAddProductVM.Link, fileName);

                giversAddProductVM.PictureFileName = fileName;
            }

            var giver = await membersService.GetUser(HttpContext.User);

            giversAddProductVM.GiverId = giver.Id;
            giversAddProductVM.Street  = giver.Street;
            giversAddProductVM.City    = giver.City;
            giversAddProductVM.ZipCode = giver.ZipCode;


            var location = await giversService.GetCoordinates(giver);

            giversAddProductVM.Location = location;

            await giversService.CreateProductAsync(giversAddProductVM);

            return(RedirectToAction(nameof(AddProduct)));
        }
示例#3
0
        public async Task CreateProductAsync(GiversAddProductVM giversAddProductVM)
        {
            await context.Product.AddAsync(new Product
            {
                Claimed     = false,
                Collected   = false,
                Description = giversAddProductVM.Description,
                ExpiryDate  = giversAddProductVM.ExpiryDate,
                Freshness   = giversAddProductVM.Freshness,
                Location    = giversAddProductVM.Location,
                Street      = giversAddProductVM.Street,
                City        = giversAddProductVM.City,
                ZipCode     = giversAddProductVM.ZipCode,
                Name        = giversAddProductVM.ProductName,
                PickUpDate1 = giversAddProductVM.PickUpDate1,
                PickUpDate2 = giversAddProductVM.PickUpDate2,
                Picture     = giversAddProductVM.PictureFileName,
                PublishDate = DateTime.Now,
                GiverId     = giversAddProductVM.GiverId
            });

            await context.SaveChangesAsync();
        }