예제 #1
0
        public ActionResult GetAttachments(int?id)
        {
            var model = new List <AttachmentObject>();

            if (id.HasValue && MainObject.CheckUserHasReadAccess(id.Value))
            {
                model = AttachmentObject.GetAttachments(id.Value);
            }

            return(PartialView("Partials/_attachmentList", model));
        }
예제 #2
0
        public string AttachmentMultiUpload(int id, int partNum)
        {
            var attachment = AttachmentObject.GetAttachment(id);

            if (attachment != null)
            {
                MemoryStream ms = new MemoryStream();
                Request.InputStream.CopyTo(ms);
                attachment.AddPart(partNum, ms.ToArray());
            }
            return("done");
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">Attachment Id</param>
        /// <returns></returns>
        public ActionResult DeleteAttachment(int?id)
        {
            int mid = 0;

            if (id.HasValue)
            {
                var asa = AttachmentObject.GetAttachment(id.Value);
                if (asa != null)
                {
                    mid = asa.MainId;
                    if (MainObject.CheckUserHasWriteAccess(mid))
                    {
                        asa.Delete();
                    }
                }
            }

            return(GetAttachments(mid));
        }
예제 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">Attachment Id</param>
        /// <returns></returns>
        public FileResult DownloadAttachment(int?id)
        {
            if (id.HasValue)
            {
                var ao = AttachmentObject.GetAttachment(id.Value);
                if (ao != null && MainObject.CheckUserHasReadAccess(ao.MainId))
                {
                    var content = ao.Contents;
                    if (content != null)
                    {
                        content.Seek(0, SeekOrigin.Begin);
                        // Need this turned off for large files
                        Response.BufferOutput = false;
                        return(File(content, System.Net.Mime.MediaTypeNames.Application.Octet, ao.FileName));
                    }
                }
            }

            return(null);
        }
예제 #5
0
 public void Save()
 {
     AttachmentId = AttachmentObject.AddAttachment(MainId, Filename, AttachmentNote, Size, NumberPages, AdminOnly).AttachmentId;
 }
예제 #6
0
 public AttachmentModel(int mainId)
 {
     MainId      = mainId;
     Attachments = AttachmentObject.GetAttachments(MainId);
 }
예제 #7
0
 public AdminAttachmentModel(int?mainId)
 {
     MainId      = mainId;
     Attachments = AttachmentObject.GetAttachments(MainId ?? 0, true);
 }