Пример #1
0
        protected async override void OnAppearing()
        {
            base.OnAppearing();
            var visitstate = authsetting.ReadVisitId();

            if (visitstate.Count > 0)
            {
                VisitStatus status = await viewModel.LoadOrderState(visitstate[VISIT_ID_KEY]);

                int visit_int = status.Status;

                if (0 < visit_int & visit_int <= 5)
                {
                    SetQRCode(true, true);
                }
                if (visit_int >= 6 & visit_int < 10)
                {
                    SetWorksList(visitstate[VISIT_ID_KEY]);
                }
                if (visit_int >= 10 & visit_int < 12)
                {
                    // сделано так, что если не получен пуш с кодом, то удалять заезд и начинать с начала ибо пока что более неоткуда брать этот код
                    if (visitstate.ContainsKey(QR_KEY))
                    {
                        SetWorksList(visitstate[VISIT_ID_KEY]);
                        ShowClosedQRCode(visitstate[QR_KEY]);
                    }
                    else
                    {
                        authsetting.RemoveVisitId(visit_int.ToString());
                        SetQRCode(true, true);
                    }
                }
                if (visit_int == 12 || visit_int == 13)
                {
                    authsetting.RemoveVisitId(visit_int.ToString());
                    SetQRCode(true, true);
                }
            }
            else
            {
                SetQRCode(true, true);
            }
            MessagingCenter.Subscribe <PushService, string>(this, PushService.STATUS_6, (obj, visitId) => {
                SetWorksList(visitId);
            });
            MessagingCenter.Subscribe <PushService, string>(this, PushService.STATUS_10, (obj, qr) => {
                ShowClosedQRCode(qr);
            });
            MessagingCenter.Subscribe <PushService, string>(this, PushService.STATUS_12, (obj, visitId) => {
                SetQRCode(true, true);
            });
            MessagingCenter.Subscribe <PushService, string>(this, PushService.STATUS_13, (obj, visitId) => {
                SetQRCode(true, false);
            });
        }
Пример #2
0
        public void OnDataPushReceived(IDictionary <string, string> data)
        {
            if (data.ContainsKey(VISIT_ID_KEY) && data.ContainsKey(STATUS_KEY))
            {
                Dictionary <string, string> _data = new Dictionary <string, string>(data);
                authsetting.AddOrUpdateVisitId(_data);

                int.TryParse(data[STATUS_KEY], out int status);
                if (status == 6)
                {
                    MessagingCenter.Send(this, data[STATUS_KEY], data[VISIT_ID_KEY]);
                }
                if (status == 10)
                {
                    MessagingCenter.Send(this, data[STATUS_KEY], data[QR_KEY]);
                    System.Diagnostics.Debug.WriteLine(data[QR_KEY]);
                }
                if (status == 12)
                {
                    MessagingCenter.Send(this, data[STATUS_KEY], data[VISIT_ID_KEY]);
                }
                if (status == 13)
                {
                    authsetting.RemoveVisitId(data[VISIT_ID_KEY]);
                    MessagingCenter.Send(this, data[STATUS_KEY], data[VISIT_ID_KEY]);
                }
            }
        }