public ConsultaSaldoResponse ConsultaSaldo(ISunitpService _iSunitpService, ConsultaSaldoRequest request)
        {
            _iSunitpService.AddObjLog("AcademiaPinaresClient ConsultaSaldo", "00000000000000000000", "REQUEST ENVIADO.", request);

            var response = new ConsultaSaldoResponse();

            response.Body = new ConsultaSaldoResponseBody();

            try
            {
                var client = new Cobranzas_Bancarias_API_DaviviendaSoapClient();
                var saldos = client.ConsultaSaldo(request.Body.sBank, request.Body.sPass, request.Body.sCodigo);
                response.Body.ConsultaSaldoResult = saldos;
                _iSunitpService.AddObjLog("AcademiaPinaresClient ConsultaSaldo", "00000000000000000000", "PROCESO REALIZADO CORRECTAMENTE.", response);
            }
            catch (Exception ex)
            {
                var saldos = new Saldos();
                saldos.Error         = new Error();
                saldos.Error.Codigo  = "999";
                saldos.Error.Mensaje = "Error al momento de consultar el servicio.";

                response.Body.ConsultaSaldoResult = saldos;

                _iSunitpService.AddLog("AcademiaPinaresClient ConsultaSaldo", "10000000000000000034", "ERROR AL MOMENTO DE EJECUTAR EL POSTEO A UN SERVICIO EXTERNO.", ex.ToString());
            }

            return(response);
        }
        private ConsultaSaldoResponse setRequiredField()
        {
            var response = new ConsultaSaldoResponse();

            response.Body = new ConsultaSaldoResponseBody();

            var saldos = new Saldos();

            saldos.Error         = new Error();
            saldos.Error.Codigo  = "998";
            saldos.Error.Mensaje = "EL CAMPO (" + _requiredField + ") ES REQUERIDO";;
            response.Body.ConsultaSaldoResult = saldos;
            return(response);
        }
        public Data DoProcess(ISunitpService _iSunitpService, Data data)
        {
            MapRequest(_iSunitpService, data);
            var response = new ConsultaSaldoResponse();

            if (_requirided)
            {
                response = setRequiredField();
            }
            else
            {
                response = ConsultarSaldo(_iSunitpService);
            }

            return(MapResponse(_iSunitpService, response));
        }
        private Data MapResponse(ISunitpService _iSunitpService, ConsultaSaldoResponse responsePin)
        {
            if (responsePin.Body.ConsultaSaldoResult.Error.Codigo == null)
            {
                responsePin.Body.ConsultaSaldoResult.Error.Codigo  = "00";
                responsePin.Body.ConsultaSaldoResult.Error.Mensaje = "CODIGO_PROCESO_EXITOSO";
            }
            _iSunitpService.SetCoreErrors(responsePin.Body.ConsultaSaldoResult.Error.Codigo, responsePin.Body.ConsultaSaldoResult.Error.Mensaje);

            var response = new Data();

            response.Field    = "ACADEMIA PINARES RESPONSE";
            response.HasData  = true;
            response.DataList = new List <Data>();

            var Guid = new Data();

            Guid.Field   = "Guid";
            Guid.HasData = true;
            Guid.Value   = _guid;
            response.DataList.Add(Guid);

            var Error = new Data();

            Error.Field    = "Error";
            Error.HasData  = true;
            Error.DataList = new List <Data>();

            var Codigo = new Data();

            Codigo.Field   = "Codigo";
            Codigo.HasData = true;
            Codigo.Value   = responsePin.Body.ConsultaSaldoResult.Error.Codigo;
            Error.DataList.Add(Codigo);

            var Mensaje = new Data();

            Mensaje.Field   = "Mensaje";
            Mensaje.HasData = true;
            Mensaje.Value   = responsePin.Body.ConsultaSaldoResult.Error.Mensaje;
            Error.DataList.Add(Mensaje);

            response.DataList.Add(Error);

            if (responsePin.Body.ConsultaSaldoResult.Error.Codigo.Equals("00"))
            {
                var Familia = new Data();
                Familia.Field   = "Familia";
                Familia.HasData = true;

                Familia.DataList = new List <Data>();

                var Nucleo = new Data();
                Nucleo.Field   = "Nucleo";
                Nucleo.HasData = true;
                Nucleo.Value   = responsePin.Body.ConsultaSaldoResult.Familia.Nucleo;
                Familia.DataList.Add(Nucleo);

                response.DataList.Add(Familia);

                var Saldos = new Data();
                Saldos.Field    = "Saldos";
                Saldos.HasData  = true;
                Saldos.DataList = new List <Data>();

                foreach (var saldoMember in responsePin.Body.ConsultaSaldoResult.SaldosMember)
                {
                    var Saldo = new Data();
                    Saldo.Field    = "Saldo";
                    Saldo.HasData  = true;
                    Saldo.DataList = new List <Data>();

                    var Tipo = new Data();
                    Tipo.Field   = "Tipo";
                    Tipo.HasData = true;
                    Tipo.Value   = saldoMember.Tipo;
                    Saldo.DataList.Add(Tipo);

                    var Concepto = new Data();
                    Concepto.Field   = "Concepto";
                    Concepto.HasData = true;
                    Concepto.Value   = saldoMember.Concepto;
                    Saldo.DataList.Add(Concepto);

                    var NumFactura = new Data();
                    NumFactura.Field   = "NumFactura";
                    NumFactura.HasData = true;
                    NumFactura.Value   = saldoMember.NumFactura;
                    Saldo.DataList.Add(NumFactura);

                    var Cuota = new Data();
                    Cuota.Field   = "Cuota";
                    Cuota.HasData = true;
                    Cuota.Value   = saldoMember.Cuota;
                    Saldo.DataList.Add(Cuota);

                    var Valor = new Data();
                    Valor.Field   = "Valor";
                    Valor.HasData = true;
                    Valor.Value   = saldoMember.Valor;
                    Saldo.DataList.Add(Valor);

                    var Moneda = new Data();
                    Moneda.Field   = "Moneda";
                    Moneda.HasData = true;
                    Moneda.Value   = saldoMember.Moneda;
                    Saldo.DataList.Add(Moneda);

                    var Vence = new Data();
                    Vence.Field   = "Vence";
                    Vence.HasData = true;
                    Vence.Value   = saldoMember.Vence;
                    Saldo.DataList.Add(Vence);

                    var Periodo = new Data();
                    Periodo.Field   = "Periodo";
                    Periodo.HasData = true;
                    Periodo.Value   = saldoMember.Periodo;
                    Saldo.DataList.Add(Periodo);

                    Saldos.DataList.Add(Saldo);
                }

                response.DataList.Add(Saldos);
            }

            return(response);
        }