public ActionResult UploadAttachments(HttpPostedFileBase[] files, FormCollection form) { string[] typeIDs = form.GetValues("attachmentTypes"); string fileExtension; for (int i = 0; i < files.Length; i++) { try { fileExtension = Path.GetExtension(files[i].FileName); if (fileExtension != ".jpg" && fileExtension != ".pdf" && fileExtension != ".png") { throw new Exception("Error, Invalid extension"); } string path = Path.Combine(Server.MapPath("~/Attachments"), Path.GetRandomFileName().Replace(".", "") + Path.GetExtension(files[i].FileName)); files[i].SaveAs(path); Attachment attachment = new Attachment { TypeID = Convert.ToInt64(typeIDs[i]), Date = DateTime.Now, SpecialistID = User.Identity.GetUserId <long>(), CitizenID = Convert.ToInt64(form["Id"]), FilePath = path, FileName = files[i].FileName, IsRead = false }; MedicalHistoryBusinessLayer.SaveAttachment(attachment); NotificationsHub.NotifyAttachment(attachment.CitizenID, User.Identity.GetCitizen().Name, attachment.FileName); } catch (Exception ex) { return(Content(ex.Message)); } } return(Redirect(Request.UrlReferrer.ToString())); }