using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LLNet.Utils;
using LLNet.GUI;


namespace LLNet.Tienda
{
    public partial class Frm_FE_Buscar_Proveedor : Form
    {
        private DataTable dt;
        private string vIdentificacion = String.Empty;
        private string vNombre = String.Empty;

        public Frm_FE_Buscar_Proveedor()
        {
            InitializeComponent();
        }

        private void Frm_FE_Buscar_Proveedor_Load(object sender, EventArgs e)
        {
        }

        #region Propiedades

        #region mIdentificacion
        /// <summary>
        /// Identificacion
        /// </summary>
        public string mIdentificacion
        {
            get
            {
                return vIdentificacion;
            }
        }
        #endregion

        #region mNombre
        /// <summary>
        /// Nombre del cliente
        /// </summary>
        public string mNombre
        {
            get
            {
                return vNombre;
            }
        }
        #endregion

        #endregion

        #region mDatosReceptores
        /// <summary>
        /// Este método busca los datos del receptor, si están, y los muestra
        /// </summary>
        private void mDatosReceptoresID()
        {
            gc_Busqueda.DataSource = null;
            gc_Busqueda.DataMember = null;

            QueryParams vParametro = new QueryParams();
            vParametro.AddReplaceParam("pBUSQUEDA", "%" + txt_Busqueda.Text.Replace("-", "") + "%");

            using (DataSet vDatos = CApp.bll.getDataSet("PDV", "BuscarID", vParametro))
            {
                // Verifica si tiene datos
                if (vDatos.Tables.Count > 0 && vDatos.Tables[0].Rows.Count > 0)
                {
                    gc_Busqueda.DataSource = vDatos;
                    gc_Busqueda.DataMember = vDatos.Tables[0].ToString();
                }
            }
        }

        private void mDatosReceptores()
        {
            gc_Busqueda.DataSource = null;
            gc_Busqueda.DataMember = null;

            QueryParams vParametro = new QueryParams();
            vParametro.AddReplaceParam("pBUSQUEDA", "%" + txt_Busqueda.Text.Trim().ToUpper() + "%");

            using (DataSet vDatos = CApp.bll.getDataSet("PDV", "BuscarNom", vParametro))
            {
                // Verifica si tiene datos
                if (vDatos.Tables.Count > 0 && vDatos.Tables[0].Rows.Count > 0)
                {
                    gc_Busqueda.DataSource = vDatos;
                    gc_Busqueda.DataMember = vDatos.Tables[0].ToString();
                }
            }
        }

        #endregion

        #region llenado DGV
        private void txt_Busqueda_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((int)e.KeyChar == (int)Keys.Enter)
            {
                if (txt_Busqueda.Text.Any(x => !char.IsNumber(x)))
                {
                    mDatosReceptores();
                }
                else
                {
                    mDatosReceptoresID();
                }
            }
        }
        #endregion

        private void txt_Busqueda_TextChanged(object sender, EventArgs e)
        {
                //DataRow row = dt.NewRow();
                //dt.Rows.Clear();
        }

        private void dgv_Busqueda_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                if (dgv_Buscar.FocusedRowHandle >= 0)
                {
                    vIdentificacion = Convert.ToString(dgv_Buscar.GetRowCellValue(dgv_Buscar.FocusedRowHandle, colIdentificacion));
                    vNombre = Convert.ToString(dgv_Buscar.GetRowCellValue(dgv_Buscar.FocusedRowHandle, colNombre));
                    //
                    DialogResult = DialogResult.OK;
                }
            }
            catch (Exception ex)
            {
                CApp.ShowMessage(ex.Message, "Buscar Cliente - Factura Electrónica", true);
            }
        }

        private void btn_Aceptar_Click(object sender, EventArgs e)
        {
            try
            {
                dgv_Busqueda_DoubleClick(null, null);

                if (String.IsNullOrEmpty(vIdentificacion))
                {
                    if (CApp.ShowMessage("No ha seleccionado un registro, ¿desea salir de todas formas?",
                        "Buscar Proveedor - Factura Electrónica", true, true) == System.Windows.Forms.DialogResult.Yes)
                    {
                        DialogResult = DialogResult.OK;
                    }
                }
                else
                {
                    DialogResult = DialogResult.OK;
                }
            }
            catch (Exception ex)
            {
                CApp.ShowMessage(ex.Message, "Buscar Proveedor - Factura Electrónica", true);
            }
        }

        private void btn_Cerrar_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }


    }
}
