public async Task <IActionResult> AddImage(RestaurantImageViewModel model)
        {
            if (ModelState.IsValid)
            {
                var path = string.Empty;

                if (model.ImageFile != null)
                {
                    path = await _imageHerlper.UploadImageAsync(model.ImageFile);
                }

                var restauranImage = new RestaurantImage
                {
                    ImageUrl   = path,
                    Restaurant = await _dataContext.Restaurants.FindAsync(model.Id)
                };


                _dataContext.RestaurantImages.Add(restauranImage);
                await _dataContext.SaveChangesAsync();

                return(RedirectToAction($"{nameof(DetailsRestaurant)}/{model.Id}"));
            }

            return(View(model));
        }
        public async Task <HttpResponseMessage> RemoveRestaurantImage(LibBookingService.Dtos.Image image)
        {
            try
            {
                Image img = await _db.Images.Where(i => i.Id == image.Id).FirstOrDefaultAsync();

                img.Deleted = true;

                _db.SetModified(img);
                await _db.SaveChangesAsync();

                RestaurantImage resImg = await _db.RestaurantImages.Where(i => i.Image_id == image.Id && i.Restaurant_id == image.Source).FirstOrDefaultAsync();

                resImg.Deleted = true;

                _db.SetModified(resImg);
                await _db.SaveChangesAsync();

                return(Request.CreateResponse(HttpStatusCode.OK, "Success"));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Failed"));
            }
        }
Beispiel #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            RestaurantImage restaurantImage = db.RestaurantImages.Find(id);

            db.RestaurantImages.Remove(restaurantImage);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #4
0
        public void Delete(RestaurantImageModel entity)
        {
            RestaurantImage ri = new RestaurantImage
            {
                Id = entity.RestaurantId
            };

            _restaurantImageRepository.Delete(ri);
            _restaurantImageRepository.Save();
        }
Beispiel #5
0
 public ActionResult Edit([Bind(Include = "ImageId,ImageURL,RestaurantId")] RestaurantImage restaurantImage)
 {
     if (ModelState.IsValid)
     {
         db.Entry(restaurantImage).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.RestaurantId = new SelectList(db.Restaurants, "RestaurantId", "RestaurantName", restaurantImage.RestaurantId);
     return(View(restaurantImage));
 }
Beispiel #6
0
        public void Update(RestaurantImageModel entity)
        {
            RestaurantImage ri = new RestaurantImage
            {
                Id   = entity.RestaurantId,
                Path = entity.Path
            };

            _restaurantImageRepository.Update(ri);
            _restaurantImageRepository.Save();
        }
Beispiel #7
0
        public ActionResult Create([Bind(Include = "ImageId,ImageURL,RestaurantId")] RestaurantImage restaurantImage)
        {
            if (ModelState.IsValid)
            {
                db.RestaurantImages.Add(restaurantImage);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.RestaurantId = new SelectList(db.Restaurants, "RestaurantId", "RestaurantName", restaurantImage.RestaurantId);
            return(View(restaurantImage));
        }
Beispiel #8
0
        public async Task <int?> DeleteImageAsync(RestaurantImage image)
        {
            if (image == null)
            {
                return(null);
            }

            await this.cloudinaryImageService.DeleteImageAsync(image.PublicId);

            this.imageRepository.Delete(image);
            return(await this.imageRepository.SaveChangesAsync());
        }
Beispiel #9
0
        // GET: Panel/RestaurantImages/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RestaurantImage restaurantImage = db.RestaurantImages.Find(id);

            if (restaurantImage == null)
            {
                return(HttpNotFound());
            }
            return(View(restaurantImage));
        }
Beispiel #10
0
        // GET: Panel/RestaurantImages/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RestaurantImage restaurantImage = db.RestaurantImages.Find(id);

            if (restaurantImage == null)
            {
                return(HttpNotFound());
            }
            ViewBag.RestaurantId = new SelectList(db.Restaurants, "RestaurantId", "RestaurantName", restaurantImage.RestaurantId);
            return(View(restaurantImage));
        }
Beispiel #11
0
 public ActionResult Upload(IFormFile file, int id)
 {
     Console.Write(id);
     using (var ms = new MemoryStream())
     {
         file.CopyTo(ms);
         var             fileBytes = ms.ToArray();
         RestaurantImage newImage  = new RestaurantImage();
         string          s         = Convert.ToBase64String(fileBytes);
         newImage.ImageString  = s;
         newImage.RestaurantId = id;
         _db.Images.Add(newImage);
         _db.SaveChanges();
     }
     return(RedirectToAction("Index"));
 }
Beispiel #12
0
        public async Task <int?> AddImageToRestaurantAsync(string imageUrl, string name, int restaurantId)
        {
            var result = await this.cloudinaryImageService.UploadRestaurantImageToCloudinaryAsync(imageUrl, name);

            if (result == null)
            {
                return(null);
            }

            var image = new RestaurantImage
            {
                ImageUrl     = result.ImageUrl,
                PublicId     = result.PublicId,
                RestaurantId = restaurantId,
            };

            await this.imageRepository.AddAsync(image);

            await this.imageRepository.SaveChangesAsync();

            return(image.Id);
        }
Beispiel #13
0
 public ActionResult Add(AddImageVm data)
 {
     if (data.RestaurantImage.ContentType == "image/jpeg" || data.RestaurantImage.ContentType == "image/jpg" || data.RestaurantImage.ContentType == "image/png")
     {
         if (data.RestaurantImage.ContentLength < 2000000)
         {
             WebImage img = new WebImage(data.RestaurantImage.InputStream);
             if (img.Height > 500)
             {
                 img.Resize(1400, 500, true, false);
             }
             //Örnek dosya adı: 13_201907251137437654386.jpeg
             string fileName   = data.RestaurantId + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfffffff");
             string folderPath = "/Content/Images/RestaurantPics/" + data.RestaurantId + "/";
             img.FileName = fileName + "." + img.ImageFormat;
             var restaurantImage = new RestaurantImage();
             restaurantImage.RestaurantId = data.RestaurantId;
             restaurantImage.ImgFilePath  = folderPath + img.FileName;
             restaurantImage.UploaderId   = User.Identity.GetUserId();
             //RestaurantPics klasöründe adı restoran id'si olan klasör yoksa oluştur:
             System.IO.Directory.CreateDirectory(Server.MapPath(folderPath));
             img.Save(Server.MapPath(folderPath) + img.FileName);
             service.Uow.RestaurantImages.Insert(restaurantImage);
             service.Uow.Save();
             return(RedirectToAction("Detail", "Restaurant", new { id = data.RestaurantId }));
         }
         else
         {
             return(Json(new { invalidSize = true }));
         }
     }
     else
     {
         return(Json(new { invalidFormat = true }));
     }
 }