private void ProcessUpdateEntregasClientes(FarmaciaService farmatic, FisiotesService fisiotes)
        {
            var valor = fisiotes.Configuraciones.GetByCampo(FIELD_POR_DONDE_VOY_ENTREGAS_CLIENTES);
            var venta = Convert.ToInt32(!string.IsNullOrEmpty(valor)
                ? valor
                : "0");

            var ventasVirtuales = farmatic.Ventas.GetVirtualesLessThanId(venta);

            foreach (var @virtual in ventasVirtuales)
            {
                _cancellationToken.ThrowIfCancellationRequested();

                var lineas = farmatic.Ventas.GetLineasVirtualesByVenta(@virtual.IdVenta);
                foreach (var linea in lineas)
                {
                    if (!fisiotes.Entregas.Exists(linea.IdVenta, linea.IdNLinea))
                    {
                        fisiotes.Entregas.Insert(
                            GenerarEntregaCliente(farmatic, @virtual, linea));

                        fisiotes.Configuraciones.Update(FIELD_POR_DONDE_VOY_ENTREGAS_CLIENTES, @virtual.IdVenta.ToString());
                    }
                }
            }
        }
예제 #2
0
        private async void HomePage_Click(object sender, EventArgs e)
        {
            if (email.Text != " " && email.Text != " " && password.Text != null && password.Text != null)
            {
                DataLogin usuario = new DataLogin();
                usuario.email    = email.Text;
                usuario.password = password.Text;

                UserResponse response = FarmaciaService.Login(usuario);

                if (response.error != null)
                {
                    await DisplayAlert("Ops!", response.error, "OK");
                }
                else
                {
                    await SecureStorage.SetAsync("userEmail", response.usuario.email);

                    await SecureStorage.SetAsync("userName", response.usuario.firstName);

                    await SecureStorage.SetAsync("avatar", response.usuario.avatar);

                    await Navigation.PushAsync(new PedidosPage());
                }
            }
            else
            {
                await DisplayAlert("Ops!", "CamposRequeridos", "OK");
            }
        }
예제 #3
0
        public async void GetPedidos()
        {
            string email = await SecureStorage.GetAsync("userEmail");

            List <Pedido> pedids = FarmaciaService.GetPedidos(email);

            pedidos.ItemsSource = pedids;

            if (pedids.Count == 0)
            {
                await DisplayAlert("Hola!", "No has realizado pedidos", "Aceptar");
            }
        }
        private async void hacer_pedido(object sender, EventArgs e)
        {
            PedidoResponse response = FarmaciaService.crearPedido(pedido1);

            if (response.error != null)
            {
                await DisplayAlert("Ops!", response.error, "Ok");
            }
            else
            {
                await DisplayAlert("Genail!", response.message, "Ok");

                await Navigation.PushAsync(new PedidosPage());
            }
        }
예제 #5
0
        private void ProcessListaTienda(FarmaciaService farmatic, FisiotesService fisiotes, ConsejoService consejo, int listaDeArticulo)
        {
            if (listaDeArticulo <= 0)
            {
                return;
            }

            var lista = farmatic.ListasArticulos.GetOneOrDefault(listaDeArticulo);

            if (lista != null)
            {
                fisiotes.Listas.InsertOrUpdate(new Fisiotes.Models.Lista
                {
                    cod   = lista.IdLista,
                    lista = lista.Descripcion.Strip()
                });

                fisiotes.Listas.DeArticulos.Delete(lista.IdLista);
                var articulos = farmatic.ListasArticulos.GetArticulosByLista(lista.IdLista);
                foreach (var articulo in articulos)
                {
                    _cancellationToken.ThrowIfCancellationRequested();

                    fisiotes.Listas.DeArticulos.Insert(new Fisiotes.Models.ListaArticulo
                    {
                        cod_lista    = articulo.XItem_IdLista,
                        cod_articulo = Convert.ToInt32(articulo.XItem_IdArticu)
                    });

                    var awi = farmatic.ListasArticulos.GetArticuloWithIva(listaDeArticulo, articulo.XItem_IdArticu);

                    var medicamentoGenerado = Generator.GenerarMedicamento(farmatic, consejo, awi);
                    var medicamento         = fisiotes.Medicamentos.GetOneOrDefaultByCodNacional(awi.IdArticu);

                    SincronizarMedicamento(fisiotes, medicamento, medicamentoGenerado);
                }

                farmatic.ListasArticulos.Update(listaDeArticulo);
            }
        }
        private EntregaCliente GenerarEntregaCliente(FarmaciaService farmatic, Venta @virtual, LineaVentaVirtual linea)
        {
            var trabajador = farmatic.Vendedores
                             .GetOneOrDefaultById(Convert.ToInt16(@virtual.XVend_IdVendedor))?.NOMBRE
                             ?? TRABAJADOR_DEFAULT;

            return(new EntregaCliente
            {
                idventa = linea.IdVenta,
                idnlinea = linea.IdNLinea,
                codigo = linea.Codigo.Strip(),
                descripcion = linea.Descripcion,
                cantidad = linea.Cantidad,
                precio = Convert.ToDecimal(linea.ImporteNeto),
                tipo = linea.TipoLinea,
                fecha = Convert.ToInt32(@virtual.FechaHora.ToString("yyyyMMdd")),
                dni = @virtual.XClie_IdCliente.Strip(),
                puesto = @virtual.Maquina,
                trabajador = trabajador,
                pvp = Convert.ToSingle(linea.Pvp),
                fechaEntrega = @virtual.FechaHora
            });
        }
        public void ProcessListasFechas(FarmaciaService farmatic, FisiotesService fisiotes, int listaDeArticulo)
        {
            var listas = farmatic.ListasArticulos.GetByFechaExceptList(listaDeArticulo);

            foreach (var lista in listas)
            {
                _cancellationToken.ThrowIfCancellationRequested();

                var listaRemote = fisiotes.Listas.GetOneOrDefault(lista.IdLista);
                fisiotes.Listas.InsertOrUpdate(new Fisiotes.Models.Lista
                {
                    cod   = lista.IdLista,
                    lista = lista.Descripcion.Strip()
                });

                fisiotes.Listas.DeArticulos.Delete(lista.IdLista);
                var articulos = farmatic.ListasArticulos.GetArticulosByLista(lista.IdLista);
                if (articulos.Any())
                {
                    for (int i = 0; i < articulos.Count; i += BATCH_SIZE)
                    {
                        _cancellationToken.ThrowIfCancellationRequested();

                        var items = articulos
                                    .Skip(i)
                                    .Take(BATCH_SIZE)
                                    .Select(x => new Fisiotes.Models.ListaArticulo
                        {
                            cod_lista    = x.XItem_IdLista,
                            cod_articulo = Convert.ToInt32(x.XItem_IdArticu)
                        }).ToList();

                        fisiotes.Listas.DeArticulos.Insert(items);
                    }
                }
            }
        }
 public EncargoActualizacionSincronizador(FarmaciaService farmatic, FisiotesService fisiotes)
     : base(farmatic, fisiotes)
 {
 }
예제 #9
0
 public ListaTiendaSincronizador(FarmaciaService farmatic, FisiotesService fisiotes, ConsejoService consejo, int listaDeArticulo)
     : base(farmatic, fisiotes, consejo)
 {
     _listaDeArticulo = listaDeArticulo;
 }
예제 #10
0
 public DomiciliosPage()
 {
     InitializeComponent();
     ListaMedicamentos.ItemsSource = FarmaciaService.GetMedicamentos();
 }
예제 #11
0
 public RecetaPendienteActualizacionSincronizador(FarmaciaService farmatic, FisiotesService fisiotes)
     : base(farmatic, fisiotes)
 {
 }
 public ListaFechaSincronizador(FarmaciaService farmatic, FisiotesService fisiotes, int listaDeArticulo)
     : base(farmatic, fisiotes)
 {
     _listaDeArticulo = listaDeArticulo;
 }
 public EntregaClienteActualizacionSincronizador(FarmaciaService farmatic, FisiotesService fisiotes) :
     base(farmatic, fisiotes)
 {
 }