﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Siegfried
{
    public partial class OrdenDeTrabajo : Siegfried.BaseForm
    {
        Entities.NivelesDeCombustibleConsulta combustible = null;

        public OrdenDeTrabajo()
        {
            InitializeComponent();
            BodyControl = new UserControls.OrdenDeTrabajoUC();
            //OnSelectedRowOnBase += OrdenDeTrabajo_OnSelectedRowOnBase;
        }

        private void OrdenDeTrabajo_Load(object sender, EventArgs e)
        {
            CollapseDataGrid();
            base.HideBorrarButton();
            //BindData();
            //FormBindingSource.CurrentChanged += FormBindingSource_CurrentChanged;
        }

        private void BindData()
        {
            //FormBindingSource.DataSource = Globals.ctx.NivelesDeCombustibleConsulta.All();
            //FormBindingSource.AllowNew = true;
            //FormDataGrid.DataSource = null;
            //FormDataGrid.Refresh();
            //FormDataGrid.DataSource = FormBindingSource;
            //FormBindingNavigator.BindingSource = FormBindingSource;
        }

        void OrdenDeTrabajo_OnSelectedRowOnBase(object boundItem)
        {
            //combustible = (Entities.NivelesDeCombustibleConsulta) boundItem;
            //((UserControls.OrdenDeTrabajoUC) BodyControl).CurrentChanged(combustible);
        }

        void FormBindingSource_CurrentChanged(object sender, EventArgs e)
        {

            //if (FormBindingSource.Current != null)
            //  combustible = ((Entities.NivelesDeCombustibleConsulta) FormBindingSource.Current);
            //else
            //  return;

            //if (combustible.ID >= 0)
            //  ((UserControls.OrdenDeTrabajoUC) BodyControl).CurrentChanged(combustible);
        }

        protected override void GuardarLogic()
        {
            if (MessageBox.Show("Esta usted seguro que desea CERRAR esta orden de trabajo, una vez que se cierre no podra realizar cambios en ella.", "Siegfried", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                var orden = ((UserControls.OrdenDeTrabajoUC)BodyControl).GetChanges();
                if (orden.ID > 0)
                {
                    Globals.ctx.HojaDeReporte.Update(orden);
                }
                BindData();
                this.Close();
            }
        }

        protected override void BorrarLogic()
        {
            if (MessageBox.Show("Esta usted seguro que desea CANCELAR esta orden de trabajo, una vez que se cierre no podra realizar cambios en ella.", "Siegfried", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                var orden = ((UserControls.OrdenDeTrabajoUC)BodyControl).GetChanges();
                if (orden.ID > 0)
                {
                    orden.Cerrada = true;
                    orden.Cancelada = true;
                    Globals.ctx.HojaDeReporte.Update(orden);
                }
                BindData();
            }
        }
    }
}
