Пример #1
0
 private async void Handle_Clicked(object sender, EventArgs e)
 {
     using (var loader = new LottieLoader(Navigation, "party_penguin.json"))
     {
         await Task.Delay(7000);
     }
 }
Пример #2
0
        public async Task <OutputDto> Upload(LocalIncident report)
        {
            OutputDto output         = null;
            var       uploadedImages = await UploadPictures(report);

            if (!report.IsCreated)
            {
                var incident = CreateData(report, uploadedImages);
                await Task.Delay(300);

                using (await MaterialDialog.Instance.LoadingDialogAsync(message: "UploadingIncident".Translate()))
                {
                    await WebRequestExecuter.Execute(async() =>
                    {
                        output = await _incidentsAppService.Create(incident);
                    }, () => Task.CompletedTask, exception =>
                    {
                        UserDialogs.Instance.Toast("IncidentUploadError".Translate());
                        return(Task.CompletedTask);
                    });
                }
            }
            else
            {
                var incident = EditData(report, uploadedImages);

                await WebRequestExecuter.Execute(async() =>
                {
                    using (await MaterialDialog.Instance.LoadingDialogAsync(message: "UploadingIncident".Translate()))
                    {
                        output = await _incidentsAppService.Update(incident);
                    }
                }, () => Task.CompletedTask);
            }

            if (output != null && output.Success)
            {
                try
                {
                    report.IsUploaded = true;
                    report.IsCreated  = true;
                    report.IncidentId = output.Id;
                    DbService.UpdateItem(report);
                    Analytics.TrackEvent("IncidentUploaded");
                    var formattedString = new FormattedString();

                    formattedString.Spans.Add(new Span
                    {
                        Text     = "UploadMessage1".Translate(),
                        FontSize = 20
                    });

                    formattedString.Spans.Add(new Span
                    {
                        Text = Environment.NewLine
                    });
                    formattedString.Spans.Add(new Span
                    {
                        Text     = "UploadMessage2".Translate(),
                        FontSize = 20,
                    });
                    formattedString.Spans.Add(new Span
                    {
                        Text = Environment.NewLine
                    });

                    formattedString.Spans.Add(new Span
                    {
                        Text     = "UploadMessage3".Translate(),
                        FontSize = 20
                    });


                    var popup = new LottieLoader(formattedString, "success.json", false);
                    //using (new LottieLoader(formattedString, "success.json"))
                    //{
                    //    await Task.Delay(5000);
                    //}
                    //UserDialogs.Instance.Toast("UploadedSuccessfully".Translate());
                }
                catch (Exception e)
                {
                    Crashes.TrackError(e);
                }
            }
            else if (output != null && output.Message == "AlreadyCreated")
            {
                try
                {
                    report.IsUploaded = true;
                    report.IsCreated  = true;
                    report.IncidentId = output.Id;
                    DbService.UpdateItem(report);
                    UserDialogs.Instance.Toast("AlreadyCreated".Translate());
                }
                catch (Exception e)
                {
                    Crashes.TrackError(e);
                }
            }
            else
            {
                UserDialogs.Instance.Toast("IncidentUploadError".Translate());
            }

            return(output);
        }