private void SaveAvailability(Availibility a) { spinner = UIUtils.ShowSpinner(this); DataGate.MuaSetAvailability(GlobalStorage.Settings.MuaId, a, r => { if (r.Code != ResponseCode.OK) { UIUtils.ShowServerUnavailable(this); } Device.BeginInvokeOnMainThread(() => { UIUtils.HideSpinner(this, spinner); }); }); }
private void OnRescheduleClick(object sender, EventArgs arg) { var btn = sender as Button; var id = btn.GetValue(UIUtils.TagProperty).ToString(); var jObj = (JObject)appData.SingleOrDefault(o => (string)o["Id"] == id); if (jObj == null) { return; } var order = new Order(jObj); spinner = UIUtils.ShowSpinner(this); DataGate.MuaGetAvailability(order.Mua.Id, DateTime.Today, DateTime.Today.AddMonths(6), true, result => { if (result.Code == ResponseCode.OK) { var avail = Availibility.Parse(result.Result); if (avail.DatesFrom.Count == 0) { Device.BeginInvokeOnMainThread(() => { UIUtils.HideSpinner(this, spinner); UIUtils.ShowMessage("The artist does not have free time for the next month", this); }); return; } order.IsFree = SearchHeader.IsFreeMakeoverL; order.IsUpdate = true; var ap = new AvailabilityPage(order); ap.Availibility = avail; ap.SelectedDate = avail.DatesFrom.First(); Device.BeginInvokeOnMainThread(() => { this.Navigation.PushAsync(ap); }); } else { UIUtils.ShowServerUnavailable(this); } Device.BeginInvokeOnMainThread(() => { UIUtils.HideSpinner(this, spinner); }); }); }
private void SearchButton_Clicked(object sender, System.EventArgs e) { SpinnerShowChange(true); searchHeader.filtersLayout.IsVisible = false; var sendData = searchHeader.filters.Where(f => f.IsChecked).Select(f => f.Text).ToList(); Availibility aFilter = null; LocationFilter lFilter = null; if (searchHeader.filersPage != null) { aFilter = searchHeader.filersPage.AvailibilityFilter; lFilter = searchHeader.filersPage.LocationFilter; } var callback = new Action <ResponseDataJson>((data) => { SpinnerShowChange(false); if (data.Code == ResponseCode.OK) { var sellersEl = JArray.Parse(data.Result); muaData = sellersEl.Select(s => new MuaDataItem((JObject)s)); Device.BeginInvokeOnMainThread(() => { muaList.ItemsSource = null; slider.BuildLayout(); SearchHeader_OnSortChanged(null, null); }); } else { UIUtils.ShowMessage("Nothing was found", this); } }); if (searchHeader.IsFreeMakeover) { DataGate.MuaSearchFree(sendData, lFilter, aFilter, callback); } else { DataGate.DoMUASearchJson(sendData, lFilter, aFilter, callback); } }
private void OnAvailabilityChange(int mode) { availabilityMode = mode; switch (availabilityMode) { case 1: timeLabel.Text = "Available Anytime"; AvailibilityFilter = null; break; case 2: timeLabel.Text = "Available today"; AvailibilityFilter = new Availibility() { Mode = AvailibilityMode.Dates, DatesFrom = new List <DateTime>() { DateTime.Today.Add(new TimeSpan(0, 0, 0)) }, DatesTo = new List <DateTime>() { DateTime.Today.Add(new TimeSpan(24, 0, 0)) } }; break; case 3: var ap = new AvailabilityPage() { Mode = ViewMode.SingleRange, SelectedDate = DateTime.Now, ButtonText = "Select" }; ap.OnFinishSelection += (o, s) => { AvailibilityFilter = ap.Availibility; timeLabel.Text = $"{ap.Availibility.DatesFrom[0].ToString("D", Utils.EnCulture)}\n\rFrom {ap.Availibility.DatesFrom[0].ToString("HH:mm")} To {ap.Availibility.DatesTo[0].ToString("HH:mm")}"; }; Navigation.PushAsync(ap); break; } }
private void ContinueOrder(object sender, EventArgs e) { spinner = UIUtils.ShowSpinner(this); var id = mua.Id; DataGate.MuaGetAvailability(id, DateTime.Today, DateTime.Today.AddMonths(6), true, result => { if (result.Code == ResponseCode.OK) { var avail = Availibility.Parse(result.Result); if (avail.DatesFrom.Count == 0) { Device.BeginInvokeOnMainThread(() => { UIUtils.HideSpinner(this, spinner); UIUtils.ShowMessage("The artist does not have free time for the next month", this); }); return; } order.IsFree = SearchHeader.IsFreeMakeoverL; var ap = new AvailabilityPage(order); ap.Availibility = avail; ap.SelectedDate = avail.DatesFrom.First(); Device.BeginInvokeOnMainThread(() => { this.Navigation.PushAsync(ap); }); } else { UIUtils.ShowServerUnavailable(this); } Device.BeginInvokeOnMainThread(() => { UIUtils.HideSpinner(this, spinner); }); }); }
private void OnAvailablilitySelect(View v) { Device.BeginInvokeOnMainThread(() => { spinner = UIUtils.ShowSpinner(this); }); DataGate.MuaGetAvailability(GlobalStorage.Settings.MuaId, DateTime.Today.AddMonths(-1), DateTime.Today.AddMonths(5), false, result => { if (result.Code == ResponseCode.OK) { var avail = Availibility.Parse(result.Result); var ap = new AvailabilityPage() { Mode = ViewMode.MultiRange, SelectedDate = DateTime.Now, Availibility = avail, ButtonText = "Save" }; ap.OnFinishSelection += (o, s) => { SaveAvailability(ap.Availibility); }; Device.BeginInvokeOnMainThread(() => { Navigation.PushAsync(ap); }); } else { UIUtils.ShowServerUnavailable(this); } Device.BeginInvokeOnMainThread(() => { UIUtils.HideSpinner(this, spinner); }); }); }