/// <summary> /// Get list of time off requested for employees. /// </summary> /// <param name="tenantId">Tenant Id.</param> /// <param name="jSession">jSessionID.</param> /// <param name="startDate">Start date.</param> /// <param name="endDate">End date.</param> /// <param name="employees">List of employees.</param> /// <returns>Task.</returns> public async Task <TimeOffResponse.Response> GetTimeOffRequest(string tenantId, string jSession, string startDate, string endDate, List <HyperfindResponse.ResponseHyperFindResult> employees) { string xmlTimeOffRequest = this.CreateRequest(employees, startDate, endDate); TenantMapEntity tenantMapEntity = await this.azureTableStorageHelper.ExecuteQueryUsingPointQueryAsync <TenantMapEntity>(Constants.ActivityChannelId, tenantId); var tupleResponse = await ApiHelper.Instance.SendSoapPostRequest(tenantMapEntity.EndpointUrl, ApiConstants.SoapEnvOpen, xmlTimeOffRequest, ApiConstants.SoapEnvClose, jSession); TimeOffResponse.Response timeOffResponse = this.ProcessResponse(tupleResponse.Item1); return(timeOffResponse); }
/// <summary> /// Fecth time off request details for displaying history. /// </summary> /// <param name="tenantId">Tenant Id.</param> /// <param name="jSession">JSession.</param> /// <param name="queryDateSpan">QueryDateSpan string.</param> /// <param name="personNumber">Person number who created request.</param> /// <returns>Request details response object.</returns> public async Task <TimeOffResponse.Response> GetTimeOffRequestDetails(string tenantId, string jSession, string queryDateSpan, string personNumber) { string xmlTimeOffRequest = this.CreateTORRequest(personNumber, queryDateSpan); TenantMapEntity tenantMapEntity = await this.azureTableStorageHelper.ExecuteQueryUsingPointQueryAsync <TenantMapEntity>(Constants.ActivityChannelId, tenantId); var tupleResponse = await ApiHelper.Instance.SendSoapPostRequest(tenantMapEntity.EndpointUrl, ApiConstants.SoapEnvOpen, xmlTimeOffRequest, ApiConstants.SoapEnvClose, jSession); TimeOffResponse.Response timeOffResponse = this.ProcessTORResponse(tupleResponse.Item1); return(timeOffResponse); }
/// <summary> /// Fecth time off request details for displaying history. /// </summary> /// <param name="endPointUrl">The Kronos WFC endpoint URL.</param> /// <param name="jSession">JSession.</param> /// <param name="queryDateSpan">QueryDateSpan string.</param> /// <param name="employees">Employees who created request.</param> /// <returns>Request details response object.</returns> public async Task <TimeOffResponse.Response> GetTimeOffRequestDetailsByBatchAsync( Uri endPointUrl, string jSession, string queryDateSpan, List <Models.ResponseEntities.HyperFind.ResponseHyperFindResult> employees) { if (employees is null) { throw new ArgumentNullException(nameof(employees)); } var xmlTimeOffRequest = this.FetchTimeOffRequestsByBatch(employees, queryDateSpan); var tupleResponse = await this.apiHelper.SendSoapPostRequestAsync( endPointUrl, ApiConstants.SoapEnvOpen, xmlTimeOffRequest, ApiConstants.SoapEnvClose, jSession).ConfigureAwait(false); TimeOffResponse.Response timeOffResponse = this.ProcessTimeOffResponse(tupleResponse.Item1); return(timeOffResponse); }