private void OnRemoveDone(IStale <ResponseMessageData <bool> > obj, ClientInfoGrid clInfo)
        {
            if (obj.IsStale)
            {
                OnRemoveError(Resources.Network.ResNetwork.ERROR_NETWORK_DOWN);
                return;
            }

            if (obj.Data.IsSuccess == false)
            {
                OnRemoveError(obj.Data.Message);
                return;
            }

            RxApp.MainThreadScheduler.Schedule(_ =>
            {
                var client = LstClients.FirstOrDefault(e => e.ClientPreId == clInfo.ClientPreId);
                if (client != null)
                {
                    LstClients.Remove(client);
                }
            });
        }
예제 #2
0
        private static void OnGetUnsynFilesOk(IStale <ResponseMessageData <SyncFranchiseModel> > obj, Action showWnd, IShellContainerVm vm,
                                              ConnectionInfoResponse responseAccount)
        {
            if (obj.IsStale)
            {
                OnGetUnsynFilesError(ResNetwork.ERROR_NETWORK_DOWN, showWnd);
                return;
            }

            if (obj.Data.IsSuccess == false)
            {
                OnGetUnsynFilesError(obj.Data.Message, showWnd);
                return;
            }

            var respMsg = SyncFileService.StartSyncFiles(obj.Data.LstData.ToList());

            if (respMsg.IsSuccess == false)
            {
                OnGetUnsynFilesError(respMsg.Message, showWnd);
                return;
            }

            RxApp.MainThreadScheduler.Schedule(_ =>
            {
                try
                {
                    vm.ChangeCurrentView((StatusScreen)responseAccount.NxWn, false);
                    MessageBus.Current.SendMessage(responseAccount.Msg, SharedMessageConstants.INITIALIZE_ERROR_CHECK);
                    showWnd();
                }
                catch (Exception)
                {
                    OnGetUnsynFilesError("La respuesta del servidor es incorrecta. Revise que tenga la versión correcta en el cliente o en el servidor", showWnd);
                }
            });
        }
        public void OnResultReady(IStale <ResponseMessageData <ListItemModel> > response)
        {
            if (response.IsStale)
            {
                OnResultError(new Exception("Tiempo terminado"));
                return;
            }

            //TODO Revisar cuando on success no sea válido
            if (response.Data.IsSuccess == false)
            {
                OnResultError(new Exception(response.Data.Message));
                return;
            }

            RxApp.MainThreadScheduler.Schedule(_ =>
            {
                foreach (var itemModel in response.Data.LstData)
                {
                    var model = itemModel;
                    ListData.Add(model);
                }
            });
        }
 private void OnExecutedResult(IStale<ITrade> trade)
 {
     if (trade.IsStale)
     {
         OnExecutionTimeout();
     }
     else
     {
         _log.Info("Trade executed");
         _parent.OnTrade(trade.Update);
     }
     IsExecuting = false;
 }
        private void OnPosCheckReady(IStale <ResponseMessageData <PropagateOrderModel> > obj)
        {
            try
            {
                if (obj.IsStale || obj.Data.IsSuccess == false || obj.Data.Data == null ||
                    obj.Data.Data.PosCheck == null || obj.Data.Data.PosCheck.LstItems.Count == 0)
                {
                    OnPosCheckError(new Exception("No hay datos que mostrar. Información no válida"));
                    return;
                }

                RxApp.MainThreadScheduler.Schedule(_ =>
                {
                    IsGettingSelectedOrder = false;
                    LstItems.Clear();
                    PropagateOrder = obj.Data.Data;
                    try
                    {
                        if (PropagateOrder != null && PropagateOrder.PosCheck != null)
                        {
                            PropagateOrder.PosCheck.FixItemParents();
                        }
                    }
                    catch (Exception ex)
                    {
                        SharedLogger.LogError(ex);
                        MessageBus.Current.SendMessage(new MessageBoxSettings
                        {
                            Message = "Existe el siguiente problema al jerarquizar el pedido: " + ex.Message,
                            Title   = "Error al obtener el pedido",
                        }, SharedMessageConstants.MSG_SHOW_ERRQST);
                        return;
                    }

                    var lstNewItems = PropagateOrder.PosCheck.LstItems.Select(e => new QtItemModel
                    {
                        ItemId   = e.ItemId,
                        Name     = e.Name,
                        Quantity = 1
                    }).ToList();

                    foreach (var item in lstNewItems)
                    {
                        LstItems.Add(item);
                    }

                    LastOrderDateTx = PropagateOrder.PosCheck.OrderDateTime.ToString(" dd/MM/yyyy |  HH:mm:ss");
                    TitleLastOrder  = String.Format("Pedido del {0}", PropagateOrder.Order.Phone);
                    FranchiseName   = String.Format("Franquicia: {0}", PropagateOrder.Franchise.Name);
                    IsOpen          = true;
                });
            }
            catch (Exception ex)
            {
                SharedLogger.LogError(ex);
                MessageBus.Current.SendMessage(new MessageBoxSettings
                {
                    Message = "Existe el siguiente problema al obtener la información del pedido: " + ex.Message,
                    Title   = "Error al obtener el pedido",
                }, SharedMessageConstants.MSG_SHOW_ERRQST);
            }
        }