public virtual ActionResult AttachmentUpload(int id, string Comments) { var j = Database.Jobs.Find(id); if (j != null) { if (Request.Files.Count > 0) { var file = Request.Files.Get(0); if (file.ContentLength > 0) { var contentType = file.ContentType; if (string.IsNullOrEmpty(contentType) || contentType.Equals("unknown/unknown", StringComparison.OrdinalIgnoreCase)) contentType = MimeTypes.ResolveMimeType(file.FileName); var ja = new JobAttachment() { JobId = j.Id, TechUserId = CurrentUser.UserId, Filename = file.FileName, MimeType = contentType, Timestamp = DateTime.Now, Comments = Comments }; Database.JobAttachments.Add(ja); Database.SaveChanges(); ja.SaveAttachment(Database, file.InputStream); ja.GenerateThumbnail(Database); return Json(ja.Id, JsonRequestBehavior.AllowGet); } } throw new Exception("No Attachment Uploaded"); } throw new Exception("Invalid Job Number"); }
public static JobAttachment CreateAttachment(this Job Job, DiscoDataContext Database, User CreatorUser, string Filename, string MimeType, string Comments, Stream Content, DocumentTemplate DocumentTemplate = null, Image PdfThumbnail = null) { if (string.IsNullOrEmpty(MimeType) || MimeType.Equals("unknown/unknown", StringComparison.OrdinalIgnoreCase)) MimeType = Interop.MimeTypes.ResolveMimeType(Filename); JobAttachment ja = new JobAttachment() { JobId = Job.Id, TechUserId = CreatorUser.UserId, Filename = Filename, MimeType = MimeType, Timestamp = DateTime.Now, Comments = Comments }; if (DocumentTemplate != null) ja.DocumentTemplateId = DocumentTemplate.Id; Database.JobAttachments.Add(ja); Database.SaveChanges(); ja.SaveAttachment(Database, Content); Content.Position = 0; if (PdfThumbnail == null) ja.GenerateThumbnail(Database, Content); else ja.SaveThumbnailAttachment(Database, PdfThumbnail); return ja; }