public async Task<ActionResult> Create(TechnicalDocument technicalDocument, HttpPostedFileBase uploadedFile) { if (ModelState.IsValid) { technicalDocument.UploadDate = DateTime.Now; var fileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(uploadedFile.FileName); var dir = Server.MapPath("~/Public/TechnicalDocuments/"); Directory.CreateDirectory(dir); uploadedFile.SaveAs(dir + fileName); technicalDocument.FileName = fileName; technicalDocument.Format = uploadedFile.ContentType; technicalDocument.FileSize = uploadedFile.ContentLength; db.TechnicalDocuments.Add(technicalDocument); await db.SaveChangesAsync(); return RedirectToAction("Index"); } return View(technicalDocument); }
private TechnicalDocumentEditViewModel GenerateViewModel(TechnicalDocument document) { var model = new TechnicalDocumentEditViewModel { TechnicalDocument = document }; return model; }
public async Task<ActionResult> Edit( TechnicalDocument technicaldocument, HttpPostedFileBase uploadedFile) { if (ModelState.IsValid) { var doc = await db.TechnicalDocuments.FindAsync(technicaldocument.Id); if (uploadedFile != null) { var fileName = doc.FileName; uploadedFile.SaveAs(Server.MapPath("~/Public/TechnicalDocuments/") + fileName); doc.Format = uploadedFile.ContentType; doc.FileSize = uploadedFile.ContentLength; } doc.Title = technicaldocument.Title; doc.LastModificationDate = DateTime.Now; db.Entry(doc).State = EntityState.Modified; await db.SaveChangesAsync(); return RedirectToAction("Index"); } return View(GenerateViewModel(technicaldocument)); }