private void ProcessPedidos() { //var lastPedido = _fisiotes.Pedidos.LastOrDefault(); var recepciones = (_lastPedido == null) ? _farmatic.Recepciones.GetByYear(_anioInicio) : _farmatic.Recepciones.GetByIdAndYear(_anioInicio, _lastPedido.idPedido); foreach (var recepcion in recepciones) { Task.Delay(5); _cancellationToken.ThrowIfCancellationRequested(); var resume = _farmatic.Recepciones.GetResumeById(recepcion.IdRecepcion); if (resume.numLineas > 0) { //if (!_fisiotes.Pedidos.Exists(recepcion.IdRecepcion)) //{ _fisiotes.Pedidos.Insert(GenerarPedido(_farmatic, recepcion, resume)); if (_lastPedido == null) { _lastPedido = new Fisiotes.Models.Pedido(); } _lastPedido.idPedido = recepcion.IdRecepcion; //} var lineas = _farmatic.Recepciones.GetLineasById(recepcion.IdRecepcion) .Where(l => !string.IsNullOrEmpty(l.XArt_IdArticu)); foreach (var linea in lineas) { Task.Delay(1); var articulo = _farmatic.Articulos.GetOneOrDefaultById(linea.XArt_IdArticu); if (articulo != null /*&& !_fisiotes.Pedidos.ExistsLinea(linea.IdRecepcion, linea.IdNLinea)*/) { _fisiotes.Pedidos.InsertLinea(GenerarLineaDePedido(_farmatic, recepcion, linea, articulo, _consejo)); } } } } }
public override void PreSincronizacion() { _lastPedido = _fisiotes.Pedidos.LastOrDefault(); }