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(); }
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); }