public virtual ActionResult AttachmentUpload(string id, string Comments) { var d = Database.Devices.Find(id); if (d != 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 da = new DeviceAttachment() { DeviceSerialNumber = d.SerialNumber, TechUserId = CurrentUser.UserId, Filename = file.FileName, MimeType = contentType, Timestamp = DateTime.Now, Comments = Comments }; Database.DeviceAttachments.Add(da); Database.SaveChanges(); da.SaveAttachment(Database, file.InputStream); da.GenerateThumbnail(Database); return Json(da.Id, JsonRequestBehavior.AllowGet); } } throw new Exception("No Attachment Uploaded"); } throw new Exception("Invalid Device Serial Number"); }
public static DeviceAttachment CreateAttachment(this Device Device, 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); DeviceAttachment da = new DeviceAttachment() { DeviceSerialNumber = Device.SerialNumber, TechUserId = CreatorUser.UserId, Filename = Filename, MimeType = MimeType, Timestamp = DateTime.Now, Comments = Comments }; if (DocumentTemplate != null) da.DocumentTemplateId = DocumentTemplate.Id; Database.DeviceAttachments.Add(da); Database.SaveChanges(); da.SaveAttachment(Database, Content); Content.Position = 0; if (PdfThumbnail == null) da.GenerateThumbnail(Database, Content); else da.SaveThumbnailAttachment(Database, PdfThumbnail); return da; }