private async System.Threading.Tasks.Task saveLeaveRequest(int status)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                var leaveRequest = EntitySaveHelper.GetLeaveRequestForSave(LeaveRequest);
                if (RequestType == SINGLE_DAY)
                {
                    leaveRequest.StartDateTimezoned = leaveRequest.StartDateTimezonedValue.Date;
                    leaveRequest.EndDate            = null;
                }
                else if (RequestType == MULTI_DAY)
                {
                    leaveRequest.StartDateTimezoned = leaveRequest.StartDateTimezonedValue.Date;
                    leaveRequest.EndDateTimezoned   = leaveRequest.EndDateTimezonedValue.Date;
                }

                if (!ForUser && status > 0)
                {
                    var user = LoginHelper.GetLoggedInUser().User;
                    leaveRequest.ApprovedDeniedById = user.UserId;
                    leaveRequest.ApprovedDeniedDate = DateTime.Now;
                    leaveRequest.StatusValue        = status;
                }

                if (leaveRequest.LeaveRequestId == null)
                {
                    await DataService.PostItemAsync <LeaveRequest>("leaveRequests", leaveRequest);
                }
                else
                {
                    await DataService.PutItemAsync <LeaveRequest>("leaveRequests", leaveRequest.LeaveRequestIdValue, leaveRequest);
                }

                MessagingCenter.Send <LeaveRequestEditViewModel>(this, SUCCESS);
                IsBusy = false;
            }
            catch (Exception ex)
            {
                IsBusy = false;
                ExceptionHelper.ShowException(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }