Exemple #1
0
 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")));
     }
 }
Exemple #2
0
        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")));
            }
        }