Exemple #1
0
        public override void InitializeDetailFormControls()
        {
            StaffParameters pmtStaff = new StaffParameters();

            this.frmServicesManagement.sccDetStaff.ControlType   = SamsaraEntityChooserControlTypeEnum.Multiple;
            this.frmServicesManagement.sccDetStaff.DisplayMember = "Fullname";
            this.frmServicesManagement.sccDetStaff.Parameters    = pmtStaff;
            this.frmServicesManagement.sccDetStaff.Refresh();
        }
Exemple #2
0
        public List <Staff> getStaffs(StaffParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            List <Staff> cases = new List <Staff>();
            bool         f = !parameters.variables["limit"]; //Флаг, который отвечает за получение всех или не всех обращений с запроса
            int          limit = 0, page = 1;                //В Omnidesk счет начинается с 0

            do
            {
                RestRequest request = new RestRequest("staff.json", Method.GET);
                request.AddHeader("Content-Type", "application/json");

                if (!f)
                {
                    if (parameters.variables["page"])
                    {
                        request.AddParameter("page", parameters.page);
                    }
                    if (parameters.variables["limit"])
                    {
                        request.AddParameter("limit", parameters.limit);
                    }
                }
                else
                {
                    request.AddParameter("page", page);
                }

                var response = Connection.Execute(request);
                var content  = response.Content;

                JObject obj = JObject.Parse(content);
                if (f)
                {
                    int.TryParse(obj.GetValue("total_count").ToString(), out limit);
                }
                foreach (JProperty t in obj.Properties())
                {
                    if (t.Name == "total_count")
                    {
                        continue;
                    }
                    var c = JsonConvert.DeserializeObject <Staff>(t.Value["staff"].ToString());
                    cases.Add(c);
                }
            } while (page++ < limit / 100 + 1);

            return(cases);
        }