Beispiel #1
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Branches_Id,Timestamp,Filename,Description,IsOlder")] UploadFilesModels uploadFilesModels, List <HttpPostedFileBase> files)
        {
            if (files[0] == null)
            {
                ModelState.AddModelError("Document", "File(s) is required.");
            }

            if (ModelState.IsValid)
            {
                string Dir = Server.MapPath("~/assets/files/");
                if (!Directory.Exists(Dir))
                {
                    DirectoryInfo di = Directory.CreateDirectory(Dir);
                }

                foreach (HttpPostedFileBase file in files)
                {
                    uploadFilesModels.Id        = Guid.NewGuid();
                    uploadFilesModels.Timestamp = DateTime.UtcNow;
                    uploadFilesModels.Filename  = file.FileName;
                    uploadFilesModels.IsOlder   = false;
                    db.UploadFiles.Add(uploadFilesModels);

                    file.SaveAs(Path.Combine(Dir, uploadFilesModels.Id.ToString() + "_" + uploadFilesModels.Filename + Path.GetExtension(file.FileName)));
                }

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.listBranch = new SelectList(db.Branches.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name");
            return(View(uploadFilesModels));
        }
Beispiel #2
0
        public async Task <ActionResult> Download(Guid id)
        {
            UploadFilesModels uploadFilesModels = await db.UploadFiles.FindAsync(id);

            string path        = Server.MapPath("~/assets/files/" + id.ToString() + "_" + uploadFilesModels.Filename + Path.GetExtension(uploadFilesModels.Filename));
            string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

            return(File(path, contentType, Path.GetFileName(path)));
        }
Beispiel #3
0
        public async Task <ActionResult> DeleteFileUpload(Guid id)
        {
            UploadFilesModels uploadFilesModels = await db.UploadFiles.FindAsync(id);

            db.UploadFiles.Remove(uploadFilesModels);

            string Dir      = Server.MapPath("~/assets/files/");
            string fileName = uploadFilesModels.Id.ToString() + "_" + uploadFilesModels.Filename + Path.GetExtension(uploadFilesModels.Filename);

            if (System.IO.File.Exists(Dir + fileName))
            {
                System.IO.File.Delete(Dir + fileName);
            }

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #4
0
        public async Task <ActionResult> Update(Guid id)
        {
            Permission p    = new Permission();
            bool       auth = p.IsGranted(User.Identity.Name, this.ControllerContext.RouteData.Values["controller"].ToString() + "_" + this.ControllerContext.RouteData.Values["action"].ToString());

            if (!auth)
            {
                return(new ViewResult()
                {
                    ViewName = "Unauthorized"
                });
            }
            else
            {
                UploadFilesModels uploadFilesModels = await db.UploadFiles.FindAsync(id);

                return(View(uploadFilesModels));
            }
        }
Beispiel #5
0
        public async Task <ActionResult> Update([Bind(Include = "Id,Branches_Id,Timestamp,Filename,Description,IsOlder")] UploadFilesModels uploadFilesModels, List <HttpPostedFileBase> files)
        {
            if (files[0] == null)
            {
                ModelState.AddModelError("Document", "File(s) is required.");
            }

            if (ModelState.IsValid)
            {
                string Dir = Server.MapPath("~/assets/files/");
                if (!Directory.Exists(Dir))
                {
                    DirectoryInfo di = Directory.CreateDirectory(Dir);
                }

                UploadFilesModels model_before = await db.UploadFiles.FindAsync(uploadFilesModels.Id);

                model_before.IsOlder         = true;
                db.Entry(model_before).State = EntityState.Modified;

                foreach (HttpPostedFileBase file in files)
                {
                    uploadFilesModels.Id        = Guid.NewGuid();
                    uploadFilesModels.Timestamp = DateTime.UtcNow;
                    uploadFilesModels.Filename  = file.FileName;
                    uploadFilesModels.IsOlder   = false;
                    db.UploadFiles.Add(uploadFilesModels);

                    file.SaveAs(Path.Combine(Dir, uploadFilesModels.Id.ToString() + "_" + uploadFilesModels.Filename + Path.GetExtension(file.FileName)));
                }

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(uploadFilesModels));
        }