Ejemplo n.º 1
0
        public int SaveTestimonialImages(int TestimonialID)
        {
            var serialization   = new Serialization();
            var testimonialBA   = new Testimonial();
            var HashCriteria    = new Hashtable();
            var result          = 0;
            var actualCriteria  = string.Empty;
            var destinationPath = string.Empty;
            var imageName       = string.Empty;
            var TempImagePath   = System.Configuration.ConfigurationManager.AppSettings["TestimonialTempImagePath"];
            var ImagePath       = System.Configuration.ConfigurationManager.AppSettings["TestimonialImagePath"];

            ImagePath = ImagePath + '/' + TestimonialID.ToString();
            var folderExists = Directory.Exists(Server.MapPath(ImagePath));

            if (!folderExists)
            {
                Directory.CreateDirectory(Server.MapPath(ImagePath));
            }

            var lstImages       = Convert.ToString(Session["TestimonialImages"]);
            var ActualImagePath = string.Empty;

            if (lstImages != null && lstImages != "")
            {
                //Delete existing files related to this Testimonial ID
                var existingfiles = Directory.GetFiles(Server.MapPath(ImagePath));
                foreach (var file in existingfiles)
                {
                    if (file.Contains("_" + TestimonialID))
                    {
                        if (file != Path.Combine(Server.MapPath(ImagePath), lstImages))
                        {
                            System.IO.File.Delete(file);
                        }
                    }
                }
                var extension = lstImages.Substring(lstImages.LastIndexOf('.') + 1);
                var index     = Convert.ToString(lstImages).IndexOf(".");
                imageName = lstImages.Substring(0, index);
                var TempserverPath      = Server.MapPath(TempImagePath + "/" + lstImages);
                var filepresentonserver = Server.MapPath(ImagePath + "/" + lstImages);
                var imagepresenttrue    = System.IO.File.Exists(filepresentonserver);
                if (!imagepresenttrue)
                {
                    var filepresent  = Server.MapPath(ImagePath + "/" + imageName + "_" + TestimonialID + "." + extension);
                    var imagepresent = System.IO.File.Exists(filepresent);
                    if (!imagepresent)
                    {
                        ActualImagePath = Server.MapPath(ImagePath + "/" + imageName + "_" + TestimonialID + "." + extension);
                        System.IO.File.Copy(TempserverPath, ActualImagePath);
                    }
                    //Update Testimonial image in database
                    var fileName = imageName + "_" + TestimonialID + "." + extension;
                    HashCriteria.Add("Filename", fileName);
                    HashCriteria.Add("ID", TestimonialID);
                    actualCriteria = serialization.SerializeBinary((object)HashCriteria);
                    var resultTestimonial = Convert.ToString(testimonialBA.UpdateTestimonialImagePath(actualCriteria));
                    result = Convert.ToInt32(serialization.DeSerializeBinary(Convert.ToString(resultTestimonial)));
                }
                System.IO.File.Delete(Server.MapPath(TempImagePath + "/" + lstImages));
            }
            return(result);
        }