예제 #1
0
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            string filePath = string.Empty;

            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            try
            {
                string NombreBD = Request["txtNombreBD"];
                if (!string.IsNullOrWhiteSpace(NombreBD))
                {
                    if (fileUpload.HasFile)
                    {
                        string fileExt = System.IO.Path.GetExtension(fileUpload.FileName);
                        if (fileExt.ToLower() != ".bak")
                        {
                            lblMsg.Text      = "Únicamente se permiten archivos .bak";
                            lblMsg.ForeColor = System.Drawing.Color.Red;
                            return;
                        }
                        filePath = fileUpload.PostedFile.FileName;
                        if (File.Exists(Server.MapPath(@"../../../Content/Files/" + filePath.Trim())))
                        {
                            File.Delete(Server.MapPath(@"../../../Content/Files/" + filePath.Trim()));
                        }
                        fileUpload.PostedFile.SaveAs(Server.MapPath(@"../../../Content/Files/" + filePath.Trim()));

                        if (!ServicioBackup.Restaurar(NombreBD, Server.MapPath(@"../../../Content/Files/" + filePath.Trim())))
                        {
                            TFI.SEGURIDAD.ServicioLog.CrearLog("Restaurar", "Restauración fallida", usuarioentidad.NombreUsuario, CORE.Helpers.ConfigSection.Default.Site.Cuit.ToString());
                            sb.Append(@"<script type='text/javascript'>");
                            //sb.Append("$('#currentdetail').modal('show');");
                            sb.Append("alert('No pudo restaurarse la base de datos');");
                            sb.Append(@"</script>");
                            ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                                    "RestauracionOK", sb.ToString(), false);
                        }
                        else
                        {
                            TFI.SEGURIDAD.ServicioLog.CrearLog("Restaurar", "Restauración realizada correctamente", usuarioentidad.NombreUsuario, CORE.Helpers.ConfigSection.Default.Site.Cuit.ToString());
                            //this.Master.CerrarSesion();
                            Session.Abandon();
                            //sb.Append(@"<script type='text/javascript'>");
                            ////sb.Append("$('#currentdetail').modal('show');");
                            //sb.Append("alert('Se restauró la base de datos correctamente, por favor ingrese nuevamente a la aplicación');");
                            //sb.Append("app.redirect('Home.aspx');");
                            //sb.Append(@"</script>");
                            //ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                            //           "RestauracionOK", sb.ToString(), false);
                            Response.Redirect("/Areas/Public/Forms/Home.aspx", false);
                        }
                    }
                    else
                    {
                        sb.Append(@"<script type='text/javascript'>");
                        //sb.Append("$('#currentdetail').modal('show');");
                        sb.Append("alert('Seleccione el archivo .bak');");
                        sb.Append(@"</script>");
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                                "FaltaRuta", sb.ToString(), false);
                    }
                }
                else
                {
                    sb.Append(@"<script type='text/javascript'>");
                    //sb.Append("$('#currentdetail').modal('show');");
                    sb.Append("alert('Ingrese el nombre de la base de datos');");
                    sb.Append(@"</script>");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                            "IngresarNombreBD", sb.ToString(), false);
                }
            }
            catch (Exception es)
            {
                ServicioLog.CrearLog(es, "Restaurar", usuarioentidad.NombreUsuario, CORE.Helpers.ConfigSection.Default.Site.Cuit.ToString());
                //System.Text.StringBuilder sbCatch = new System.Text.StringBuilder();
                //sbCatch.Append(@"<script type='text/javascript'>");
                ////sb.Append("$('#currentdetail').modal('show');");
                //sbCatch.Append("alert('Error al intentar restaurar la base de datos');");
                //sbCatch.Append(@"</script>");
                //ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                //           "RestauracionOK", sbCatch.ToString(), false);
                Response.Redirect("../../../Shared/Errores.aspx");
            }
        }
예제 #2
0
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            string filePath = string.Empty;

            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            try
            {
                string NombreBD = Request["txtNombreBD"];
                if (!string.IsNullOrWhiteSpace(NombreBD))
                {
                    if (fileUpload.HasFile)
                    {
                        string fileExt = System.IO.Path.GetExtension(fileUpload.FileName);
                        if (fileExt.ToLower() != ".bak")
                        {
                            lblMsg.Text      = "Únicamente se permiten archivos .bak";
                            lblMsg.ForeColor = System.Drawing.Color.Red;
                            return;
                        }
                        filePath = fileUpload.PostedFile.FileName;
                        if (File.Exists(Path.GetFullPath(@"/Program Files/Microsoft SQL Server/MSSQL14.SQLEXPRESS01/MSSQL/Backup/" + filePath.Trim())))

                        //  if (File.Exists(Server.MapPath(@"../../Content/Files/" + filePath.Trim())))
                        {
                            // File.Delete(Server.MapPath(@"../../Content/Files/" + filePath.Trim()));
                            File.Delete(Path.GetFullPath(@"/Program Files/Microsoft SQL Server/MSSQL14.SQLEXPRESS01/MSSQL/Backup/" + filePath.Trim()));
                        }

                        //fileUpload.PostedFile.SaveAs(Server.MapPath(@"../../Content/Files/" + filePath.Trim()));
                        fileUpload.PostedFile.SaveAs(Path.GetFullPath(@"/Program Files/Microsoft SQL Server/MSSQL14.SQLEXPRESS01/MSSQL/Backup/" + filePath.Trim()));

                        // if (!ServicioBackup.Restaurar(NombreBD, Server.MapPath(@"../../Content/Files/" + filePath.Trim())))
                        if (!ServicioBackup.Restaurar(NombreBD, Path.GetFullPath(@"/Program Files/Microsoft SQL Server/MSSQL14.SQLEXPRESS01/MSSQL/Backup/" + filePath.Trim())))
                        {
                            ServicioLog.CrearLogEventos("Restaurar", "Restauración fallida", usuarioentidad.Apellido, (usuarioentidad.IdUsuario).ToString());
                            sb.Append(@"<script type='text/javascript'>");
                            sb.Append("alert('No pudo restaurarse la base de datos');");
                            sb.Append(@"</script>");
                            ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                                    "RestauracionOK", sb.ToString(), false);
                        }
                        else
                        {
                            ServicioLog.CrearLogEventos("Restaurar", "Restauración realizada correctamente", usuarioentidad.Apellido, (usuarioentidad.IdUsuario).ToString());
                            Session.Abandon();

                            //  Response.Redirect("../Views/Private/MenuAdministracion.aspx");
                        }
                    }
                    else
                    {
                        sb.Append(@"<script type='text/javascript'>");
                        sb.Append("alert('Seleccione el archivo .bak');");
                        sb.Append(@"</script>");
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                                "FaltaRuta", sb.ToString(), false);
                    }
                }
                else
                {
                    sb.Append(@"<script type='text/javascript'>");
                    sb.Append("alert('Ingrese el nombre de la base de datos');");
                    sb.Append(@"</script>");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                                                            "IngresarNombreBD", sb.ToString(), false);
                }
            }
            catch (Exception es)
            {
                ServicioLog.CrearLog(es, "Restaurar", usuarioentidad.Apellido, (usuarioentidad.IdUsuario).ToString());
                Response.Redirect("../../Shared/Error.aspx");
            }
        }