using LLNet.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LLNet.Tienda.MainForms.Forms.OtrosServ.Davivienda
{
    class DaviviendaUtils
    {

        public DaviviendaUtils()
        {

        }

        /// <summary>
        /// Agrega el registro de la transacción a la tabla Davivienda_Tran
        /// </summary>
        /// <param name="cedula"></param>
        /// <param name="tipo_transaccion"></param>
        /// <param name="monto"></param>
        /// <param name="tarjeta"></param>
        /// <param name="cuenta"></param>
        /// <param name="prestamo"></param>
        /// <param name="moneda"></param>
        /// <param name="reporte"></param>
        /// <param name="comentario"></param>
        /// <returns>Id de registro insertado</returns>
        public string Add_DaviviendaTran(string cedula, string tipo_transaccion, string monto,
                                        string tarjeta, string cuenta, string prestamo, 
                                        string moneda, string reporte, string comentario) {

            QueryParams qp = new QueryParams();
            string id = GUI.CApp.bll.GetSingleValue("GetId_DAV_TRAN", qp, "PDV").ToString();
            qp.AddReplaceParam("p_N_ID", id );
            qp.AddReplaceParam("p_C_CEDULA", cedula);
            qp.AddReplaceParam("p_C_TIPO_TRANS", tipo_transaccion);
            qp.AddReplaceParam("p_N_MONTO", monto);
            qp.AddReplaceParam("p_C_TARJETA", tarjeta);
            qp.AddReplaceParam("p_C_CUENTA", cuenta);
            qp.AddReplaceParam("p_C_MONEDA", moneda);
            qp.AddReplaceParam("p_C_ESTADO", "TS");
            qp.AddReplaceParam("p_N_REPORTE", reporte);
            qp.AddReplaceParam("p_C_COMENTARIO", comentario);
            //Program.Caja.ToString()

            try
            {
                GUI.CApp.bll.ExecuteSql("Add_DAV_TRAN", qp, "PDV");
                return id;
            }
            catch (Exception e) {
                Add_DaviviendaLog(id,"Erro en " + id,"TS");
                return id;
            }

        }

        /// <summary>
        /// Agrega el registro a la tabla log Davivienda_Log
        /// </summary>
        /// <param name="id_davavivienda_tran"></param>
        /// <param name="req_res"></param>
        /// <param name="estado"></param>
        public void Add_DaviviendaLog(string id_davavivienda_tran, string req_res, string estado) {
            QueryParams qp = new QueryParams();
            qp.AddReplaceParam("p_N_ID_DAVIVIENDA_TRAN", id_davavivienda_tran);
            qp.AddReplaceParam("p_C_REQ_RES", req_res);
            qp.AddReplaceParam("p_C_ESTADO", estado);
            qp.AddReplaceParam("p_C_USUARIO", GUI.CApp.usuario);
            qp.AddReplaceParam("p_C_JORNADA", Program.Jornada.ToString());
            GUI.CApp.bll.ExecuteSql("Add_DAV_LOG", qp, "PDV");
                      

        }

        public void Update_DaviviendaTran(string id, string estado, string comentario, string reporte) {

        }

    }
}
