public ActionResult DeleteInvocationDocument([DataSourceRequest] DataSourceRequest request, int?id) { try { if (ModelState.IsValid) { using (var db = new StoreContext()) { InvocationDocument item = db.InvocationDocuments.Find(Convert.ToInt32(id)); db.InvocationDocuments.Attach(item); string fileName = Server.MapPath(item.DocumentURL); if (System.IO.File.Exists(fileName)) { System.IO.File.Delete(fileName); } db.InvocationDocuments.Remove(item); db.SaveChanges(); } } return(Json("1", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(ex.Message, JsonRequestBehavior.AllowGet)); } }
public ChangeSignatureTestState(TestWorkspace workspace) { Workspace = workspace; _testDocument = Workspace.Documents.SingleOrDefault(d => d.CursorPosition.HasValue); if (_testDocument == null) { throw new ArgumentException("markup does not contain a cursor position", nameof(workspace)); } InvocationDocument = Workspace.CurrentSolution.GetDocument(_testDocument.Id); ChangeSignatureService = InvocationDocument.GetLanguageService <AbstractChangeSignatureService>(); }
public ActionResult UpdateInvocationDocument(int?id) { try { using (var db = new StoreContext()) { this.InvocationDocumentViewBugs(db); InvocationDocument invocationDocument = db.InvocationDocuments.Find(id); var item = new InvocationDocumentTemplate(); item.InvocationDocumentId = invocationDocument.InvocationDocumentId; item.InvocationId = invocationDocument.InvocationId; item.DocumentTypeId = invocationDocument.DocumentTypeId; item.DocumentGuid = invocationDocument.DocumentGuid; ViewBag.fileName = Guid.NewGuid().ToString(); return(View("InvocationDocumentTemplate", item)); } } catch (Exception ex) { return(HttpNotFound(ex.Message)); } }
public ActionResult DigitalInvocation(HomeDigitalInvocationModel homeDigitalInvocationModel, string folder, string file1, string file2, string file3, string file4) { try { string pxPath = "~/FileStorage/Invocation/"; string directoryPath = Server.MapPath(pxPath + folder); using (var db = new StoreContext()) { bool isCapthcaValid = ValidateCaptcha(Request["g-recaptcha-response"]); if (!isCapthcaValid) { TempData["requestMessage"] = "Captcha ստուգումը խափանվեց"; if (Directory.Exists(directoryPath)) { Directory.Delete(directoryPath, true); } ViewBag.InvocationFile = Guid.NewGuid().ToString(); ViewBag.File1 = Guid.NewGuid().ToString(); ViewBag.File2 = Guid.NewGuid().ToString(); ViewBag.File3 = Guid.NewGuid().ToString(); ViewBag.File4 = Guid.NewGuid().ToString(); ViewBag.Folder = Guid.NewGuid().ToString(); this.DigitalInvocationViewBugs(db); return(View("DigitalInvocation", homeDigitalInvocationModel)); } if (ModelState.IsValid) { var invocation = new Models.Invocation(); invocation.FirstName = homeDigitalInvocationModel.FirstName; invocation.LastName = homeDigitalInvocationModel.LastName; invocation.PatronymicName = homeDigitalInvocationModel.PatronymicName; invocation.BirthDate = homeDigitalInvocationModel.BirthDate; invocation.RegionId = homeDigitalInvocationModel.RegionId; invocation.CommunityId = homeDigitalInvocationModel.CommunityId; invocation.Street = homeDigitalInvocationModel.Street; invocation.Home = homeDigitalInvocationModel.Home; invocation.Room = homeDigitalInvocationModel.Room; invocation.ResidentMail = homeDigitalInvocationModel.ResidentMail; invocation.OrganizationId = homeDigitalInvocationModel.OrganizationId; invocation.InvocationPurposeId = homeDigitalInvocationModel.InvocationPurposeId; // Nonvisible fields invocation.InvocationDate = db.Database.SqlQuery <DateTime>("SELECT GETDATE()").Single(); invocation.InitiationDate = db.Database.SqlQuery <DateTime>("SELECT GETDATE()").Single(); invocation.InitiationTypeId = 2; invocation.InvocationStatusId = 1; db.Invocations.Add(invocation); db.SaveChanges(); if (!Directory.Exists(directoryPath)) { Directory.CreateDirectory(directoryPath); } string path1 = Server.MapPath(pxPath + folder); string path2 = Server.MapPath(pxPath + invocation.InvocationId.ToString()); if (Directory.Exists(path1)) { Directory.Move(path1, path2); } var fileArray = new string[] { file1, file2, file3, file4 }; foreach (string item in fileArray) { if (!string.IsNullOrEmpty(item)) { string[] files = Directory.GetFiles(Server.MapPath(pxPath + invocation.InvocationId.ToString()), item + ".*"); if (files != null) { foreach (var file in files) { var item1 = new InvocationDocument(); item1.InvocationId = invocation.InvocationId; item1.DocumentURL = pxPath + invocation.InvocationId.ToString() + "/" + Path.GetFileName(file); item1.DocumentTypeId = Array.IndexOf(fileArray, item) + 1; item1.DocumentGuid = new Guid(item); db.InvocationDocuments.Add(item1); } } } } db.Invocations.Attach(invocation); db.Entry(invocation).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("InvocationDetail", new { id = invocation.InvocationId })); } else { TempData["requestMessage"] = "մոդելը վավեր չէ"; if (Directory.Exists(directoryPath)) { Directory.Delete(directoryPath, true); } ViewBag.InvocationFile = Guid.NewGuid().ToString(); ViewBag.File1 = Guid.NewGuid().ToString(); ViewBag.File2 = Guid.NewGuid().ToString(); ViewBag.File3 = Guid.NewGuid().ToString(); ViewBag.File4 = Guid.NewGuid().ToString(); ViewBag.Folder = Guid.NewGuid().ToString(); this.DigitalInvocationViewBugs(db); return(View("DigitalInvocation", homeDigitalInvocationModel)); } } } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Home", "DigitalInvocation"))); } }
public ActionResult SaveInvocationDocument(InvocationDocumentTemplate invocationDocumentTemplate) { try { using (var db = new StoreContext()) { string[] files = Directory.GetFiles(Server.MapPath("~/FileStorage/Invocation/" + invocationDocumentTemplate.InvocationId.ToString()), invocationDocumentTemplate.DocumentGuid + ".*"); if (invocationDocumentTemplate.InvocationDocumentId == 0) { var invocationDocument = new InvocationDocument(); invocationDocument.InvocationId = invocationDocumentTemplate.InvocationId; invocationDocument.DocumentTypeId = invocationDocumentTemplate.DocumentTypeId; invocationDocument.DocumentGuid = invocationDocumentTemplate.DocumentGuid; if (files != null) { foreach (var file in files) { invocationDocument.DocumentURL = "~/FileStorage/Invocation/" + invocationDocumentTemplate.InvocationId.ToString() + "/" + Path.GetFileName(file); } } invocationDocument.Id = userId; invocationDocument.LogDate = db.Database.SqlQuery <DateTime>("SELECT GETDATE()").Single(); db.InvocationDocuments.Add(invocationDocument); } else { InvocationDocument invocationDocument = db.InvocationDocuments.Find(invocationDocumentTemplate.InvocationDocumentId); invocationDocument.InvocationId = invocationDocumentTemplate.InvocationId; invocationDocument.DocumentTypeId = invocationDocumentTemplate.DocumentTypeId; invocationDocument.DocumentGuid = invocationDocumentTemplate.DocumentGuid; if (files != null) { foreach (var file in files) { invocationDocument.DocumentURL = "~/FileStorage/Invocation/" + invocationDocumentTemplate.InvocationId.ToString() + "/" + Path.GetFileName(file); } } invocationDocument.Id = userId; invocationDocument.LogDate = db.Database.SqlQuery <DateTime>("SELECT GETDATE()").Single(); db.InvocationDocuments.Attach(invocationDocument); db.Entry(invocationDocument).State = EntityState.Modified; } db.SaveChanges(); //Clear folder from unbound files string[] allFiles = Directory.GetFiles(Server.MapPath("~/FileStorage/Invocation/" + invocationDocumentTemplate.InvocationId.ToString())); foreach (string fileName in allFiles) { string fn = Path.GetFileNameWithoutExtension(fileName); int fileCnt = db.InvocationDocuments.Where(p => p.DocumentGuid.ToString() == fn).Count(); if (fileCnt == 0) { if (System.IO.File.Exists(fileName)) { System.IO.File.Delete(fileName); } } } return(this.Json(new { statuscode = 1, message = "" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Invocation", "SaveInvocationDocument"))); } }