Пример #1
0
        private async Task InitializeViewModels()
        {
            var sessionInfo = await FormsApp.GetSessionTokenAndMerchantGuid();

            if (!string.IsNullOrWhiteSpace(sessionInfo.Email))
            {
                DependencyService.Get <IIntercom>().RegisterLoggedInUser(sessionInfo.Email);
                await _navigationService.Navigate <MenuViewModel>();

                await _navigationService.Navigate <TabbedHomeViewModel>();
            }
        }
Пример #2
0
        private async void RedirectIfNecessary()
        {
            var sessionInfo = await FormsApp.GetSessionTokenAndMerchantGuid();

            if (sessionInfo == null || string.IsNullOrEmpty(sessionInfo.SessionToken) || sessionInfo.MerchantGuid == null || sessionInfo.MerchantGuid == Guid.Empty)
            {
                await _navigationService.Navigate <LoginViewModel>();
            }
            else
            {
                var verifyResponse = await _sessionAuthService.Get(sessionInfo.SessionToken);

                if (verifyResponse.Data == null || !verifyResponse.Data.Any(m => m.MerchantGuid == sessionInfo.MerchantGuid))
                {
                    await _navigationService.Navigate <LoginViewModel>();
                }
            }
        }
Пример #3
0
        private async Task SearchCustomers()
        {
            if (!string.IsNullOrEmpty(_searchTerm))
            {
                Loading = true;
                ShowNoCustomerWarning = false;
                var sessionInfo = await FormsApp.GetSessionTokenAndMerchantGuid();

                var customerResponse = await _customerService.Get(sessionInfo.MerchantGuid, sessionInfo.SessionToken, _searchTerm);

                if (customerResponse.IsSuccessful && customerResponse.Data.Customers != null)
                {
                    Customers = customerResponse.Data.Customers.Select(c => Mapper.Map <Customer.Customer>(c)).ToList();
                    if (Customers.Count == 0)
                    {
                        ShowNoCustomerWarning = true;
                    }
                }
                Loading = false;
            }
        }
Пример #4
0
        public override async void Start()
        {
            base.Start();
            Loading = true;
            var sessionInfo = await FormsApp.GetSessionTokenAndMerchantGuid();

            var response = await _merchantStateService.Get(sessionInfo.MerchantGuid, sessionInfo.SessionToken);

            if (response.IsSuccessful)
            {
                var employees       = response.Data.Employees.Select(e => Mapper.Map <Data.Employee>(e));
                var services        = response.Data.Services.Select(s => Mapper.Map <Data.Service>(s));
                var masterClasses   = response.Data.Events.Select(e => Mapper.Map <Data.MasterClass>(e));
                var masterSchedules = response.Data.Schedules.Select(s => Mapper.Map <Data.MasterSchedule>(s));
                var locations       = response.Data.Locations.Select(l => Mapper.Map <Data.Location>(l));
                FormsApp.MerchantFieldRules = response.Data.FieldRules;
                await FormsApp.Database.Employees.RemoveAll();

                await FormsApp.Database.Employees.CreateManyAsync(employees);

                await FormsApp.Database.Services.RemoveAll();

                await FormsApp.Database.Services.CreateManyAsync(services);

                await FormsApp.Database.MasterClasses.RemoveAll();

                await FormsApp.Database.MasterClasses.CreateManyAsync(masterClasses);

                await FormsApp.Database.MasterSchedules.RemoveAll();

                await FormsApp.Database.MasterSchedules.CreateManyAsync(masterSchedules);

                await FormsApp.Database.Locations.RemoveAll();

                await FormsApp.Database.Locations.CreateManyAsync(locations);
            }

            Loading = false;
        }