예제 #1
0
        private OperationResponse TiempoAire(FinalizarVentaRequest request)
        {
            OperationResponse response = new OperationResponse();

            response.CodeNumber = "1";
            VentaResponse     venta             = this.repository.ObtenerVentaPorFolio(request.FolioVenta, 0);
            TiempoAireRequest tiempoAireRequest = new TiempoAireRequest();

            tiempoAireRequest.Monto    = float.Parse(venta.Lineas[0].ImporteVentaLineaNeto.ToString());
            tiempoAireRequest.Telefono = venta.Lineas[0].Articulo.InformacionProveedorExternoTA.NumeroTelefonico;
            tiempoAireRequest.SkuCode  = venta.Lineas[0].Articulo.InformacionProveedorExternoTA.SkuCompania;
            ResponseBussiness <OperationResponse> resultTA = new TiempoAireBusiness(this.token).AddTiempoAire(tiempoAireRequest, venta.Lineas[0].Articulo.Sku, venta.FolioVenta);

            if (resultTA.Data.CodeNumber == "1")
            {
                repository.RegistrarRecargaTelefonicaExitosa(request.FolioVenta, this.token.CodeBox, this.token.CodeStore, tiempoAireRequest.Telefono, int.Parse(tiempoAireRequest.Monto.ToString()), resultTA.Data.CodeDescription);
            }
            else
            {
                response.CodeNumber      = resultTA.Data.CodeNumber;
                response.CodeDescription = resultTA.Data.CodeDescription;
            }

            return(response);
        }
예제 #2
0
        public void  GetIdRequest()
        {
            TiempoAireRequest tiempoAireRequest = new TiempoAireRequest();

            tiempoAireRequest.SkuCode  = "042000001";
            tiempoAireRequest.Telefono = "666666666666";
            tiempoAireRequest.Monto    = 200;
            TokenDto          token     = new TokenDto(3215, 3);
            OperationResponse operation = new TiempoAireBusiness(token).AddTiempoAire(tiempoAireRequest, 1, "");

            Assert.IsTrue(operation.CodeDescription != string.Empty);
        }
예제 #3
0
 /// <summary>
 /// Metodo para agregar tiempo aire
 /// </summary>
 /// <param name="tiempoAireRequest">Petición de Tiempo Aire</param>
 /// <param name="sku">SKU</param>
 /// <param name="folio">Folio de la Venta</param>
 /// <returns></returns>
 public ResponseBussiness <OperationResponse> AddTiempoAire(TiempoAireRequest tiempoAireRequest, int sku, string folio)
 {
     return(tryCatch.SafeExecutor(() =>
     {
         OperationResponse operation = new OperationResponse();
         ProxyTiempoAire.TResponse tResponse = new ProxyTiempoAire.TResponse();
         string requestId = string.Empty;
         requestId = GetRequestId(0);
         if (requestId != "")
         {
             tResponse = GetDto(requestId, tiempoAireRequest.SkuCode, tiempoAireRequest.Telefono, tiempoAireRequest.Monto);
             string result = "";
             if (tResponse != null)
             {
                 if (tResponse.rcode < 3)
                 {
                     result = this.Doa(requestId, tResponse.op_authorization);
                 }
                 else
                 {
                     result = tResponse.rcode_description;
                 }
             }
             else
             {
                 result = "Transacción Fallida por timeout";
             }
             operation.CodeDescription = result;
         }
         else
         {
             operation.CodeDescription = "Error del Web Service, contactar a Administrador del Sistema";
         }
         if (operation.CodeDescription.ToUpper() == "<DoAResponse>OK</DoAResponse>".ToUpper())
         {
             repository.RegistrarAutorizacionPagoTiempoAire(tiempoAireRequest.SkuCode, sku, folio, tResponse.op_authorization);
             operation.CodeNumber = "1";
             operation.CodeDescription = requestId;
         }
         else
         {
             operation.CodeNumber = "0";
         }
         return operation;
     }));
 }