/// <summary>
        /// Shows punches request
        /// </summary>
        /// <param name="personNumber">Person Number</param>
        /// <param name="startDate">Start Date</param>
        /// <param name="endDate">End Date</param>
        /// <param name="payPeriodMonthly">Monthly pay period</param>
        /// <returns>Punches request string</returns>
        private string ShowPunchesRequest(string personNumber, string startDate, string endDate)
        {
            Request request = new Request
            {
                Timesheet = new Models.RequestEntities.Punch.ShowPunches.Timesheet
                {
                    Employee = new Models.RequestEntities.Punch.ShowPunches.Employee
                    {
                        PersonIdentity = new Models.RequestEntities.Punch.ShowPunches.PersonIdentity
                        {
                            PersonNumber = personNumber
                        }
                    },
                    Period = new Models.RequestEntities.Punch.ShowPunches.Period
                    {
                        TimeFramePeriod = new Models.RequestEntities.Punch.ShowPunches.TimeFramePeriod
                        {
                            PeriodDateSpan = $"{startDate} - {endDate}"
                        }
                    }
                },
                Action = ApiConstants.LoadAction
            };

            return(XmlConvertHelper.XmlSerialize(request));
        }
Esempio n. 2
0
        /// <summary>
        /// Creates punch request
        /// </summary>
        /// <param name="personNumber">Person number</param>
        /// <param name="localTimestamp">local timestamp</param>
        /// <param name="workRuleName">Workrule name</param>
        /// <returns>Punch request response</returns>
        public string CreatePunchRequest(string personNumber, DateTimeOffset?localTimestamp, string workRuleName)
        {
            var tzOffset  = Timezone.GetLocalTimeZoneOffset(localTimestamp);
            var kTimeZone = Timezone.GetKronosTimeZone().Where(t => t.Contains(tzOffset)).FirstOrDefault();

            addReq.Request request = new addReq.Request
            {
                Punch = new addReq.Punch
                {
                    Date           = localTimestamp.Value.Date.ToString(ApiConstants.DateFormat, CultureInfo.InvariantCulture),
                    Time           = localTimestamp.Value.ToString("HH:mm:ss", CultureInfo.InvariantCulture),
                    KronosTimeZone = kTimeZone,
                    Employee       = new addReq.Employee
                    {
                        PersonIdentity = new addReq.PersonIdentity
                        {
                            PersonNumber = personNumber
                        }
                    }
                },
                Action = ApiConstants.AddOnlyAction
            };

            if (!string.IsNullOrWhiteSpace(workRuleName))
            {
                request.Punch.WorkRuleName = workRuleName;
            }

            return(XmlConvertHelper.XmlSerialize(request));
        }
Esempio n. 3
0
        /// <summary>
        /// Creates work rule request
        /// </summary>
        /// <param name="personNumber">Person Number</param>
        /// <returns>workrule request string</returns>
        public string CreateWorkRuleRequest(string personNumber)
        {
            workRuleReq.Request request = new workRuleReq.Request
            {
                WorkRule = string.Empty,
                Action   = ApiConstants.WorkRuleAction
            };

            return(XmlConvertHelper.XmlSerialize(request));
        }
Esempio n. 4
0
        /// <summary>
        /// Get person information request
        /// </summary>
        /// <param name="personNumber">Person Number</param>
        /// <returns>Person information request</returns>
        private string GetPersonInformationRequest(string personNumber)
        {
            Request request = new Request
            {
                PersonInformation = new Models.RequestEntities.PresentEmployees.PersonInformation
                {
                    Identity = new Identity
                    {
                        PersonIdentity = new PersonIdentity
                        {
                            PersonNumber = personNumber
                        }
                    }
                },
                Action = ApiConstants.LoadAction
            };

            return(XmlConvertHelper.XmlSerialize(request));
        }
        /// <summary>
        /// Create view balance request class.
        /// </summary>
        /// <param name="personNumber">Person number</param>
        /// <returns>View balance request</returns>
        public string CreateViewBalanceRequest(string personNumber)
        {
            Request request = new Request
            {
                AccrualData = new req.AccrualData
                {
                    BalanceDate = DateTime.Now.Date.ToString("MM/d/yyyy", CultureInfo.InvariantCulture),
                    Employee    = new req.Employee
                    {
                        PersonIdentity = new req.PersonIdentity
                        {
                            PersonNumber = personNumber
                        }
                    }
                },
                Action = ApiConstants.LoadAction
            };

            return(XmlConvertHelper.XmlSerialize(request));
        }