using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using System.Data.SqlClient;
using System.IO;

namespace academy
{
    public partial class restore : DevComponents.DotNetBar.OfficeForm
    {
        public restore()
        {
            InitializeComponent();
        }

        OpenFileDialog dlg = new OpenFileDialog();

        private void restoredata()
        {
           
                if (txt_address.Text == "")
                {
                    MessageBox.Show("آدرسی برای بازیابی پشتیبان انتخاب نشده است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    string rs;
                    MessageBox.Show("لطفاً در حین عملیات برگرداندن نسخه پشتیبان به چیزی دست نزنید", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    rs = @"use master ALTER DATABASE school  SET SINGLE_USER with ROLLBACK IMMEDIATE " + 
                        "RESTORE DATABASE school FROM DISK='" + dlg.FileName + "' with REPLACE " +
                        "ALTER DATABASE school SET MULTI_USER ";
                    SqlConnection con = new SqlConnection("server=(local);database=school;integrated security=true;connect timeout=100");
                    con.Open();
                    SqlCommand com = new SqlCommand(rs, con);
                    com.ExecuteNonQuery();
                    con.Close();
                    MessageBox.Show("عملیات برگرداندن نسخه پشتیبان با موفقیت انجام شد", "پیغام", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Application.Restart();
                }         
           
        }
        
        private void btn_restore_Click(object sender, EventArgs e)
        {
            restoredata();
        }

        private void btn_browse_Click(object sender, EventArgs e)
        {
            dlg.Filter = "Restore Files(*.BAK)|*.BAK";
            dlg.FilterIndex = 1;
            dlg.Title = "بازیابی پشتیبان";
            if (dlg.ShowDialog() == DialogResult.OK)
            {


                txt_address.Text = dlg.FileName.ToString();
            }
        }

        private void btn_back_Click(object sender, EventArgs e)
        {
            main m = new main();
            m.Show();
            this.Hide();
        }

       
    }
}
