public async Task Execute() { Console.WriteLine("Executing rooms example"); using var schoolAdministrationClient = new KMDStudicaSchoolAdministration(new TokenCredentials(tokenProvider)); schoolAdministrationClient.BaseUri = string.IsNullOrEmpty(configuration.SchoolAdministrationBaseUri) ? new Uri("https://gateway.kmdlogic.io/studica/school-administration/v1") : new Uri(configuration.SchoolAdministrationBaseUri); var result = await schoolAdministrationClient.RoomsExternal.GetWithHttpMessagesAsync( schoolCode: configuration.SchoolCode, pageNumber: 1, pageSize: 1000, inlineCount: true, customHeaders: new Dictionary<string, List<string>> { { "Logic-Api-Key", new List<string> { configuration.StudicaExternalApiKey } } }); Console.WriteLine($"Got {result.Body.TotalItems} rooms from API"); ConsoleTable .From(result.Body.Items) .Write(); }
public async Task ExecuteBulk() { Console.WriteLine("Executing bulk departments example"); using var schoolAdministrationClient = new KMDStudicaSchoolAdministration(new TokenCredentials(tokenProvider)); schoolAdministrationClient.BaseUri = string.IsNullOrEmpty(configuration.SchoolAdministrationBaseUri) ? new Uri("https://gateway.kmdlogic.io/studica/school-administration/v1") : new Uri(configuration.SchoolAdministrationBaseUri); var result = await schoolAdministrationClient.BulkDepartmentsExternal.PostWithHttpMessagesAsync( departmentIds : new[] { Guid.NewGuid() }, schoolCode : configuration.SchoolCode, customHeaders : new Dictionary <string, List <string> > { { "Logic-Api-Key", new List <string> { configuration.StudicaExternalApiKey } } }); Console.WriteLine($"Got {result.Body} departments from API"); ConsoleTable .From(result.Body) .Write(); }
public async Task ExecuteActiveEmployees() { Console.WriteLine("Executing active employees example"); using var schoolAdministrationClient = new KMDStudicaSchoolAdministration(new TokenCredentials(tokenProvider)); schoolAdministrationClient.BaseUri = string.IsNullOrEmpty(configuration.SchoolAdministrationBaseUri) ? new Uri("https://gateway.kmdlogic.io/studica/school-administration/v1") : new Uri(configuration.SchoolAdministrationBaseUri); bool hasMorePages; int pageNumber = 0; int pageSize = 100; var employees = new List <EmployeeExternalResponse>(); do { var result = await schoolAdministrationClient.ActiveEmployeesExternal.GetWithHttpMessagesAsync( employeesActiveOnOrAfterDate : DateTime.Today, schoolCode : configuration.SchoolCode, pageNumber : ++pageNumber, pageSize : pageSize, inlineCount : true, customHeaders : new Dictionary <string, List <string> > { { "Logic-Api-Key", new List <string> { configuration.StudicaExternalApiKey } } }); hasMorePages = pageNumber * pageSize < result.Body.TotalItems; employees.AddRange(result.Body.Items); } while (hasMorePages); Console.WriteLine($"Got {employees.Count} employees from API"); ConsoleTable .From(employees) .Write(); }
public async Task ExecuteDetailed() { Console.WriteLine("Executing detailed school hours plans example"); using var schoolAdministrationClient = new KMDStudicaSchoolAdministration(new TokenCredentials(tokenProvider)); schoolAdministrationClient.BaseUri = string.IsNullOrEmpty(configuration.SchoolAdministrationBaseUri) ? new Uri("https://gateway.kmdlogic.io/studica/school-administration/v1") : new Uri(configuration.SchoolAdministrationBaseUri); try { var result = await schoolAdministrationClient.SchoolHoursPlanDetailsExternal.GetWithHttpMessagesAsync( schoolCode : configuration.SchoolCode, id : Guid.NewGuid(), customHeaders : new Dictionary <string, List <string> > { { "Logic-Api-Key", new List <string> { configuration.StudicaExternalApiKey } } }); Console.WriteLine($"Got school hour plan from API: {result.Body?.Name}"); if (result.Body?.SchoolHours.Count() > 0) { ConsoleTable.From(result.Body.SchoolHours).Write(); } } catch (HttpOperationException e) { // Sample error handler. If this service is called with a not-existing plan id, // the service will return HTTP 404 (NotFound) Console.WriteLine(e); } }