internal async Task <bool> CreateCourseEnrollmentAsync(string accountFromHeader, IEnumerable <CourseEnrollment> courseEnrollments) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; var cEnrollments = courseEnrollments; var genericServiceClientHelper = new GenericServiceClientHelper <CourseEnrollments_ServiceClient, CourseEnrollments_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); var navCourseEnrollments = new CourseEnrollments { CourseEnrollment = courseEnrollments.ToArray() }; CourseEnrollmentsRequest request = new CourseEnrollmentsRequest(navCourseEnrollments); var response = service.CourseEnrollmentsAsync(request); await service.CloseAsync(); return(true); } catch (Exception exception) { throw new Exception($"Error in CreateCourseEnrollment(): {exception.Message}"); } }
/* #TAG:CoreDocs */ public async Task <IEnumerable <CourseHeader> > GetCourseHeadersMDAsync(string accountFromHeader, CourseHeader_Filter[] filter, string bookmarkKey) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; #region usingGenerics //Client must gå through GenericServiceHelper.GetClient() to get credentials and environment ApimUrl. To Test. var genericServiceClientHelper = new GenericServiceClientHelper <CourseHeader_ServiceClient, CourseHeader_Service>(Credentials, AppSettings); //Generic non static Class var service = genericServiceClientHelper.GetServiceClient(); #endregion const int fetchSize = 100; var response = await service.ReadMultipleAsync(filter, bookmarkKey, fetchSize); var results = response.ReadMultiple_Result; BookMark = (results.Count() >= fetchSize) ? results.Last().Key : string.Empty; await service.CloseAsync(); return(results); } catch (Exception exception) { throw new Exception($"Error in GetCourseHeaders(): {exception.Message}"); } }
//public async Task<IEnumerable<TN_CourseParticipant>> GetTN_CourseParticipantsAsync(string accountFromHeader, int size = 0) //{ // return await GetTN_CourseParticipantByIdAsync(accountFromHeader, ""); //} /// <summary> /// Get TN_CourseParticipants with details from Navision, using TN_CourseParticipant_Filter. /// </summary> /// <param name="filter">An instance of SalaryTeacherSpec_Filter.</param> /// <param name="size">Maximum returned records. 0 returns all records. [Optional]</param> /// <returns></returns> public async Task <IEnumerable <TN_CourseParticipant> > GetTN_CourseParticipantsAsync(string accountFromHeader, TN_CourseParticipant_Filter[] filter, int size = 0) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; //var service = ServiceClientHelper.CourseHeaderServiceClient(accountKey, subscriptionKey, appSettings);//Original #region usingGenerics //Client must gå through GenericServiceHelper.GetClient() to get credentials and environment ApimUrl. To Test. var genericServiceClientHelper = new GenericServiceClientHelper <TN_CourseParticipant_ServiceClient, TN_CourseParticipant_Service>(Credentials, AppSettings); //Generic non static Class var service = genericServiceClientHelper.GetServiceClient(); #endregion var response = await service.ReadMultipleAsync(filter, "", size); await service.CloseAsync(); return(response.ReadMultiple_Result.ToList()); } catch (Exception exception) { throw new Exception($"Error in GetTN_CourseParticipant(): {exception.Message}"); } }
internal async Task <ReservationResult> ReserveCourseEnrollmentAsync(string accountFromHeader, string portalOrderID, string courseHeaderID, int portalQuantity) { try { UseAccountFromHeader(accountFromHeader); var result = new ReservationResult() { PortalOrderID = portalOrderID, CourseHeaderID = courseHeaderID, PortalQuantity = portalQuantity }; string backendReservationID = string.Empty; DateTime reservationTimeout = DateTime.MinValue; //participantID = participantID ?? string.Empty; var genericServiceClientHelper = new GenericServiceClientHelper <WebshopBasketManagement_ServiceClient, WebshopBasketManagement_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); var response = await service.ReserveCourseEnrollmentAsync(portalOrderID, courseHeaderID, string.Empty, backendReservationID, reservationTimeout, portalQuantity); result.ReturnResult = response.Body.return_value; result.BackendReservationID = response.Body.backendReservationID; result.ReservationTimeout = response.Body.reservationTimeout; await service.CloseAsync(); return(result); } catch (Exception exception) { throw new Exception($"Error in ReserveCourseEnrollment(): {exception.Message}"); } }
internal async Task <string> GetTeacherReportAsync(string accountFromHeader, string key) { if (string.IsNullOrEmpty(key)) { return(null); } try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; var genericServiceClientHelper = new GenericServiceClientHelper <CourseTeacherReport_ServiceClient, CourseTeacherReport_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); var request = new GenTeacherReportRequest(key, 1, string.Empty); var response = await service.GenTeacherReportAsync(request); await service.CloseAsync(); return(response.bin64String); } catch (Exception exception) { throw new Exception($"Error in GetTeacherReportAsync(): {exception.Message}"); } }
public async Task <TestResult> TestCourseHeaderAsync(string accountFromHeader, int fetchSize, int size) { var serviceName = "CourseHeader"; List <CourseHeader> list = new List <CourseHeader>(); try { var filter = new CourseHeader_Filter() { Field = CourseHeader_Fields.No, Criteria = "" }; var filters = new CourseHeader_Filter[] { filter }; Credentials.AccountKey = accountFromHeader; #region usingGenerics //Client must gå through GenericServiceHelper.GetClient() to get credentials and environment ApimUrl. To Test. var genericServiceClientHelper = new GenericServiceClientHelper <CourseHeader_ServiceClient, CourseHeader_Service>(Credentials, AppSettings); //Generic non static Class var service = genericServiceClientHelper.GetServiceClient(); #endregion string bookmarkKey = null; var watch = new Stopwatch(); watch.Start(); var response = await service.ReadMultipleAsync(filters, bookmarkKey, fetchSize); var results = response.ReadMultiple_Result; var numberOfRequests = 0; while (results.Length > 0) { bookmarkKey = results.Last().Key; list.AddRange(results); numberOfRequests++; if (results.Length >= fetchSize && fetchSize != 0 && list.Count < size) { response = await service.ReadMultipleAsync(filters, bookmarkKey, fetchSize); results = response.ReadMultiple_Result; } else { break; } } await service.CloseAsync(); watch.Stop(); TestResult testResult = CreateTestResults(accountFromHeader, fetchSize, serviceName, list.Count, watch, numberOfRequests); return(testResult); } catch (Exception exception) { throw new Exception($"Error in Test{serviceName}Async(): {exception.Message}"); } }
public async Task <IEnumerable <CourseHeader> > GetCourseHeadersAsync(string accountFromHeader, CourseHeader_Filter[] filter, int size = 0) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; //var service = ServiceClientHelper.CourseHeaderServiceClient(accountKey, subscriptionKey, appSettings);//Original #region usingGenerics //Client must gå through GenericServiceHelper.GetClient() to get credentials and environment ApimUrl. To Test. var genericServiceClientHelper = new GenericServiceClientHelper <CourseHeader_ServiceClient, CourseHeader_Service>(Credentials, AppSettings); //Generic non static Class var service = genericServiceClientHelper.GetServiceClient(); #endregion const int fetchSize = 1000; string bookmarkKey = null; List <CourseHeader> list = new List <CourseHeader>(); var response = await service.ReadMultipleAsync(filter, bookmarkKey, fetchSize); var results = response.ReadMultiple_Result; while (results.Length > 0) { bookmarkKey = results.Last().Key; list.AddRange(results); if (results.Length >= fetchSize && fetchSize != 0) { response = await service.ReadMultipleAsync(filter, bookmarkKey, fetchSize); results = response.ReadMultiple_Result; } else { break; } } await service.CloseAsync(); CourseDepartmentsCodes = list.AsParallel().Select(c => c.CourseDepartment).Distinct();//Effect?? return(list); } catch (Exception exception) { throw new Exception($"Error in GetCourseHeaders(): {exception.Message}"); } }
internal async Task <bool> RemoveReservationAsync(string accountFromHeader, string portalOrderID, string backendReservationID) { try { UseAccountFromHeader(accountFromHeader); var genericServiceClientHelper = new GenericServiceClientHelper <WebshopBasketManagement_ServiceClient, WebshopBasketManagement_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); var result = await service.RemoveReservationAsync(portalOrderID, backendReservationID); await service.CloseAsync(); return(result.return_value); } catch (Exception exception) { throw new Exception($"Error in RemoveReservation(): {exception.Message}"); } }
internal async Task <IEnumerable <CourseCategory> > GetCourseCategoryAsync(string accountFromHeader, CourseCategory_Filter[] filter, int size) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; var genericServiceClientHelper = new GenericServiceClientHelper <CourseCategory_ServiceClient, CourseCategory_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); var response = await service.ReadMultipleAsync(filter, "", size); await service.CloseAsync(); return(response.ReadMultiple_Result.ToList()); } catch (Exception exception) { throw new Exception($"Error in GetCourseCategoryAsync(): {exception.Message}"); } }
internal async Task <TN_TeacherUpdate> InternalUpdateTeacherAsync(string accountFromHeader, TN_TeacherUpdate input) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; var genericServiceClientHelper = new GenericServiceClientHelper <TN_TeacherUpdate_ServiceClient, TN_TeacherUpdate_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); var updateRequest = new UpdateRequest(input); var response = await service.UpdateAsync(updateRequest); await service.CloseAsync(); return(response.TN_TeacherUpdate); } catch (Exception exception) { throw new Exception($"Error in GetTN_TeacherUpdatesAsync(): {exception.Message}"); } }
internal async Task <CompaniesResponse> GetIntCompaniesAsync(string accountFromHeader) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; var genericServiceClientHelper = new GenericServiceClientHelper <SystemService_ServiceClient, SystemService_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); var response = await service.CompaniesAsync(); await service.CloseAsync(); return(response); } catch (Exception exception) { throw new Exception($"Error in GetCompagniesAsync(): {exception.Message}"); } }
internal async Task <SalarySettleResponse> CreateAccountTransactionAsync(string accountFromHeader, SalarySettleRequest request) { try { //Workaround: AccountKey in Credentials must be provided as a request header. Credentials.AccountKey = accountFromHeader; var genericServiceClientHelper = new GenericServiceClientHelper <SalarySettlement_ServiceClient, SalarySettlement_Service>(Credentials, AppSettings); var service = genericServiceClientHelper.GetServiceClient(); service.Endpoint.Binding.SendTimeout = new TimeSpan(0, 10, 0); var response = await service.SalarySettleAsync(request); await service.CloseAsync(); return(response); } catch (Exception exception) { throw new Exception($"Error in CreateAccountTransaction(): {exception.Message}"); } }
public static async Task <IEnumerable <courseLocationList> > GetCourseLocationList(AppSettings appSettings, courseLocationList_Filter[] filter, string subscriptionKey, string accountKey, int size = 0) { try { //var service = ServiceClientHelper.CourseLocationListServiceClient(accountKey, subscriptionKey, appSettings);//Original #region usingGenerics //Client must gå through GenericServiceHelper.GetClient() to get credentials and environment ApimUrl. To Test. var genericServiceClientHelper = new GenericServiceClientHelper <CourseLocationList_ServiceClient, CourseLocationList_Service>(); //Generic non static Class var service = genericServiceClientHelper.GetServiceClient(accountKey, subscriptionKey, appSettings); #endregion var response = service.ReadMultipleAsync(filter, "", size).Result; await service.CloseAsync(); return(response.ReadMultiple_Result.ToList()); } catch (Exception exception) { throw new Exception("Fejl i async Task", exception); } }