using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Weee.DAL; using Weee.Models; using PagedList; namespace Weee.Areas.Admin.Controllers { public class PublicReferenceFileController : AdminControllerBase { public PublicReferenceFileController(WeeeDataContext db) : base(db) { } public ActionResult Index(int page = 1) { var publicFiles = db.PublicReferenceFiles.ToList(); var onePageOfPublicFiles = publicFiles.ToPagedList(page, 10); return View(onePageOfPublicFiles); } public ActionResult Edit(int id) { var file = db.PublicReferenceFiles.Find(id); if (file == null) file = new PublicReferenceFile(); return View(file); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit(int id, PublicReferenceFile file) { if (ModelState.IsValid && id == file.ID) { var a = Request.Files["uploadedFile"]; var entry = db.Entry(file); if (file.ID != 0) { entry.State = System.Data.Entity.EntityState.Modified; entry.Property(x => x.CreatedTime).IsModified = false; entry.Entity.UpdatedTime = DateTime.Now; file.CreatedTime = entry.GetDatabaseValues().GetValue("CreatedTime"); } else { entry.State = System.Data.Entity.EntityState.Added; } var postedFile = Request.Files["uploadedFile"]; if (postedFile.ContentLength != 0) { var storage = DependencyResolver.Current.GetService(); if (file.DownloadLink!=null&&file.DownloadLink!="") storage.DeleteFromAzure(file.DownloadLink); //file.DownloadLink = storage.SaveToAzure(postedFile.InputStream, postedFile.FileName).ToString();//DL-3 string link = storage.SaveToAzure(postedFile.InputStream, postedFile.FileName, baseUrl).ToString();//DL-3 file.DownloadLink = link.Substring(link.IndexOf("Browser_Local")-1);//DL-3 } else { entry.Property(x => x.DownloadLink).IsModified = false; } db.SaveChanges(); } return RedirectToAction("index"); } public ActionResult Delete(int id) { var toBeRemove = db.PublicReferenceFiles.Find(id); db.PublicReferenceFiles.Remove(toBeRemove); var storage = DependencyResolver.Current.GetService(); storage.DeleteFromAzure(toBeRemove.DownloadLink); db.SaveChanges(); return RedirectToAction("Index"); } } }