private void ProcessUpdateEntregasClientes(FarmaticService 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()); } } } }
private void ProcessCategorias(FarmaticService farmatic, FisiotesService fisiotes) { var familias = farmatic.Familias.GetByDescripcion(); foreach (var familia in familias) { Task.Delay(5); _cancellationToken.ThrowIfCancellationRequested(); var padre = farmatic.Familias.GetSuperFamiliaDescripcionByFamilia($"{familia.Descripcion}") ?? PADRE_DEFAULT; /*if (!fisiotes.Categorias.Exists(familia.Descripcion.Strip(), padre.Strip())) * { * var categoria = fisiotes.Categorias.GetByPadreOrDefault(padre.Strip()); * var padreId = categoria?.prestashopPadreId;*/ fisiotes.Categorias.Insert(new Fisiotes.Models.Categoria { categoria = familia.Descripcion.Strip(), padre = padre.Strip(), prestashopPadreId = null }); //} } }
public VentaMensualActualizacionSincronizador(FarmaticService farmatic, FisiotesService fisiotes, ConsejoService consejo, int listaDeArticulo) : base(farmatic, fisiotes) { _consejo = consejo ?? throw new ArgumentNullException(nameof(consejo)); _listaDeArticulo = listaDeArticulo; _hasSexo = farmatic.Clientes.HasSexoField(); }
private void ProcessFamilia(FarmaticService farmatic, FisiotesService fisiotes) { var familias = farmatic.Familias.Get(); foreach (var familia in familias) { Task.Delay(5); _cancellationToken.ThrowIfCancellationRequested(); //if (!fisiotes.Familias.Exists(familia.Descripcion)) fisiotes.Familias.Insert(GenerarFamilia(familia.Descripcion.Strip())); } }
protected void SincronizarMedicamento(FisiotesService fisiotes, Fisiotes.Models.Medicamento remoto, Fisiotes.Models.Medicamento generado) { if (remoto == null) { fisiotes.Medicamentos.Insert(generado); } else if (HayDiferencias(remoto, generado)) { fisiotes.Medicamentos.Update(generado, withSqlExtra: true); } else { fisiotes.Medicamentos.Update(generado); } }
private void ProcessListas(FarmaticService farmatic, FisiotesService fisiotes) { var listas = farmatic.ListasArticulos.GetByIdGreaterThan(_codActual); foreach (var lista in listas) { Task.Delay(5); _cancellationToken.ThrowIfCancellationRequested(); //fisiotes.Listas.ResetPorDondeVoy(); fisiotes.Listas.InsertOrUpdate(new Fisiotes.Models.Lista { cod = lista.IdLista, lista = lista.Descripcion.Strip() }); _codActual = lista.IdLista; var articulos = farmatic.ListasArticulos.GetArticulosByLista(lista.IdLista); if (articulos.Any()) { fisiotes.Listas.DeArticulos.Delete(lista.IdLista); for (int i = 0; i < articulos.Count; i += BATCH_SIZE) { Task.Delay(1); var items = articulos .Skip(i) .Take(BATCH_SIZE) .Select(x => new Fisiotes.Models.ListaArticulo { cod_lista = x.XItem_IdLista, cod_articulo = x.XItem_IdArticu.ToIntegerOrDefault(-1) }).ToList(); fisiotes.Listas.DeArticulos.Insert(items); } } } _codActual = -1; //fisiotes.Listas.ResetPorDondeVoy(); }
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); } }
public void ProcessListasFechas(FarmaticService 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); } } } }
private void ProcessUpdatePuntosPendientes(FarmaticService farmatic, FisiotesService fisiotes) { var puntos = fisiotes.PuntosPendientes.GetWithoutRedencion(); foreach (var pto in puntos) { _cancellationToken.ThrowIfCancellationRequested(); var venta = farmatic.Ventas.GetOneOrDefaultById(pto.idventa); if (venta != null) { var lineas = farmatic.Ventas.GetLineasVentaByVenta(venta.IdVenta); foreach (var linea in lineas) { var lineaRedencion = farmatic.Ventas.GetOneOrDefaultLineaRedencionByKey(linea.IdVenta, linea.IdNLinea); var redencion = lineaRedencion?.Redencion ?? 0; var articulo = farmatic.Articulos.GetOneOrDefaultById(linea.Codigo); var proveedor = (articulo != null) ? farmatic.Proveedores.GetOneOrDefaultByCodigoNacional(articulo.IdArticu)?.FIS_NOMBRE ?? string.Empty : string.Empty; fisiotes.PuntosPendientes.Update(venta.TipoVenta, proveedor, Convert.ToSingle(linea.DescuentoLinea), Convert.ToSingle(venta.DescuentoOpera), Convert.ToSingle(redencion), linea.IdVenta, linea.IdNLinea); } } else { fisiotes.PuntosPendientes.Update(pto.idventa); } } }
public void ProcessSinonimos(FarmaticService farmaticService, FisiotesService fisiotesService) { if (!_isEmpty && _horariosDeVaciamiento.Any(x => x.Equals(DateTime.Now.ToString("HHmm")))) { fisiotesService.Sinonimos.Empty(); _isEmpty = _fisiotes.Sinonimos.IsEmpty(); } if (_isEmpty) { var sinonimos = farmaticService.Sinonimos.GetAll(); for (int i = 0; i < sinonimos.Count; i += _batchSize) { Task.Delay(1); _cancellationToken.ThrowIfCancellationRequested(); var items = sinonimos .Skip(i) .Take(_batchSize) .Select(x => new Sinonimo { cod_barras = x.Sinonimo.Strip(), cod_nacional = x.IdArticu.Strip() }).ToList(); fisiotesService.Sinonimos.Insert(items); // 1er lote pregunta if (_isEmpty) { _isEmpty = _fisiotes.Sinonimos.IsEmpty(); } } } }
public ProveedorSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { }
public PowerSwitchProgramado(FisiotesService fisiotes) : base(fisiotes) { }
public ListaTiendaSincronizador(FarmaciaService farmatic, FisiotesService fisiotes, ConsejoService consejo, int listaDeArticulo) : base(farmatic, fisiotes, consejo) { _listaDeArticulo = listaDeArticulo; }
public PowerSwitchManual(FisiotesService fisiotes) : base(fisiotes) { }
public EncargoSincronizador(FarmaticService farmatic, FisiotesService fisiotes, ConsejoService consejo) : base(farmatic, fisiotes) { _consejo = consejo ?? throw new ArgumentNullException(nameof(consejo)); }
public ClienteSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { _horariosDeVaciamiento = new[] { "1400", "2100" }; _hasSexo = farmatic.Clientes.HasSexoField(); }
public ListaFechaSincronizador(FarmaticService farmatic, FisiotesService fisiotes, int listaDeArticulo) : base(farmatic, fisiotes) { _listaDeArticulo = listaDeArticulo; }
public RecetaPendienteActualizacionSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { }
public ControlStockFechaSalidaSincronizador(FarmaticService farmatic, FisiotesService fisiotes, ConsejoService consejo) : base(farmatic, fisiotes, consejo) { }
public ProductoBorradoActualizacionSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { }
public EncargoActualizacionSincronizador(FarmaciaService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { }
public CategoriaSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { }
public EntregaClienteActualizacionSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { }
public PuntoPendienteSincronizador(FarmaticService farmatic, FisiotesService fisiotes, ConsejoService consejo) : base(farmatic, fisiotes) { _consejo = consejo ?? throw new ArgumentNullException(nameof(consejo)); _hasSexo = farmatic.Clientes.HasSexoField(); }
public HuecoSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { _hasSexo = farmatic.Clientes.HasSexoField(); }
public ListaSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { }
public ProveedorHistorialSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { _batchSize = 1000; }
public SinonimoSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(farmatic, fisiotes) { _horariosDeVaciamiento = new[] { "1230", "1730", "1930" }; _batchSize = 1000; }
public TaskSincronizador(FarmaticService farmatic, FisiotesService fisiotes) : base(fisiotes) { _farmatic = farmatic ?? throw new ArgumentNullException(nameof(farmatic)); }
public BaseSincronizador(FisiotesService fisiotes) => _fisiotes = fisiotes ?? throw new ArgumentNullException(nameof(fisiotes));