Пример #1
0
        public async Task IngresarCondIVA()
        {
            try
            {
                //switch case donde se selecciona la condicion del iva del receptor de la factura
                switch (Encabezado.CondicionIva)
                {
                case 1:    //consumidor final
                    await NewPage.SelectAsync("select#idivareceptor", "1");

                    break;

                case 2:     //IVA inscripto
                    await NewPage.SelectAsync("select#idivareceptor", "3");

                    break;

                case 3:    //consumidor final
                    await NewPage.SelectAsync("select#idivareceptor", "5");

                    break;
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #2
0
        public async Task IngresarTipoDoc(int TipoDoc)
        {
            try
            {
                //switch case donde se selecciona el tipo de documentodocument.querySelector("#idtipodocreceptor")
                switch (TipoDoc)
                {
                case 1:     //CUIT
                    await NewPage.SelectAsync("select#idtipodocreceptor", "80");

                    break;

                case 2:     //CDI
                    await NewPage.SelectAsync("select#idtipodocreceptor", "87");

                    break;

                case 3:     //LE
                    await NewPage.SelectAsync("select#idtipodocreceptor", "89");

                    break;

                case 4:     //LC
                    await NewPage.SelectAsync("select#idtipodocreceptor", "90");

                    break;

                case 5:     //CI Extranjera
                    await NewPage.SelectAsync("select#idtipodocreceptor", "91");

                    break;

                case 6:     //DNI
                    await NewPage.SelectAsync("select#idtipodocreceptor", "96");

                    break;

                case 7:     //Pasaporte
                    await NewPage.SelectAsync("select#idtipodocreceptor", "94");

                    break;

                case 8:     //CI policia Federal
                    await NewPage.SelectAsync("select#idtipodocreceptor", "00");

                    break;

                case 9:     //Certificado de migracion
                    await NewPage.SelectAsync("select#idtipodocreceptor", "30");

                    break;
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #3
0
        public async Task <string[]> IngresarPuntoVenta(string ptoventa = "3")
        {
            //selector donde se seleccionan los puntos de venta document.querySelector("#puntodeventa > option:nth-child(2)")
            try
            {
                string[] puntos = await NewPage.SelectAsync("select#puntodeventa");

                await NewPage.SelectAsync("select#puntodeventa", ptoventa);

                await Page.WaitForTimeoutAsync(1000);

                return(puntos);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #4
0
        public async Task IngresarTipoComp()
        {
            try
            {
                //se selecciona el tipo de comprobante
                switch (Encabezado.TipoComprobante)
                {
                case 3:     // Factura c
                    await NewPage.SelectAsync("select#universocomprobante", "2");

                    break;

                case 4:     //nota debito
                    await NewPage.SelectAsync("select#universocomprobante", "3");

                    break;

                case 5:     // nota credito
                    await NewPage.SelectAsync("select#universocomprobante", "4");

                    break;

                    //se presona el boton siguiente para pasar al siguiente formulario
                }
                var btnSiguiente = await NewPage.QuerySelectorAsync("#contenido > form > input[type=button]:nth-child(4)");

                if (btnSiguiente != null)
                {
                    await btnSiguiente.ClickAsync();

                    await NewPage.WaitForNavigationAsync();
                }
                else
                {
                    throw new Exception("No se detecta el boton siguiente de tipocomp");
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #5
0
        public async Task IngresarConcepIncluir()
        {
            try
            {
                switch (Encabezado.ConceptoInc)
                {
                case "Productos":
                    await NewPage.SelectAsync("select#idconcepto", "1");

                    break;

                case "Servicios":
                    await NewPage.SelectAsync("select#idconcepto", "2");

                    break;

                case "Productos/Servicios":
                    await NewPage.SelectAsync("select#idconcepto", "3");

                    break;
                }
                //se presona el boton siguiente para pasar al siguiente formulario
                var btnSiguiente2 = await NewPage.QuerySelectorAsync("#contenido > form > input[type=button]:nth-child(4)");

                if (btnSiguiente2 != null)
                {
                    await btnSiguiente2.ClickAsync();

                    await NewPage.WaitForNavigationAsync();
                }
                else
                {
                    throw new Exception("No se encuentra boton sig en concepto a incluir");
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #6
0
        public async Task IngresarItems()
        {
            try
            {
                foreach (var item in Items)
                {
                    string Nro         = Convert.ToString(item.IdCuerpo);
                    var    txtProducto = await NewPage.QuerySelectorAsync("#detalle_descripcion" + Nro);

                    if (txtProducto != null)
                    {
                        //Se ingresa la fecha en el input correspondiente el  formato dd/MM/yyyy
                        await txtProducto.EvaluateFunctionAsync <dynamic>("(el, value) => el.value = value", ListaProductos.Find((val) => val.IdProducto == item.ProductoServicio).NombreProducto);

                        var txtCantidad = await NewPage.QuerySelectorAsync("#detalle_cantidad" + Nro);

                        if (txtCantidad != null)
                        {
                            //Se ingresa el nombre del producto
                            await txtCantidad.EvaluateFunctionAsync <dynamic>("(el, value) => el.value = value", Convert.ToString(item.Cantidad).Replace(",", "."));

                            //la unidad de medida del producto#detalle_medida2
                            await NewPage.SelectAsync("#detalle_medida" + Nro, Convert.ToString(item.UnidadMedida));

                            var txtPrecio = await NewPage.QuerySelectorAsync("#detalle_precio" + Nro);

                            if (txtPrecio != null)
                            {
                                //Se ingresa el precio
                                await txtPrecio.EvaluateFunctionAsync <dynamic>("(el, value) => el.value = value", ListaProductos.Find((val) => val.IdProducto == item.ProductoServicio).PrecioFinal.ToString("F", System.Globalization.CultureInfo.InvariantCulture));

                                var txtBoni = await NewPage.QuerySelectorAsync("#detalle_porcentaje" + Nro);

                                if (txtBoni != null)
                                {
                                    //Se ingresa la bonificacion en caso de haberla
                                    if (item.Bonificacion != 0)
                                    {
                                        await txtBoni.EvaluateFunctionAsync <dynamic>("(el, value) => el.value = value", Convert.ToString(item.Bonificacion).Replace(",", "."));
                                    }
                                    //boton para agregar otro item

                                    if (Items.Count > 1 && !(Items.Count == item.IdCuerpo))
                                    {
                                        var botonAgregar = await NewPage.QuerySelectorAsync("#detalles_datos > input[type=button]");

                                        if (botonAgregar != null)
                                        {
                                            await botonAgregar.ClickAsync();
                                        }
                                        else
                                        {
                                            throw new Exception("No se detecta el boton otro item");
                                        }
                                    }
                                }
                                else
                                {
                                    throw new Exception("No se detecta el input de la bonificacion");
                                }
                            }
                            else
                            {
                                throw new Exception("No se detecta el input del precio del producto o servicio ");
                            }
                        }
                        else
                        {
                            throw new Exception("No se encuentra el input de la cantidad");
                        }
                    }
                    else
                    {
                        throw new Exception("No se detecta el input  del producto o servicio ");
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #7
0
        public async Task IngresarFormaPago(string NroPago, int TipoTarj, string NroTarjeta = "")
        {
            try
            {
                string Forma = "#formadepago";
                switch (Encabezado.FormaPago)
                {
                case 1:    //Contado
                    NroPago = "1";
                    break;

                case 2:    // Tarjeta debito
                    NroPago = "2";
                    break;

                case 3:     //Tarjeta debito
                    NroPago = "3";
                    break;

                case 4:     //Cuenta Corriente
                    NroPago = "4";
                    break;

                case 5:     //Cheque
                    NroPago = "5";
                    break;

                case 6:     //Ticket
                    NroPago = "6";
                    break;

                case 7:     //Otro
                    NroPago = "7";
                    break;
                }
                var inputFormaPago = await NewPage.QuerySelectorAsync(Forma + NroPago);

                if (inputFormaPago != null)
                {
                    await inputFormaPago.ClickAsync();

                    if (NroPago == "2" || NroPago == "3")
                    {
                        string IdTarjeta = NroPago == "2" ? "#tarjeta_nro_debito1" : "#tarjeta_nro_credito1";
                        //
                        switch (TipoTarj)
                        {
                        case 1:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_debito1", "1");

                            break;

                        case 2:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_debito1", "2");

                            break;

                        case 3:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_debito1", "3");

                            break;

                        case 14:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_debito1", "99");

                            break;

                        case 4:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "1");

                            break;

                        case 5:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "2");

                            break;

                        case 6:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "3");

                            break;

                        case 7:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "4");

                            break;

                        case 8:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "5");

                            break;

                        case 9:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "6");

                            break;

                        case 10:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "7");

                            break;

                        case 11:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "8");

                            break;

                        case 12:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "9");

                            break;

                        case 15:
                            await NewPage.SelectAsync("select#tarjeta_id_tipo_credito1", "99");

                            break;
                        }

                        var inputTarjeta = await NewPage.QuerySelectorAsync(IdTarjeta);

                        if (inputTarjeta != null)
                        {
                            //Se ingresa el nro de documento
                            if (NroTarjeta.Length != 0)
                            {
                                await inputTarjeta.EvaluateFunctionAsync <dynamic>("(el, value) => el.value = value", NroTarjeta);
                            }
                        }
                    }

                    //se presona el boton siguiente para pasar al siguiente formulario
                    var btnSiguiente3 = await NewPage.QuerySelectorAsync("#formulario > input[type=button]:nth-child(4)");

                    if (btnSiguiente3 != null)
                    {
                        await btnSiguiente3.ClickAsync();
                    }

                    await NewPage.WaitForNavigationAsync();
                }
                else
                {
                    throw new Exception("No se ha podido ingresar la forma de pago");
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }