/// <summary>
        /// Create Vacation List Request.
        /// </summary>
        /// <param name="personNumber">Person Number.</param>
        /// <param name="cmd">command string.</param>
        /// <returns>vacation list.</returns>
        public string CreateVacationListRequest(string personNumber, string cmd)
        {
            var start = DateTime.Now;
            var end   = DateTime.Now;

            if (cmd == Constants.NextVacation)
            {
                start = DateTime.Now.AddDays(1);
                end   = DateTime.Now.AddMonths(1);
            }
            else
            {
                start = DateTime.Now.AddMonths(-12);
                end   = DateTime.Now;
            }

            TimeOffSubmitRequest.Request rq = new TimeOffSubmitRequest.Request()
            {
                Action             = ApiConstants.RetrieveRequests,
                EmployeeRequestMgm = new TimeOffSubmitRequest.EmployeeRequestMgmt()
                {
                    Employees = new TimeOffSubmitRequest.Employee()
                    {
                        PersonIdentity = new TimeOffSubmitRequest.PersonIdentity()
                        {
                            PersonNumber = personNumber
                        }
                    },
                    QueryDateSpan = start.ToString("M/d/yyyy", CultureInfo.InvariantCulture) + "-" + end.ToString("M/d/yyyy", CultureInfo.InvariantCulture),
                },
            };

            return(rq.XmlSerialize());
        }
        /// <summary>
        /// Create XML to submit time off request which is in draft.
        /// </summary>
        /// <param name="personNumber">Person Number.</param>
        /// <param name="reqId">RequestId of the time off request.</param>
        /// <param name="querySpan">Query Span.</param>
        /// <returns>Submit time off request.</returns>
        public string CreateSubmitTimeOffRequest(string personNumber, string reqId, string querySpan)
        {
            var monthStartDt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            var monthEndDt   = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.DaysInMonth(monthStartDt.Year, monthStartDt.Month));

            TimeOffSubmitRequest.Request rq = new TimeOffSubmitRequest.Request()
            {
                Action             = ApiConstants.SubmitRequests,
                EmployeeRequestMgm = new TimeOffSubmitRequest.EmployeeRequestMgmt()
                {
                    Employees = new TimeOffSubmitRequest.Employee()
                    {
                        PersonIdentity = new TimeOffSubmitRequest.PersonIdentity()
                        {
                            PersonNumber = personNumber
                        }
                    },
                    QueryDateSpan = querySpan,
                    RequestIds    = new TimeOffSubmitRequest.RequestIds()
                    {
                        RequestId = new TimeOffSubmitRequest.RequestId[] { new TimeOffSubmitRequest.RequestId()
                                                                           {
                                                                               Id = reqId
                                                                           } }
                    },
                },
            };

            return(rq.XmlSerialize());
        }