public ActionResult PaperInvocation() { try { using (var db = new StoreContext()) { ViewBag.InvocationFile = Guid.NewGuid().ToString(); ViewBag.Folder = Guid.NewGuid().ToString(); ViewBag.File1 = Guid.NewGuid().ToString(); ViewBag.File2 = Guid.NewGuid().ToString(); ViewBag.File3 = Guid.NewGuid().ToString(); ViewBag.File4 = Guid.NewGuid().ToString(); this.PaperInvocationViewBugs(db); var item = new HomePaperInvocationModel(); return(View("PaperInvocation", item)); } } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Home", "PaperInvocation"))); } }
public ActionResult PaperInvocation(HomePaperInvocationModel homePaperInvocationModel, string folder, string invocationFile, string file1, string file2, string file3, string file4) { try { string pxPath = "~/FileStorage/Invocation/"; string directoryPath = Server.MapPath(pxPath + folder); using (var db = new StoreContext()) { //If Captchia is not valid return model 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.PaperInvocationViewBugs(db); return(View("PaperInvocation", homePaperInvocationModel)); } if (ModelState.IsValid) { var invocation = new Models.Invocation(); invocation.OrganizationId = homePaperInvocationModel.OrganizationId; invocation.InvocationPurposeId = homePaperInvocationModel.InvocationPurposeId; invocation.ResidentMail = homePaperInvocationModel.ResidentMail; // Nonvisible fields invocation.InitiationTypeId = 1; //Paper Invocation invocation.InitiationDate = db.Database.SqlQuery <DateTime>("SELECT GETDATE()").Single(); invocation.InvocationStatusId = 1; //Preparation Stage invocation.InvocationDate = db.Database.SqlQuery <DateTime>("SELECT GETDATE()").Single(); 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); } if (!string.IsNullOrEmpty(invocationFile)) { string[] files = Directory.GetFiles(Server.MapPath(pxPath + invocation.InvocationId.ToString()), invocationFile + ".*"); if (files != null) { foreach (var file in files) { invocation.InvocationGuid = new Guid(invocationFile); invocation.InvocationURL = pxPath + invocation.InvocationId.ToString() + "/" + Path.GetFileName(file); } } } 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("PaperInvocation", homePaperInvocationModel)); } } } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Home", "PaperInvocation"))); } }