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 LLNet.GUI;

namespace LLNet.Tienda.MainForms.Forms.CreditEko
{
    public partial class FrmAplCupon : Form
    {

        private bool vAplicarDescuento = false;
        private bool vContinuar = false;
        private static string subTipoDocumentoPreimpreso;
        private static long documentoPreimpreso;

       
        public bool Continuar
        {
            get
            {
                return vContinuar;
            }
        }

        public FrmAplCupon()
        {
            InitializeComponent();
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                // &&p_documento&& , &&p_cupon&&, '&&p_local&&'
                //CrearCupon();
                //SI EL CUPON CREDIE ES APLICADO SE DEBEN ELIMINAR PRIMERO LOS
                //DESCUENTOS ADICIONALES Y OFERTAS
                Utils.QueryParams qpOF = new Utils.QueryParams();
                qpOF.AddReplaceParam("DOCUMENTO", Program.FrmMainPos.Order.ToString());
                CApp.bll.ExecuteSql("DeleteDiscountToDocument", qpOF, "PDV");
                Program.FrmMainPos.RefreshData();
                //APLICAMOS AHORA SI EL CUPON CREADO
                AplicarCupon();
                vContinuar = true;
                this.Close();
            }
            catch (Exception ex)
            {
                CApp.ShowMessage(ex.Message, "Aplicar Cupón Credie", true);
            }
        }


        private void CrearCupon()
        {
            //Almacena el cupon datos en nuestra Base d Datos
            Utils.QueryParams qp = new LLNet.Utils.QueryParams();
            //pTARJETA,pCEDULA,pNOMBRE,pAPELLIDO1,pAPELLIDO2,pTELEFONO1,pTELEFONO2,pEMAIL,pFECHA_NAC,pGENERO,pPROVINCIA,pCANTON,pDISTRITO,pPERTENECE_A
            qp.AddReplaceParam("pJORNADA", Program.Jornada.ToString());
            qp.AddReplaceParam("pUSUARIO", GUI.CApp.usuario);
            qp.AddReplaceParam("pDOCUMENTO", Program.FrmMainPos.DsPedido.WMS_DOCUMENTOS[0].DOCUMENTO.ToString());
            // Llama el procedimiento que almacena la tarjeta 
            GUI.CApp.bll.ExecuteSql("EKO_P_CREAR_CUPON_CREDIE", qp, "PDV");
        }

        private void AplicarCupon()
        {
            ////SELECCIONA SI EXISTE EL CUPON Y SI PUEDE SER APLICADO
            //long id = 0;
            //Utils.QueryParams qp0 = new LLNet.Utils.QueryParams();
            //qp0.AddReplaceParam("pDOCUMENTO", Program.FrmMainPos.DsPedido.WMS_DOCUMENTOS[0].DOCUMENTO.ToString());
            //id = long.Parse(GUI.CApp.bll.GetSingleValue("POS_CCUPONCREDIE", qp0, "PDV").ToString());


            //Aplica el cupon en la compra actual
            //BEGIN eko_p_aplica_cupone( &&p_documento&& , &&p_cupon&&, '&&p_local&&' )
            Utils.QueryParams qp = new LLNet.Utils.QueryParams();
            //pTARJETA,pCEDULA,pNOMBRE,pAPELLIDO1,pAPELLIDO2,pTELEFONO1,pTELEFONO2,pEMAIL,pFECHA_NAC,pGENERO,pPROVINCIA,pCANTON,pDISTRITO,pPERTENECE_A
            if (cbxOtraTienda.Checked)
            {
                qp.AddReplaceParam("p_local", "N");
            }
            else
            {
                qp.AddReplaceParam("p_local", "S");
            }

            qp.AddReplaceParam("p_cupon", txtCupon.Text);
            qp.AddReplaceParam("p_documento", Program.FrmMainPos.DsPedido.WMS_DOCUMENTOS[0].DOCUMENTO.ToString());
            // Llama el procedimiento que almacena la tarjeta 
            GUI.CApp.bll.ExecuteSql("EKO_P_APLICA_CUPONE", qp, "PDV");
        }

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