using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Uninpho.Tools.components;
using Uninpho.DBOperation.Model;
using Uninpho.DBOperation.Operation;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid;

namespace Uninpho.Tools.components.MTLFF
{
    public partial class MTLFCtrl :  DevExpress.XtraEditors.XtraUserControl
    {
        public MTLFCtrl()
        {
            InitializeComponent();
        }
        private void MTLFCtrl_Load(object sender, EventArgs e)
        {
            if (UserInform.isconnect)
            {
                dataSource = DataAnalysisToPG.getfilemtlf();
                gridControl1.DataSource = dataSource;
            }
            ExcelTools.gridControl01 = gridControl1;
            ExcelTools.gridView01 = gridView1;
        }
        List<T_mitielifeng_filelist> dataSource = null;
        int i = 1;
        /// <summary>
        /// 查看文件
        /// </summary>
        private void repositoryItemHyperLinkEdit2_Click(object sender, EventArgs e)
        {
            string url = Application.StartupPath + "\\mtlf_temp\\templook"+i.ToString()+".xlsx";

            int[] rowhandles = gridView1.GetSelectedRows();
            int rowhandle = gridView1.FocusedRowHandle;

            string btyearr = gridView1.GetRowCellValue(rowhandle, "Excelbytearr").ToString();
            ExcelTools.writeFile(btyearr, url);
            //System.Diagnostics.Process.Start(url);
            LookDataFromMTLF ldf = new LookDataFromMTLF(url, gridView1,rowhandle);
            ldf.StartPosition = FormStartPosition.CenterParent;
            ldf.ShowDialog();
            i++;
        }

        /// <summary>
        /// 新建
        /// </summary>
        private void newCreateBtn_Click(object sender, EventArgs e)
        {
            CreateNewTableMTLF frm = new CreateNewTableMTLF();
            frm.StartPosition = FormStartPosition.CenterParent;
            if (frm.ShowDialog(this) == DialogResult.OK)
            {
            }
        }
        /// <summary>
        /// 删除
        /// </summary>
        private void delPGBtn_Click(object sender, EventArgs e)
        {
            if (UserInform.userinf.Pow == 0)
            {
                XtraMessageBox.Show("您无权删除数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                var row = gridView1.GetSelectedRows();
                if (row.Length == 0)
                {
                    XtraMessageBox.Show("请选中删除的行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    if (XtraMessageBox.Show("是否删除所选?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                    {
                        for (int i = row.Length - 1; i >= 0; i--)
                        {
                            var va1 = gridView1.GetRowCellValue(row[i], "Id").ToString();
                            DataAnalysisToPG.DelToPGMTLF(new T_mitielifeng_filelist()
                            {
                                Id = va1,
                            });
                            gridView1.DeleteRow(row[i]);
                        }
                        XtraMessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }

        private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
        {
            DataAnalysis.DACommon.addXuHao(e);
        }

        private void btn_dm_query_Click(object sender, EventArgs e)
        {
            FilterDate(this.dateEdit1.DateTime, this.dateEdit2.DateTime);
        }

        public void FilterDate(DateTime start, DateTime end)
        {
            List<T_mitielifeng_filelist> filterDS = new List<T_mitielifeng_filelist>();
            foreach (var item in dataSource)
            {
                    DateTime riqi = DateTime.Parse(item.Riqi);
                    if ((start <= riqi) && (riqi <= end))
                    {
                        filterDS.Add(item);
                    }
            }
            this.gridControl1.DataSource = filterDS;
            this.gridView1.BestFitColumns();
        }
        /// <summary>
        /// 重置
        /// </summary>
        private void simpleButton4_Click(object sender, EventArgs e)
        {
            this.dateEdit1.EditValue = null;
            this.dateEdit2.EditValue = null;
            this.gridControl1.DataSource = dataSource;
            this.gridView1.BestFitColumns();
        }


    }
}