public ActionResult Index(IEnumerable <HttpPostedFileBase> files)
        {
            var        id         = Convert.ToInt32(Request.Cookies["id"].Value);
            Restaraunt Restaraunt = restRepository.GetRestarauntByID(id);
            var        res        = new List <HttpPostedFileBase>();
            // set path and foldername
            string FolderName = "Restaraunt" + id;
            string Folder     = Server.MapPath("~/Content/Images/RestaurantImages/");
            string pathString = System.IO.Path.Combine(Folder, FolderName);

            System.IO.Directory.CreateDirectory(pathString);
            string ForSaving = Server.MapPath("~/Content/Images/RestaurantImages/" + FolderName + "/");
            //
            int counter = 0;

            foreach (var file in files)
            {
                System.Drawing.Image imageObject = new Bitmap(file.InputStream);

                string FileName          = counter + ".jpg";
                string ThumbnailFileName = "small_" + counter + ".jpg";

                string Url          = System.IO.Path.Combine(ForSaving, FileName);
                string ThumbnailUrl = System.IO.Path.Combine(ForSaving, ThumbnailFileName);
                counter++;

                imageObject.Save(Url, System.Drawing.Imaging.ImageFormat.Jpeg);
                GetThumbnail(imageObject, 200, 200).Save(ThumbnailUrl, System.Drawing.Imaging.ImageFormat.Jpeg);

                // adding url to DB
                // костыль. не универсальный способ для сохранения URL
                Url = System.IO.Path.Combine("http://rest-rate.azurewebsites.net/Content/Images/RestaurantImages/" + FolderName + "/", FileName);
                //
                Domain.Entities.Image New = new Domain.Entities.Image()
                {
                    Url = Url, Name = FileName
                };
                New.RestarauntID = id;
                imageRepository.SaveImage(New);
                //
            }
            return(null);
        }
Example #2
0
 public ActionResult GetRestaurantInfo(int restarauntID)
 {
     try
     {
         if (!restarauntID.Equals(null))
         {
             Restaraunt        Restaraunt     = restRepository.GetRestarauntByID(restarauntID);
             RestarauntLang    RestarauntLang = restLangRepository.GetRestarauntLangByID(restarauntID);
             RestarauntAllData result         = workWithDBProvider.CreateRestarauntAllData(Restaraunt, RestarauntLang);
             string            tmp            = String.Empty;
             foreach (var image in result.Images) // need debug. подумать как упростить
             {
                 for (int i = image.Url.Length - 1; i >= 0; i--)
                 {
                     if (image.Url[i].Equals('\\'))
                     {
                         string NameAndExtension = new string(tmp.ToCharArray().Reverse().ToArray()); // gpj.<image_name> to <image_name>.jpg
                         image.Url = image.Url.Remove(i + 1) + "small_" + NameAndExtension;
                         tmp       = string.Empty;
                         break;
                     }
                     else
                     {
                         tmp += image.Url[i];
                     }
                 }
             }
             return(Json(new { result = result }));
         }
         return(Json(new { result = "JSON is null" }));
     }
     catch
     {
         return(Json(new { result = "NaN" }));
     }
 }