コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }