public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { output.TagName = "div"; Fragment fragment = await _fragmentResolver.ResolveAsync(Name); var fragmentOptions = _fragmentOptionsProvider.GetFragmentOptions(fragment); var fragmentContext = new FragmentContext { Fragment = fragment, OutputStream = ViewContext.HttpContext.Response.Body, Model = Model, FragmentOptions = fragmentOptions }; _fragmentContextProvider.AddContext(fragmentContext); _fragmentLogger.Info($"Executing fragment {Name}. Model : {JsonConvert.SerializeObject(fragmentContext.Model)}"); var placeHolderViewName = fragmentOptions?.PlaceHolderViewName; if (fragmentOptions?.IsSync == true || fragmentOptions?.IsSyncOnAjax == true && IsAjaxRequest(ViewContext.HttpContext.Request)) { output.SuppressOutput(); throw new NotImplementedException("Sync fragments are not implemented yet."); } else { fragmentContext.PlaceHolderId = Guid.NewGuid().ToString(); var placeHolderHtml = string.IsNullOrEmpty(placeHolderViewName) ? await fragment.GetPlaceHolderHtmlAsync() : await _viewRenderer.RenderAsync(placeHolderViewName, null); if (string.IsNullOrEmpty(placeHolderHtml) == false) { output.Content.SetHtmlContent(placeHolderHtml); } output.Attributes.SetAttribute(Constants.HtmlIdAttribute, fragmentContext.PlaceHolderId); output.TagMode = TagMode.StartTagAndEndTag; } }
private async void _btnNext_Click(object sender, EventArgs e) { switch (Arguments.GetInt(ArgSectionNumber)) { case 1: if (_imageValidator) { FragmentContext._viewPager.CurrentItem = Arguments.GetInt(ArgSectionNumber); } else { Toast.MakeText(FragmentContext, "Alegeti o imagine!", ToastLength.Short) .Show(); } break; case 2: if (!string.IsNullOrEmpty(FragmentContext._firstSetupModel.Gender) && !string.IsNullOrEmpty(FragmentContext._firstSetupModel.DateOfBirth)) { FragmentContext._viewPager.CurrentItem = Arguments.GetInt(ArgSectionNumber); } else { Toast.MakeText(FragmentContext, "Va rugam sa completati formularul", ToastLength.Short) .Show(); } break; case 3: FragmentContext._progressBarDialog.Show(); FragmentContext._firstSetupModel.ImageName = Utils.GetDefaults("Email"); foreach (SearchListModel el in _selectedDiseases) { if (!el.IsSelected) { continue; } FragmentContext._firstSetupModel.Disease.Add(el.Id); listOfPersonalDiseases.Add(new PersonalDisease(el.Id, el.Title)); } await Task.Run(async() => { string jsonData = JsonConvert.SerializeObject(FragmentContext._firstSetupModel); Log.Error("data to send", jsonData); string response = await WebServices.WebServices.Post( Constants.PublicServerAddress + "/api/firstSetup", new JSONObject(jsonData), Utils.GetDefaults("Token")); if (response != null) { Snackbar snack; var responseJson = new JSONObject(response); switch (responseJson.GetInt("status")) { case 0: snack = Snackbar.Make(FragmentContext._mainContent, "Wrong Data", Snackbar.LengthLong); snack.Show(); break; case 1: snack = Snackbar.Make(FragmentContext._mainContent, "Internal Server Error", Snackbar.LengthLong); snack.Show(); break; case 2: Utils.SetDefaults("Logins", true.ToString()); Utils.SetDefaults("Avatar", $"{Constants.PublicServerAddress}/{Utils.GetDefaults("Email")}.{FragmentContext._firstSetupModel.ImageExtension}"); await SaveProfileData(); createSimpleChannelForServices(); createNonstopChannelForServices(); if (int.Parse(Utils.GetDefaults("UserType")) == 3) { var _medicationServerServiceIntent = new Intent(Application.Context, typeof(MedicationServerService)); Activity.StartService(_medicationServerServiceIntent); } FragmentContext.StartActivity(typeof(MainActivity)); FragmentContext.Finish(); break; } } else { var snack = Snackbar.Make(FragmentContext._mainContent, "Unable to reach the server!", Snackbar.LengthLong); snack.Show(); } }); FragmentContext._progressBarDialog.Dismiss(); break; } }