public SegmentResult UpdateSegment(int segmentId, SegmentFilter filter) { var url = $"{this._baseUrl}/groups/updateSegment/"; var request = new SegmentUpdateRequest { ApiKey = this._apiKey, GroupId = filter.GroupId, Id = segmentId, MatchType = filter.MatchType, Rules = new List <SegmentRule>() }; request.Rules = GetRules(filter); var xmlRequest = this._parser.Serialize(request); var httpResponse = this._httpClient.Request(url, xmlRequest); if (httpResponse.Status != HttpStatus.Successful) { return(new SegmentResult { Status = Status.Error, Message = "Http error" }); } var result = this._parser.Deserialize <SegmentResult>(httpResponse.Result); return(result); }
public async Task <string> QueryWfmForSegments(DateTime start, DateTime end) { HttpResponseMessage response = null; string targetUrl = string.Empty; string userXML = string.Empty; SegmentFilter filter = new SegmentFilter(userOptions.employeeSK, start, end); MediaTypeFormatter formatter = new SegmentFilterFormatter(); targetUrl = client.BaseAddress.ToString() + "/RequestScheduleView.ewfm"; Log.WriteEntry("HTTP POST to " + targetUrl); Globals.Ribbons.CalendarIntegrationRibbon.syncBackgroundWorker.ReportProgress(40); try { //client.CancelPendingRequests(); //HttpContent hc; response = await client.PostAsync(targetUrl, filter, formatter); } catch (System.Exception exc) { Log.WriteEntry("Exception while querying WFM for employee schedule.\r\n" + exc.ToString()); return(string.Empty); } if (!response.IsSuccessStatusCode) { Log.WriteEntry("Failed to query WFM for employee schedule.\r\n" + response.ToString()); return(string.Empty); } else { //t.Wait(); var scheduleXML = await response.Content.ReadAsStringAsync(); Globals.Ribbons.CalendarIntegrationRibbon.syncBackgroundWorker.ReportProgress(50); Log.WriteEntry(response.ToString() + "\r\n" + scheduleXML); return(scheduleXML); } }
private List <SegmentRule> GetRules(SegmentFilter filter) { var result = new List <SegmentRule>(); if (filter.DateFilters != null) { foreach (var dateFilter in filter.DateFilters) { SegmentField field; Enum.TryParse(dateFilter.FieldType.ToString(), out field); SegmentModifier modifier; Enum.TryParse(dateFilter.Modifier.ToString(), out modifier); result.Add(new SegmentRule { Field = field, Modifier = modifier, Value = dateFilter.Value }); } } if (filter.NumberTextFilters != null) { foreach (var numberTextFilter in filter.NumberTextFilters) { SegmentField field; Enum.TryParse(numberTextFilter.FieldType.ToString(), out field); SegmentModifier modifier; Enum.TryParse(numberTextFilter.Modifier.ToString(), out modifier); result.Add(new SegmentRule { Field = field, Modifier = modifier, Value = numberTextFilter.Value }); } } return(result); }
public void Init() { if (UserLogged.RoleId == 0) // owner { SegmentFilter.ItemsSource = new List <string>() { Language.moi, Language.cam_ket, Language.cho_duyet, Language.gio_chung }; SegmentFilter.SetActive(0); SegmentFilter.IsVisible = true; MoiView.Content = new FilterCompanyPostListView(false, 1); MoiView.IsVisible = true; StackButton.IsVisible = true; } else // nhan vien. { GioiChungView.Content = new FilterCompanyPostListView(null, 2); // bang 2 la gio chung. GioiChungView.IsVisible = true; } loadingPopup.IsVisible = false; }
private void SegmentFilter_OnSelectedIndexChanged(object sender, EventArgs e) { var index = SegmentFilter.GetCurrentIndex(); MoiView.IsVisible = false; CamKetView.IsVisible = false; ChoDuyetView.IsVisible = false; GioiChungView.IsVisible = false; if (index == 0) { MoiView.IsVisible = true; } else if (index == 1) { if (CamKetView.Content == null) { CamKetView.Content = new FilterCompanyPostListView(true, 1); } CamKetView.IsVisible = true; } else if (index == 2) { if (ChoDuyetView.Content == null) { ChoDuyetView.Content = new FilterCompanyPostListView(null, 0); // 0 la chua duyet } ChoDuyetView.IsVisible = true; } else if (index == 3) { if (GioiChungView.Content == null) { GioiChungView.Content = new FilterCompanyPostListView(null, 2); // bang 2 la gio chung. } GioiChungView.IsVisible = true; } }