public IEnumerable <DataEntity> ExecuteQuery(Query query) { IEnumerable <DataEntity> results = null; string entityName = query.RootEntity.ObjectDefinitionFullName; DayForceFilter filter = null; if (query.Constraints != null) { filter = ScribeUtils.CreateFilter(query); } switch (entityName) { case ConstantUtils.Employee_Entity: List <Employees> employeeEntity = new List <Employees>(); employeeEntity = _dayforceClient.GetEmployees(_connectionInfo, filter); results = ScribeUtils.ToDataEntities <Employees>(employeeEntity); break; case ConstantUtils.EmployeeDetails_Entity: List <EmployeeDetails> employeeDetailsEntity = new List <EmployeeDetails>(); employeeDetailsEntity = _dayforceClient.GetEmployeeDetails(_connectionInfo, filter); results = ScribeUtils.ToDataEntities <EmployeeDetails>(employeeDetailsEntity); break; default: break; } return(results); }
/// <summary> /// Provide all list of Employee Xrefcodes /// </summary> /// <param name="_connectionInfo"></param> /// <param name="filter"></param> /// <returns></returns> public List <Employees> GetEmployees(IDictionary <string, string> _connectionInfo, DayForceFilter filter) { EmployeeResponse employeeResponsedata = null; List <Employees> employees = new List <Employees>(); if (filter == null) { string completeUrl = String.Concat(BaseUrl, GetEmployeesUri); HttpWebResponse response = service.HttpRequest(_connectionInfo, completeUrl, HttpMethods.GET.ToString(), null); if (response != null && response.StatusCode == HttpStatusCode.OK) { var encoding = ASCIIEncoding.ASCII; using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding)) { string responseText = reader.ReadToEnd(); employeeResponsedata = JsonConvert.DeserializeObject <EmployeeResponse>(responseText); } employees = EmployeeHierarchicalToFlatConverter.employeeHierarchicalToFlatConverter(employeeResponsedata); } } if (filter != null) { String completeUrl = String.Concat(BaseUrl, GetEmployeesUri); for (int i = 0; i < filter.name.Count; i++) { Name = filter.name[i]; Value = filter.value[i]; if (i == 0) { filterUrl = "?"; } if (i == (filter.name.Count - 1)) { if (filter.name[i] == "Employees.contextDate" || filter.name[i] == "Employees.filterHireStartDate" || filter.name[i] == "filterHireEndDate" || filter.name[i] == " filterTerminationStartDate" || filter.name[i] == "filterTerminationEndDate" || filter.name[i] == " filterUpdatedStartDate" || filter.name[i] == "filterUpdatedEndDate") { string line = filter.value[i]; DateTime dt = new DateTime(); dt = Convert.ToDateTime(line); var date = dt.ToString("yyyy-MM-dd" + "T" + "HH:mm:ss"); Value = date; filterUrl += Name + " = " + Value; } else { filterUrl += Name + " = " + Value; } } else { if (filter.name[i] == "Employees.contextDate" || filter.name[i] == "Employees.filterHireStartDate" || filter.name[i] == "filterHireEndDate" || filter.name[i] == " filterTerminationStartDate" || filter.name[i] == "filterTerminationEndDate" || filter.name[i] == " filterUpdatedStartDate" || filter.name[i] == "filterUpdatedEndDate") { string line = filter.value[i]; DateTime dt = new DateTime(); dt = Convert.ToDateTime(line); var date = dt.ToString("yyyy-MM-dd" + "T" + "HH:mm:ss"); Value = date; filterUrl += Name + "=" + Value + "&"; } else { filterUrl += Name + "=" + Value + "&"; } } } filterUrl = String.Concat(completeUrl, filterUrl); filterUrl = filterUrl.Replace("Employees.", " "); filterUrl = filterUrl.Replace(" ", ""); completeUrl = filterUrl; HttpWebResponse response = service.HttpRequest(_connectionInfo, completeUrl, HttpMethods.GET.ToString(), null); if (response != null && response.StatusCode == HttpStatusCode.OK) { var encoding = ASCIIEncoding.ASCII; using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding)) { string responseText = reader.ReadToEnd(); employeeResponsedata = JsonConvert.DeserializeObject <EmployeeResponse>(responseText); } employees = EmployeeHierarchicalToFlatConverter.employeeHierarchicalToFlatConverter(employeeResponsedata); } } return(employees); }
/// <summary> /// Use to Get Employee Details on the basis of XRefcode /// </summary> /// <param name="_connectionInfo"></param> /// <param name="filter"></param> /// <returns></returns> public List <EmployeeDetails> GetEmployeeDetails(IDictionary <string, string> _connectionInfo, DayForceFilter filter) { List <EmployeeDetails> employeeResponselist = new List <EmployeeDetails>(); EmployeeDetails employeeDetails = new EmployeeDetails(); EmployeeDetailsBasicResponse employeeResponsedata = new EmployeeDetailsBasicResponse(); completeUrl = string.Concat(BaseUrl, GetEmployeeDetailsUri); if (filter != null) { for (int i = 0; i < filter.name.Count; i++) { if (filter.name[i] == "EmployeeDetails.XRefCode") { count = ++count; } } if (count == 0) { throw new WebException("XRefCode required,please provide XRefCode"); } for (int i = 0; i < filter.name.Count; i++) { Name = filter.name[i]; Value = filter.value[i]; if (filter.name[i] != "EmployeeDetails.XRefCode") { if (i == 0) { filterUrl = "?"; } } if (i == (filter.name.Count - 1)) { if (filter.name[i] == "EmployeeDetails.XRefCode") { filterUrl = filter.value[i]; } if (filter.name[i] == "EmployeeDetails.contextDate") { string line = filter.value[i]; DateTime dt = new DateTime(); dt = Convert.ToDateTime(line); var date = dt.ToString("yyyy-MM-dd" + "T" + "HH:mm:ss"); Value = date; filterUrl += Name + " = " + Value; } else { if (filter.name[i] != "EmployeeDetails.XRefCode") { filterUrl += Name + " = " + Value; } } } else { if (filter.name[i] == "EmployeeDetails.XRefcode") { filterUrl = filter.value[i]; } if (filter.name[i] == "EmployeeDetails.contextDate") { string line = filter.value[i]; DateTime dt = new DateTime(); dt = Convert.ToDateTime(line); var date = dt.ToString("yyyy-MM-dd" + "T" + "HH:mm:ss"); Value = date; filterUrl += Name + "=" + Value + "&"; } else { if (filter.name[i] != "EmployeeDetails.XRefcode") { filterUrl += Name + "=" + Value + "&"; } } } } filterUrl = filterUrl.Replace("EmployeeDetails.", " "); filterUrl = filterUrl.Replace(" ", ""); completeUrl = string.Concat(BaseUrl, GetEmployeeDetailsUri, filterUrl); HttpWebResponse response = service.HttpRequest(_connectionInfo, completeUrl, HttpMethods.GET.ToString(), null); if (response != null && response.StatusCode == HttpStatusCode.OK) { var encoding = ASCIIEncoding.ASCII; using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding)) { string responseText = reader.ReadToEnd(); employeeResponsedata = JsonConvert.DeserializeObject <EmployeeDetailsBasicResponse>(responseText); } employeeDetails = EmployeeHierarchicalToFlatConverter.EmployeeDetailsHierarchicalToFlatConverter(employeeResponsedata); employeeResponselist.Add(employeeDetails); } } if (filter == null) { throw new WebException("Please sepecify the Value of XrefCode"); } return(employeeResponselist); }