예제 #1
0
 public OrderPosVm(IReactiveDeliveryClient client)
 {
     _client                  = client;
     ReloadPosCommand         = ReactiveCommand.CreateAsyncTask(Observable.Return(true), _ => OnReloadPos());
     RestartPosCommand        = ReactiveCommand.CreateAsyncTask(Observable.Return(true), _ => OnRestartPos());
     LstNotificaionCategories = new ReactiveList <StoreNotificationCategoryViewModel>();
 }
예제 #2
0
        private void OnInfoAccountOk(IReactiveDeliveryClient reactiveDeliveryClient, IStale <ResponseMessageData <string> > obj, Action showWnd, IShellContainerVm vm)
        {
            if (obj.IsStale)
            {
                OnInfoAccountError(ResNetwork.ERROR_NETWORK_DOWN, showWnd);
                return;
            }

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

            ConnectionInfoResponse response;

            try
            {
                response = new JavaScriptSerializer().Deserialize <ConnectionInfoResponse>(Cypher.Decrypt(obj.Data.Data));
            }
            catch (Exception)
            {
                OnInfoAccountError("No fue posible obtener la respuesta del servidor. Revise que tenga la versión correcta en el cliente o en el servidor"
                                   , showWnd);
                return;
            }

            InitPosServices(reactiveDeliveryClient, showWnd, vm, response);
        }
예제 #3
0
        public UpsertAddressFoVm(IAutoCompleteTextVm zipCodeSearchVm, IReactiveDeliveryClient client)
        {
            _client         = client;
            ZipCodeSearchVm = zipCodeSearchVm;

            ZipCodeSearchVm.Watermark = SettingsData.Constants.AddressUpsertSetting.ZipCode.Title;
            ZipCodeSearchVm.IsFocused = true;

            ZipCodeSearchVm.ExecuteSearch  += ExecuteSearchZipCode;
            ZipCodeSearchVm.DoExecuteEvent += OnSelectZipCode;
            Controls            = SettingsData.Constants.AddressUpsertSetting;
            IsSearchByCode      = false;
            IsSearchByWaterfall = false;
            IsSearchByMap       = true;
            ErrorSearch         = String.Empty;

            ErrorUpsertVisibility = Visibility.Hidden;

            Countries = new ReactiveList <ListItemModel>();
            RegionsA  = new ReactiveList <ListItemModel>();
            RegionsB  = new ReactiveList <ListItemModel>();
            RegionsC  = new ReactiveList <ListItemModel>();
            RegionsD  = new ReactiveList <ListItemModel>();

            _lstRegions = new List <IReactiveList <ListItemModel> > {
                Countries, RegionsA, RegionsB, RegionsC, RegionsD
            };

            MapRegionCodeSearch = SettingsData.Address.MapRegionCodeSearch;

            UpsertCommand = ReactiveCommand.CreateAsyncTask(Observable.Return(true), _ => Save());
        }
        public async static Task <Unit> Initialize(IReactiveDeliveryClient client)
        {
            using (var settingSvc = new SettingSvcClient())
            {
                var resConstants = await settingSvc.FindAllSettingsAsync();

                if (resConstants.IsSuccess == false)
                {
                    throw new Exception("Se sucitó el siguiente error: " + resConstants.Message);
                }

                var dicSettings = resConstants.DicSettings;

                SettingConfigure.InitConstants(dicSettings);

                var resControls = await settingSvc.FindAllControlTitlesByLanguageAsync(SettingsData.Language);

                if (resControls.IsSuccess == false)
                {
                    throw new Exception("Se sucitó el siguiente error: " + resControls.Message);
                }

                var lstAddressSetting = resControls.LstControls;

                SettingConfigure.InitControls(lstAddressSetting);
            }

            return(new Unit());
        }
예제 #5
0
 public SearchNewPhoneVm(IAutoCompleteTextVm phoneSearch, IReactiveDeliveryClient client)
 {
     _client       = client;
     PhoneSearchVm = phoneSearch;
     PhoneSearchVm.ExecuteSearch  += ExecuteSearchPhone;
     PhoneSearchVm.DoExecuteEvent += FindOrCreateClient;
 }
        public FranchiseContainerVm(Func <IButtonItemModel, IShellContainerVm, Action <FranchiseInfoModel>, IFranchiseVm> factoryFranchise, IReactiveDeliveryClient client)
        {
            _factoryFranchise = factoryFranchise;
            _client           = client;
            Items             = new ReactiveList <IFranchiseVm>();

            MessageBus.Current.Listen <PropagateOrderModel>(SharedMessageConstants.PROPAGATE_LASTORDER_FRANCHISE).Subscribe(OnPropagate);
        }
 public OrdersListVm(IReactiveDeliveryClient client, IPagerVm pager)
 {
     _client             = client;
     LstItems            = new ReactiveList <TrackOrderDto>();
     Pager               = pager;
     Pager.PagerChanged += PagerOnPagerChanged;
     CmdShowDetail       = ReactiveCommand.CreateAsyncTask(Observable.Return(true), DoShowDetail);
     CmdCancelOrder      = ReactiveCommand.CreateAsyncTask(Observable.Return(true), DoCancelOrder);
 }
예제 #8
0
        private void ShowNextWindow(IReactiveDeliveryClient reactiveDeliveryClient, Action showWnd, IShellContainerVm vm)
        {
            var showWndSec = showWnd;

            reactiveDeliveryClient.ExecutionProxy.ExecuteRequest <ResponseMessageData <string>, ResponseMessageData <string> >
                (SharedConstants.Server.ACCOUNT_HUB, SharedConstants.Server.ACCOUNT_INFO_ACCOUNT_HUB_METHOD, TransferDto.SameType)
            .ObserveOn(reactiveDeliveryClient.ConcurrencyService.Dispatcher)
            .SubscribeOn(reactiveDeliveryClient.ConcurrencyService.TaskPool)
            .Subscribe(e => OnInfoAccountOk(reactiveDeliveryClient, e, showWnd, vm), i => OnInfoAccountError(i, showWndSec));
        }
예제 #9
0
        public static void GetUnsyncFiles(IReactiveDeliveryClient reactiveDeliveryClient, Action showWnd, IShellContainerVm vm, ConnectionInfoResponse response)
        {
            var showWndSec = showWnd;

            reactiveDeliveryClient.ExecutionProxy.ExecuteRequest <ResponseMessageData <SyncFranchiseModel>, ResponseMessageData <SyncFranchiseModel> >
                (SharedConstants.Server.FRANCHISE_HUB, SharedConstants.Server.LIST_SYNC_FILES_FRANCHISE_HUB_METHOD, TransferDto.SameType)
            .ObserveOn(reactiveDeliveryClient.ConcurrencyService.Dispatcher)
            .SubscribeOn(reactiveDeliveryClient.ConcurrencyService.TaskPool)
            .Subscribe(e => OnGetUnsynFilesOk(e, showWnd, vm, response), i => OnGetUnsynFilesError(i, showWndSec));
        }
 public SearchDailyOrderVm(IReactiveDeliveryClient client)
 {
     _client           = client;
     LstStores         = new ReactiveList <ItemCatalog>(CatalogsClientModel.LstStores);
     StoreSelected     = LstStores.Count > 0 ? LstStores[0] : null;
     LstAgents         = new ReactiveList <ItemCatalog>(CatalogsClientModel.LstAgents);
     AgentSelected     = LstAgents.Count > 0 ? LstAgents[0] : null;
     SearchCommand     = ReactiveCommand.CreateAsyncTask(Observable.Return(true), _ => OnSearchCommand());
     _dailySearchModel = new DailySearchModel();
 }
        public ClientsListVm(IUpsertClientFoVm upsertClientFo, IReactiveDeliveryClient client)
        {
            _upsertClient = upsertClientFo;
            _client       = client;
            LstChildren.Add(_upsertClient);
            AddClient       = ReactiveCommand.CreateAsyncTask(Observable.Return(true), _ => OnAddClient());
            EditClient      = ReactiveCommand.CreateAsyncTask(Observable.Return(true), OnEditClient);
            RemoveClient    = ReactiveCommand.CreateAsyncTask(Observable.Return(true), OnRemoveClient);
            RetrySaveClient = ReactiveCommand.CreateAsyncTask(Observable.Return(true), OnRetrySaveClient);

            MessageBus.Current.Listen <PropagateOrderModel>(SharedMessageConstants.PROPAGATE_LASTORDER_CLIENT).Subscribe(OnPropagate);
        }
예제 #12
0
 private void InitPosServices(IReactiveDeliveryClient reactiveDeliveryClient, Action showWnd, IShellContainerVm vm,
                              ConnectionInfoResponse response)
 {
     try
     {
         PosService.DeletePosFoldersDataAndNewDataIfPosIsDown();
         SyncPosFiles.GetUnsyncFiles(reactiveDeliveryClient, showWnd, vm, response);
     }
     catch (Exception ex)
     {
         Log.Error("Error al iniciar los servicios de POS: ", ex);
     }
 }
        public LastOrderFoVm(IReactiveDeliveryClient client)
        {
            _client              = client;
            LstItems             = new ReactiveList <QtItemModel>();
            LstLastOrdersButtons = new ReactiveList <StackButtonModel>();
            var canOrder = this.WhenAny(vm => vm.PropagateOrder, x => x.Value != null);

            DoLastOrderCommand     = ReactiveCommand.CreateAsyncTask(canOrder, _ => OnDoLastOrder(false));
            DoEditLastOrderCommand = ReactiveCommand.CreateAsyncTask(canOrder, _ => OnDoLastOrder(true));
            OrderCommand           = ReactiveCommand.CreateAsyncTask(Observable.Return(true), OnDoOrderCommand);

            MessageBus.Current.Listen <String>(SharedMessageConstants.FLYOUT_LASTORDER_CLOSE).Subscribe(OnClose);
        }
예제 #14
0
        public SendOrderVm(IReactiveDeliveryClient client)
        {
            client.HubListeners.SendToStoreEventChanged += OnSendOrderToStoreEventChanged;
            EventsMsg     = "Enviando el pedido al servidor. \nEspere por favor...";
            CultureSystem = SettingsData.CultureSystem;

            LstPayments = new ReactiveList <ItemCatalog>();
            LstPayments.ClearAndAddRange(CatalogsClientModel.CatPayments);

            LstStores = new ReactiveList <ItemCatalog>();
            ResetValues();
            SendOrderToStore = ReactiveCommand.CreateAsyncTask(Observable.Return(true), async _ => await SendOrderTask());
            MessageBus.Current.Listen <PropagateOrderModel>(SharedMessageConstants.PROPAGATE_LASTORDER_POSCHECK).Subscribe(OnPropagate);
        }
예제 #15
0
        public SearchTrackOrderVm(IAutoCompleteTextVm phoneSearch, IAutoCompleteTextVm nameSearchVm, IReactiveDeliveryClient client)
        {
            _client = client;

            NameSearchVm                 = nameSearchVm;
            NameSearchVm.Watermark       = "Ingrese el nombre o apellido del cliente";
            NameSearchVm.ExecuteSearch  += ExecuteSearchClientName;
            NameSearchVm.DoExecuteEvent += FindByClientName;

            PhoneSearchVm                 = phoneSearch;
            PhoneSearchVm.Watermark       = "Ingrese el teléfono";
            PhoneSearchVm.ExecuteSearch  += ExecuteSearchPhone;
            PhoneSearchVm.DoExecuteEvent += FindByPhone;
        }
        public AddressListVm(IUpsertAddressFoVm upsertAddressFo, IReactiveDeliveryClient client)
        {
            _upsertAddress = upsertAddressFo;
            _client        = client;
            LstChildren.Add(_upsertAddress);
            Add                   = ReactiveCommand.CreateAsyncTask(Observable.Return(true), _ => OnAdd());
            Edit                  = ReactiveCommand.CreateAsyncTask(Observable.Return(true), OnEdit);
            Remove                = ReactiveCommand.CreateAsyncTask(Observable.Return(true), OnRemove);
            RetrySaveItem         = ReactiveCommand.CreateAsyncTask(Observable.Return(true), OnRetrySave);
            Setting               = SettingsData.Constants.AddressGridSetting;
            LstStores             = new ReactiveList <ItemCatalog>();
            HasAdditionalLstStore = Visibility.Collapsed;

            MessageBus.Current.Listen <PropagateOrderModel>(SharedMessageConstants.PROPAGATE_LASTORDER_ADDRESS).Subscribe(OnPropagate);
        }
예제 #17
0
        public UpsertClientFoVm(IAutoCompleteTextVm companySearchVm, IAutoCompletePhoneVm secondPhoneVm, IReactiveDeliveryClient client)
        {
            _client         = client;
            CompanySearchVm = companySearchVm;
            SecondPhoneVm   = secondPhoneVm;

            ClientPreId = SharedConstants.NULL_ID_VALUE;
            ClientId    = SharedConstants.NULL_ID_VALUE;

            CompanySearchVm.Watermark       = "Empresa";
            CompanySearchVm.ExecuteSearch  += ExecuteSearchCompany;
            CompanySearchVm.DoExecuteEvent += OnSelectCompany;

            SecondPhoneVm.ExecuteSearch  += ExecuteSearchPhone;
            SecondPhoneVm.DoExecuteEvent += OnSelectPhone;

            var canSave = this.WhenAnyValue(vm => vm.FirstName, vm => vm.LastName, vm => vm.LoyaltyCode, (f, l, lc) =>
                                            !String.IsNullOrWhiteSpace(f) && f.Length >= 2 && f.Length <= 100 &&
                                            !String.IsNullOrWhiteSpace(l) && l.Length >= 2 && l.Length <= 200 &&
                                            (String.IsNullOrEmpty(lc) || lc.Length >= 2 && lc.Length <= 14));

            UpsertCommand = ReactiveCommand.CreateAsyncTask(canSave, _ => SaveClient());
        }
예제 #18
0
 public MenuVm(Func <IButtonItemModel, IShellContainerVm, IMenuItemVm> factoryMenuItem, IReactiveDeliveryClient client)
 {
     _factoryMenuItem = factoryMenuItem;
     _client          = client;
     MenuItems        = new ReactiveList <IMenuItemVm>();
 }
예제 #19
0
 public OrderDetailVm(IReactiveDeliveryClient client)
 {
     _client = client;
     VisiblityStoreErrMsg = Visibility.Collapsed;
     CopyIdOrder          = ReactiveCommand.CreateAsyncTask(Observable.Return(true), _ => OnCopyIdOrder());
 }
 public MainOrderService(IReactiveDeliveryClient client)
 {
     _client        = client;
     _validateModel = OnValidateModel;
 }
 public StoreAddressService(IReactiveDeliveryClient client)
 {
     _client = client;
 }