public ActionResult ChangeSetting(SettingInformations model)
        {
            string fileName = Server.MapPath("~/Resources/MySecretFile.xml");

            DataSet ds = new DataSet();

            ds.ReadXml(fileName);


            if (ModelState.IsValid)
            {
                if (ConfirmLogin(model.UserName, model.Password))
                {
                    ds.Tables[0].Rows[0]["sd"] = (model.SaveDataBase == true)?"true":"false";
                    ds.Tables[0].Rows[0]["ci"] = (model.Cigher == true) ? "true" : "false";
                    ds.Tables[0].Rows[0]["cf"] = (model.Cigher == true) ? "true" : "false";

                    ds.Tables[0].Rows[0]["md"] = ManagedAes.EncryptText(model.MotherBoardId);
                    ds.Tables[0].Rows[0]["cd"] = ManagedAes.EncryptText(model.CpudId);


                    ds.WriteXml(fileName);


                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("UserName", "خطأ في التأكيد ");
                    ModelState.AddModelError("Password", "خطأ في التأكيد");

                    return(View(model));
                }
            }

            return(View());
        }
        public ActionResult Create(SealDocument Seal, IEnumerable <HttpPostedFileBase> SealFiles)
        {
            if (SealFiles != null)
            {
                foreach (var file in SealFiles)
                {
                    if (!CheckFileFormatting.PermissionFile(file))
                    {
                        ModelState.AddModelError("File", "صيغة الملف غير مدعومة!");
                    }
                }
            }

            if (ModelState.IsValid)
            {
                Seal.CreatedAt   = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss");
                Seal.CreatedById = User.Identity.GetUserId();

                // Encrypt Document Attributes.
                if (ManagedAes.IsCipher)
                {
                    Seal.CreatedAt = ManagedAes.EncryptText(Seal.CreatedAt);
                    Seal.Message   = ManagedAes.EncryptText(Seal.Message);
                }

                _context.SealDocuments.Add(Seal);
                _context.SaveChanges();

                if (ManagedAes.IsSaveInDb)
                {
                    // start code get image from scanner, save it in database.
                    var scannedImages = Request.Form.GetValues("myfile");
                    if (scannedImages != null)
                    {
                        int i = 0;
                        foreach (var ImgStr in scannedImages)
                        {
                            i++;
                            var sealFiles = new SealFiles();

                            sealFiles.SealId = Seal.Id;

                            string imageName = "scannedImage" + i + ".jpg";

                            var imgAsByteArray = ManagedAes.DecodeUrlBase64(ImgStr);

                            if (ManagedAes.IsCipher)
                            {
                                // Encrypt File Name.
                                sealFiles.FileName = ManagedAes.EncryptText(imageName);
                                // Encrypt File.
                                var EncryptedImgAsByteArray = ManagedAes.EncryptArrayByte(imgAsByteArray);
                                sealFiles.File = new byte[EncryptedImgAsByteArray.Length];
                                sealFiles.File = EncryptedImgAsByteArray;
                            }
                            else
                            {
                                // File Name.
                                sealFiles.FileName = imageName;
                                // File.
                                sealFiles.File = new byte[imgAsByteArray.Length];
                                sealFiles.File = imgAsByteArray;
                            }

                            _context.SealFiles.Add(sealFiles);
                            _context.SaveChanges();
                        }
                    }
                    // .// end code // get image from scanner, save it in server.


                    foreach (HttpPostedFileBase file in SealFiles)
                    {
                        if (file != null)
                        {
                            var sealFiles = new SealFiles();

                            sealFiles.SealId = Seal.Id;

                            string FileName = Path.GetFileName(file.FileName);
                            sealFiles.FileName = FileName;

                            sealFiles.File = new byte[file.ContentLength];
                            file.InputStream.Read(sealFiles.File, 0, file.ContentLength);

                            if (ManagedAes.IsCipher)
                            {
                                // Encrypt File Name.
                                sealFiles.FileName = ManagedAes.EncryptText(FileName);
                                // Encrypt File.
                                sealFiles.File = ManagedAes.EncryptArrayByte(sealFiles.File);
                            }

                            _context.SealFiles.Add(sealFiles);
                            _context.SaveChanges();
                        }
                    }
                }
                else
                {
                    // start code get image from scanner, save it in server
                    var scannedImages = Request.Form.GetValues("myfile");
                    if (scannedImages != null)
                    {
                        int i = 0;
                        foreach (var ImgStr in scannedImages)
                        {
                            i++;
                            String path = Server.MapPath("~/Uploads"); //Path

                            //Check if directory exist
                            if (!System.IO.Directory.Exists(path))
                            {
                                System.IO.Directory.CreateDirectory(path); //Create directory if it doesn't exist
                            }
                            string imageName = "scannedImage" + i + ".jpg";
                            string s1        = DateTime.Now.ToString("yyyyMMddhhHHmmss") + imageName;

                            //set the image path
                            string imgPath    = Path.Combine(path, imageName);
                            byte[] imageBytes = ManagedAes.DecodeUrlBase64(ImgStr);

                            var sealFiles = new SealFiles();
                            sealFiles.SealId = Seal.Id;

                            if (ManagedAes.IsCipher)
                            {
                                ManagedAes.EncryptFile(imageBytes, imgPath);
                                imageName = ManagedAes.EncryptText(imageName);
                                s1        = ManagedAes.EncryptText(s1);
                            }
                            else
                            {
                                System.IO.File.WriteAllBytes(imgPath, imageBytes);
                            }

                            sealFiles.FileName = imageName;

                            sealFiles.FileUrl = s1;

                            _context.SealFiles.Add(sealFiles);
                            _context.SaveChanges();
                        }
                    }
                    // .// end code // get image from scanner, save it in server.

                    foreach (var file in SealFiles)
                    {
                        if (file != null)
                        {
                            var sealFiles = new SealFiles();
                            sealFiles.SealId = Seal.Id;

                            //Save File In Uploads
                            string FileName = Path.GetFileName(file.FileName);

                            string s1   = DateTime.Now.ToString("yyyyMMddhhHHmmss") + FileName;
                            string path = Path.Combine(Server.MapPath("~/Uploads"), s1);

                            if (ManagedAes.IsCipher)
                            {
                                ManagedAes.EncryptFile(file, path);
                                FileName = ManagedAes.EncryptText(FileName);
                                s1       = ManagedAes.EncryptText(s1);
                            }
                            else
                            {
                                file.SaveAs(path);
                            }

                            sealFiles.FileName = FileName;

                            sealFiles.FileUrl = s1;

                            _context.SealFiles.Add(sealFiles);
                            _context.SaveChanges();
                        }
                    }
                }

                return(RedirectToAction("Index", new { id = Seal.DocumentId }));
            }
            return(View(Seal));
        }