Пример #1
0
        public ActionResult ImportConfiguration()
        {
            CA_Backup_Model modelclass = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);

            modelclass.UpdateConfigSettings();
            return(RedirectToAction("Setting", "Settings"));
        }
Пример #2
0
        public ActionResult SaveOverrideValidation(CABackupFrontend.Controllers.SettingsViewModel inputdata)
        {
            CA_Backup_Model modelclass = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);

            modelclass.UpdateValidationSettings(inputdata.validationsettings);

            return(RedirectToAction("Setting", "Settings"));
        }
        public async Task <ActionResult> RestorePolicy(string partitionkey, string rowkey)
        {
            string upn = Request.Headers["X-MS-CLIENT-PRINCIPAL-NAME"];

            CA_Backup_Model modelclass = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);
            await modelclass.Restoretoexistingpolicy(partitionkey, rowkey, upn);

            return(View("Backups"));
        }
        public ActionResult BackupRestore(string rowkey, string partitionkey)
        {
            CA_Backup_Model            model        = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);
            List <listcabackupdetails> backupdetail = model.GetBackupDetails(partitionkey, rowkey);

            if (backupdetail.Count > 0)
            {
                string backupdate = backupdetail[0].BackupDate;
                string backuptype = backupdetail[0].PartitionKey;

                JObject backupdetails = new JObject();

                if (partitionkey == "CABackupChanges")
                {
                    backupdetails = JObject.Parse(backupdetail[0].CAOldValue);
                }
                else if (partitionkey == "CABackupDaily")
                {
                    backupdetails = JObject.Parse(backupdetail[0].CABackup);
                }

                ViewBag.PartitionKey       = partitionkey;
                ViewBag.RowKey             = backupdetail[0].RowKey;
                ViewBag.RestorePolicyID    = (string)backupdetails["id"];
                ViewBag.RestorePolicyname  = (string)backupdetails["displayName"];
                ViewBag.RestorePolicystate = (string)backupdetails["state"];

                try
                {
                    ViewBag.RestoreJSONConditions = (JValue.Parse(backupdetails["conditions"].ToString()).ToString(Formatting.Indented)).ToString();
                }
                catch (Exception)
                {
                    ViewBag.RestoreJSONConditions = "nothing defined";
                }

                try
                {
                    ViewBag.RestoreJSONGrantControls = (JValue.Parse(backupdetails["grantControls"].ToString()).ToString(Formatting.Indented)).ToString();
                }
                catch (Exception)
                {
                    ViewBag.RestoreJSONGrantControls = "nothing defined";
                }

                try
                {
                    ViewBag.RestoreJSONSessionControls = (JValue.Parse(backupdetails["sessionControls"].ToString()).ToString(Formatting.Indented)).ToString();
                }
                catch (Exception)
                {
                    ViewBag.RestoreJSONSessionControls = "nothing defined";
                }
            }

            return(View());
        }
Пример #5
0
        // GET: Settings
        public ActionResult Setting()
        {
            CA_Backup_Model modelclass = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);

            SettingsViewModel viewmodel = new SettingsViewModel();

            viewmodel.validationsettings          = modelclass.GetValidationSettings();
            viewmodel.importconfigurationsettings = modelclass.GetConfigurationVersion();

            return(View(viewmodel));
        }
Пример #6
0
        public ActionResult SaveNewTranslation(listcabackuptranslation NewTranslationSettings)
        {
            if (ModelState.IsValid)
            {
                CA_Backup_Model modelclass = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);
                NewTranslationSettings.PartitionKey = NewTranslationSettings.Function + ":" + NewTranslationSettings.Setting;
                modelclass.AddNewTranslationSetting(NewTranslationSettings);

                return(RedirectToAction("Setting", "Settings"));
            }

            return(View("NewTranslation"));
        }
Пример #7
0
        public ActionResult TranslationDelete(string partitionkey, string rowkey)
        {
            CA_Backup_Model modelclass = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);

            listcabackuptranslation removeentrylist = new listcabackuptranslation();

            removeentrylist.RowKey       = rowkey;
            removeentrylist.PartitionKey = partitionkey;
            removeentrylist.ETag         = "*";

            modelclass.RemoveTranslationSetting(removeentrylist);

            return(RedirectToAction("Setting", "Settings"));
        }
Пример #8
0
        public static void RegisterGrids()
        {
            // #################################################################################################################
            // #
            // #    GridView for Conditional Access backups
            // #
            // #################################################################################################################

            MVCGridDefinitionTable.Add("CABackups", new MVCGridBuilder <listcabackupconfig>()
                                       .WithAuthorizationType(AuthorizationType.AllowAnonymous)
                                       .AddColumns(cols =>
            {
                cols.Add("Id").WithValueExpression(p => p.RowKey.ToString()).WithVisibility(false);
                cols.Add("BackupType").WithHeaderText("Type")
                .WithFiltering(true)
                .WithValueExpression(p => p.PartitionKey);
                cols.Add("Policy").WithHeaderText("Policy")
                .WithFiltering(true)
                .WithValueExpression(p => p.Policy);
                cols.Add("BackupDate").WithHeaderText("Date")
                .WithValueExpression(p => p.BackupDate);
                cols.Add("Details").WithHtmlEncoding(false)
                .WithSorting(false)
                .WithHeaderText(" ")
                .WithValueExpression((p, c) => c.UrlHelper.Action("BackupDetails", "Backups", new { rowkey = p.RowKey, partitionkey = p.PartitionKey }))
                .WithValueTemplate("<a href='{Value}' class='btn btn-info' role='button'>Details</a>");
                cols.Add("Restore").WithHtmlEncoding(false)
                .WithSorting(false)
                .WithFiltering(true)
                .WithHeaderText(" ")
                .WithValueExpression((p, c) => Convert.ToBoolean(p.BackupRestoreing) ? "btn-light disabled" : "btn-warning")
                .WithValueTemplate("<a href='BackupRestore?rowkey={Model.RowKey}&partitionkey={Model.PartitionKey}' class='btn {Value}' role='button'>Restore</a>");
            })
                                       .WithFiltering(true)
                                       .WithPaging(true, 7)
                                       .WithRetrieveDataMethod((context) =>
            {
                var result = new QueryResult <listcabackupconfig>();
                CA_Backup_Model backuplist = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);

                var options             = context.QueryOptions;
                var deffilterbackuptype = options.GetFilterString("BackupType");
                var deffilterpolicy     = options.GetFilterString("Policy");

                IEnumerable <listcabackupconfig> filteredbackup;
                if (deffilterbackuptype != null && deffilterpolicy != null)
                {
                    filteredbackup = backuplist.GetBackups()
                                     .Where(o => (o.PartitionKey == deffilterbackuptype) &&
                                            (o.Policy.ToLower().Contains(deffilterpolicy.ToLower()))).AsQueryable();
                }
                else if (deffilterbackuptype != null)
                {
                    filteredbackup = backuplist.GetBackups()
                                     .Where(o => (o.PartitionKey == deffilterbackuptype)).AsQueryable();
                }
                else if (deffilterpolicy != null)
                {
                    filteredbackup = backuplist.GetBackups()
                                     .Where(o => (o.Policy.ToLower().Contains(deffilterpolicy.ToLower()))).AsQueryable();
                }
                else
                {
                    filteredbackup = backuplist.GetBackups().AsQueryable();
                }

                result.TotalRecords = filteredbackup.Count();

                if (options.GetLimitOffset().HasValue)
                {
                    filteredbackup = filteredbackup.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value);
                }

                result.Items = filteredbackup.ToList();

                return(result);
            })
                                       );

            // #################################################################################################################
            // #
            // #    GridView for backup translation settings
            // #
            // #################################################################################################################

            MVCGridDefinitionTable.Add("CABackupsTranslation", new MVCGridBuilder <listcabackuptranslation>()
                                       .WithAuthorizationType(AuthorizationType.AllowAnonymous)
                                       .AddColumns(cols =>
            {
                cols.Add("PartitionKey").WithValueExpression(p => p.PartitionKey.ToString()).WithVisibility(false);
                cols.Add("Section").WithHeaderText("Section")
                .WithValueExpression(p => p.Section);
                cols.Add("Function").WithHeaderText("Function")
                .WithValueExpression(p => p.Function);
                cols.Add("Setting").WithHeaderText("Setting")
                .WithValueExpression(p => p.Setting);
                cols.Add("Value").WithHeaderText("Value")
                .WithValueExpression(p => p.RowKey);
                cols.Add("Translation").WithHeaderText("Translation")
                .WithValueExpression(p => p.Translation);
                cols.Add("Delete").WithHtmlEncoding(false)
                .WithSorting(false)
                .WithHeaderText(" ")
                .WithValueExpression((p, c) => c.UrlHelper.Action("TranslationDelete", "Settings", new { rowkey = p.RowKey, partitionkey = p.PartitionKey }))
                .WithValueTemplate("<a href='{Value}' class='btn btn-warning' role='button'>Delete</a>");
            })
                                       .WithFiltering(true)
                                       .WithPaging(true, 5)
                                       .WithRetrieveDataMethod((context) =>
            {
                var result = new QueryResult <listcabackuptranslation>();
                CA_Backup_Model backuptranslationlist = new CA_Backup_Model(CABackupFrontend.MvcApplication.Connectionstring);

                var options = context.QueryOptions;

                IEnumerable <listcabackuptranslation> filteredbackup;

                filteredbackup = backuptranslationlist.GetBackupTranslations().AsQueryable();

                result.TotalRecords = filteredbackup.Count();

                if (options.GetLimitOffset().HasValue)
                {
                    filteredbackup = filteredbackup.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value);
                }

                result.Items = filteredbackup.ToList();

                return(result);
            })
                                       );
        }