Пример #1
0
        public ActionResult AddParam(Sys_Param plParam)
        {
            ModelState.Clear();
            ViewBag.LoadStatus = "0";
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.StatusMessage = "Please supply all the required input and try again";
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                var wx = ValidateControl(plParam);

                if (wx.Code < 1)
                {
                    ViewBag.StatusMessage = "Validation failed. Please supply all the required input and try again";
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                var k = new Sys_ParamsServices().AddSys_ParamsCheckPrevious(plParam);
                if (k < 1)
                {
                    if (k == -3)
                    {
                        ViewBag.StatusMessage = "An unknown error was encountered. Please try again.";
                        ViewBag.Code          = -1;
                        return(View("DBBackup", plParam));
                    }

                    ViewBag.StatusMessage = "Process failed. Please try again.";
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                ViewBag.StatusMessage = "Database configuration was successfully added";
                ViewBag.Code          = 5;
                return(View("DBBackup", plParam));
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                ViewBag.StatusMessage = "An unknown error was encountered. Please try again.";
                ViewBag.Code          = -1;
                return(View("DBBackup", plParam));
            }
        }
Пример #2
0
        public ViewResult DBBackup()
        {
            ViewBag.Code = 0;
            var param = new Sys_ParamsServices().GetSysParams();

            if (param != null && param.Sys_ParamId > 0)
            {
                ViewBag.LoadStatus = 3;
                Session["_param"]  = param;
            }
            else
            {
                ViewBag.LoadStatus = -2;
            }

            return(View(param));
        }
Пример #3
0
        public bool Backup(string sdc)
        {
            //var sb = new StringBuilder();
            try
            {
                var param = new Sys_ParamsServices().GetSysParams();
                if (param == null || param.Sys_ParamId < 1)
                {
                    ViewBag.StatusMessage = "An unknown error was encountered. Please provide the server access fields again.";
                    ViewBag.Code          = -1;
                    return(false);
                }

                var fileName = "Backup-" + DateTime.Now.ToString("yyyy-MM-dd") + ".sql";

                const string subPath = @"c:\App_Data\sys_params";

                if (Directory.Exists(subPath))
                {
                    var tdfv = Directory.GetFiles(subPath);
                    if (tdfv.Any())
                    {
                        foreach (var s in tdfv)
                        {
                            System.IO.File.Delete(s);
                        }
                    }
                }
                else
                {
                    Directory.CreateDirectory(subPath);
                    var dInfo     = new DirectoryInfo(subPath);
                    var dSecurity = dInfo.GetAccessControl();
                    dSecurity.AddAccessRule(new FileSystemAccessRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.NoPropagateInherit, AccessControlType.Allow));
                    dInfo.SetAccessControl(dSecurity);
                }

                var backupPath = Path.Combine(subPath, fileName);

                var srv = new Server(new ServerConnection(param.ServerName, param.ServerLoginName, param.ServerLoginPassword));

                var dbs = srv.Databases[param.DBName];

                var options = new ScriptingOptions
                {
                    ScriptData              = true,
                    ScriptDrops             = false,
                    FileName                = backupPath,
                    EnforceScriptingOptions = true,
                    ScriptSchema            = true,
                    IncludeHeaders          = true,
                    AppendToFile            = true,
                    Indexes          = true,
                    WithDependencies = true
                };

                for (var i = 0; i < dbs.Tables.Count; i++)
                {
                    if (!dbs.Tables[i].IsSystemObject)
                    {
                        dbs.Tables[i].EnumScript(options);
                    }
                }

                ViewBag.Code          = 5;
                ViewBag.StatusMessage = "Action completed successfully";
                DownloadContentFromFolder(backupPath);
                return(true);
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                ViewBag.StatusMessage = ex.Message;
                ViewBag.Code          = -1;
                return(false);
            }
        }
Пример #4
0
        public ActionResult EditParam(Sys_Param plParam)
        {
            ModelState.Clear();
            ViewBag.LoadStatus = "0";
            try
            {
                if (Session["_param"] == null)
                {
                    ViewBag.StatusMessage = "Session has expired";
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                var oldParam = Session["_param"] as Sys_Param;

                if (oldParam == null || oldParam.Sys_ParamId < 1)
                {
                    ViewBag.StatusMessage = "Session has expired";
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                if (!ModelState.IsValid)
                {
                    ViewBag.StatusMessage = "Please supply all required fields and try again";
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                var wx = ValidateControl(plParam);

                if (wx.Code < 1)
                {
                    ViewBag.StatusMessage = wx.Error;
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                oldParam.ServerName          = plParam.ServerName;
                oldParam.ServerLoginPassword = plParam.ServerLoginPassword;
                oldParam.ServerLoginName     = plParam.ServerLoginName;
                oldParam.DBName = plParam.DBName;

                var k = new Sys_ParamsServices().UpdateSys_Params(oldParam);
                if (k < 1)
                {
                    ViewBag.StatusMessage = "Process Failed! Please contact the Admin or try again later";
                    ViewBag.Code          = -1;
                    return(View("DBBackup", plParam));
                }

                ViewBag.StatusMessage = "Database configuration was successfully updated";
                ViewBag.Code          = 5;
                return(View("DBBackup", plParam));
            }
            catch (Exception)
            {
                //ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                ViewBag.StatusMessage = "An unknown error was encountered. Request could not be serviced. Please try again later.";
                ViewBag.Code          = -1;
                return(View("DBBackup", plParam));
            }
        }