Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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;
            }
        }