public PayrollResponse <T> SendEncryptedRequest <T>(PayrollRequest request) where T : PayrollEntity
        {
            if (!(typeof(T) == typeof(SessionInfo)) && string.IsNullOrEmpty(SessionToken))
            {
                throw new ApiException("Payroll connector is not signed in, please check your configuration.");
            }

            var response = DoTransaction(HttpMethod.Post, request.Endpoint, request.RequestBody);

            return(Activator.CreateInstance(typeof(PayrollResponse <T>), new object[] { response, Encoder }) as PayrollResponse <T>);
        }
        public async Task <ElStatusResponse> UpdateStatus(Guid userid, DateTime attendanceDate, decimal EL, int Hrstatus)
        {
            PayrollRequest   reqModel = new PayrollRequest();
            ElStatusResponse res      = new ElStatusResponse();

            if (userid != null && attendanceDate != null)
            {
                reqModel.Leave  = EL.ToString();
                reqModel.Type   = Convert.ToString(Hrstatus);
                reqModel.UserId = userid;
                var date = attendanceDate;
                reqModel.AttendanceDate = date.ToString("yyyy-MM-dd");
                //decimal a2 = TryParsedecimal("234.53453424233432423432", decimal.MinValue);
            }

            var client  = new RestClient(Constants.ApiUrl);
            var request = new RestRequest(Constants.ApiUrl, Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddBody(reqModel);
            request.AddHeader("email", UserEmail);
            try
            {
                var response = client.Execute(request);
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    res = JsonConvert.DeserializeObject <ElStatusResponse>(response.Content);
                }
                return(res);
            }
            catch (Exception error)
            {
                res.status  = "Not updated successfully";
                res.totalel = "0";
                return(res);
            }
        }