/// <summary> /// Updates the leave request. /// </summary> /// <param name="leaveRequest">The leave request.</param> public async Task<LeaveResultCollection> UpdateLeaveRequest(LeaveRequest leaveRequest, string accessToken) { if (!string.IsNullOrEmpty(accessToken)) { var authenticationHeaderValue = new AuthenticationHeaderValue(AuthorizationScheme, accessToken); return await Task.Run(() => this.httpClientHelper.PostData<LeaveResultCollection, LeaveRequest>(this.GetUri(LeaveRequestResource), leaveRequest, authenticationHeaderValue)); } return null; }
/// <summary> /// Maps the leave. /// </summary> /// <param name="leaveRequest">The leave request.</param> private void MapLeave(LeaveRequest leaveRequest) { leaveRequest.Leave = new Leave(); leaveRequest.Leave.Comment = string.Empty; leaveRequest.Leave.DeveloperIds = ApplicationData.User.UserId; leaveRequest.Leave.RequestedByDeveloperId = ApplicationData.User.UserId; leaveRequest.Leave.IsUnplanned = false; leaveRequest.Leave.Type = radioLeaveTypePersonal.IsChecked.HasValue && radioLeaveTypePersonal.IsChecked.Value ? LeaveTypePersonal : LeaveTypeSick; }
/// <summary> /// Maps the leave request. /// </summary> /// <param name="leaveRequest">The leave request.</param> private void MapLeaveRequest(LeaveRequest leaveRequest) { var startDateType = leaveParams.DayTypes.Where(dayType => dayType.Id == (fromDayTypeListPicker.SelectedItem as TypeInfo).Id).FirstOrDefault().Id; var endDateType = 0; if (toDayTypeListPicker.IsEnabled) { endDateType = leaveParams.DayTypes.Where(dayTypesInitialized => dayTypesInitialized.Id == (toDayTypeListPicker.SelectedItem as TypeInfo).Id).FirstOrDefault().Id; } else { endDateType = startDateType; } leaveRequest.StartDate = ((DateTime)fromDatePicker.Value).ToString(CultureInfoUS); leaveRequest.StartDateType = startDateType; leaveRequest.EndDate = ((DateTime)toDatePicker.Value).ToString(CultureInfoUS); leaveRequest.EndDateType = endDateType; }
/// <summary> /// Handles the Click event of the btnApplyLeave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> private async void btnApplyLeave_Click(object sender, RoutedEventArgs e) { progressMask.Show(); try { if (NetworkInterface.GetIsNetworkAvailable()) { var isValidDateSelection = this.leaveRequestRepository.IsValidDateRange(Convert.ToDateTime(fromDatePicker.Value, CultureInfoUS), Convert.ToDateTime(toDatePicker.Value, CultureInfoUS)); if (leaveCount == null) { SetLeaveCount(); } if (isValidDateSelection && leaveCount.Value > 0) { LeaveRequest leaveRequest = new LeaveRequest(); MapLeave(leaveRequest); MapLeaveRequest(leaveRequest); var leaveResult = await leaveRequestRepository.UpdateLeaveRequest(leaveRequest, ApplicationData.User.Token); if (leaveResult != null && leaveResult.Count > 0) { ShowMessageBox("Insight", "You have already applied for selected dates."); } else { ////Toast.MakeText(this, GetString(Resource.String.LeaveRequestSent), ToastLength.Long).Show(); if (this.NavigationService.CanGoBack) { PhoneApplicationService.Current.State["ToastNotification"] = "Leave request sent."; this.NavigationService.GoBack(); } } } else { ShowMessageBox("Insight", "Please select valid dates."); } } } catch (Exception ex) { ShowMessageBox("Insight", "Error in applying leave."); } finally { progressMask.Hide(); } }
private void MapLeave(LeaveRequest leaveRequest) { leaveRequest.Leave = new Leave(); leaveRequest.Leave.Comment = txtLeaveReason.Text; leaveRequest.Leave.DeveloperId = 8; ////ApplicationData.User.UserId; leaveRequest.Leave.IsUnplanned = false; }
private void MapLeaveRequest(LeaveRequest leaveRequest) { leaveRequest.StartDate = fromDate.Date.ToString(); leaveRequest.StartDateType = 1; leaveRequest.EndDate = toDate.Date.ToString(); leaveRequest.EndDateType = 2; }
private void applyButton_Clicked(object sender, EventArgs e) { LeaveRequest leaveRequest = new LeaveRequest(); MapLeave(leaveRequest); MapLeaveRequest(leaveRequest); leaveRequestRepository.UpdateLeaveRequest(leaveRequest); }
/// <summary> /// Maps the leave. /// </summary> /// <param name="leaveRequest">The leave request.</param> private void MapLeave(LeaveRequest leaveRequest) { leaveRequest.Leave = new Leave(); leaveRequest.Leave.Comment = string.Empty; leaveRequest.Leave.DeveloperIds = ApplicationData.User.UserId; leaveRequest.Leave.RequestedByDeveloperId = ApplicationData.User.UserId; leaveRequest.Leave.ApplicationType = ApplicationType.Android; leaveRequest.Leave.VersionNumber = GetVersionNumber(); leaveRequest.Leave.IsUnplanned = false; leaveRequest.Leave.Type = rdbPersonal.Checked ? LeaveTypePersonal : LeaveTypeSick; }
/// <summary> /// Maps the leave request. /// </summary> /// <param name="leaveRequest">The leave request.</param> private void MapLeaveRequest(LeaveRequest leaveRequest) { var spinnerFrom = this.FindViewById<Spinner>(Resource.Id.spnFrom); var spinnerFromValue = leaveParams.DayTypes[(int)spinnerFrom.SelectedItemId].Id; var spinnerToValue = 0; if (toSpinner.Enabled) { spinnerToValue = leaveParams.DayTypes[(int)toSpinner.SelectedItemId].Id; } else { spinnerToValue = spinnerFromValue; } leaveRequest.StartDate = fromDate.Text; leaveRequest.StartDateType = spinnerFromValue; leaveRequest.EndDate = toDate.Text; leaveRequest.EndDateType = spinnerToValue; }
/// <summary> /// Handles the Click event of the applyButton control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private async void applyButton_Click(object sender, EventArgs e) { var progress = ProgressDialog.Show(this, GetString(Resource.String.ApplyingLeave), GetString(Resource.String.PleaseWait), true); try { if (!IfNetworkAvailable()) { progress.Dismiss(); return; } var isValidDateSelection = this.leaveRequestRepository.IsValidDateRange(Convert.ToDateTime(fromDate.Text, us), Convert.ToDateTime(toDate.Text, us)); if (leaveCount == null) { SetLeaveCount(); } if (isValidDateSelection && leaveCount.Value > 0) { LeaveRequest leaveRequest = new LeaveRequest(); MapLeave(leaveRequest); MapLeaveRequest(leaveRequest); var leaveResult = await leaveRequestRepository.UpdateLeaveRequest(leaveRequest, ApplicationData.User.Token); if (leaveResult.Count > 0) { AlertMessage(GetString(Resource.String.Error), GetString(Resource.String.AlreadyApplied)); } else { Toast.MakeText(this, GetString(Resource.String.LeaveRequestSent), ToastLength.Long).Show(); StartActivity(typeof(MainActivity)); } } else { AlertMessage(GetString(Resource.String.Error), GetString(Resource.String.ValidateDates)); } progress.Dismiss(); } catch (Exception ex) { AlertMessage(GetString(Resource.String.Error), GetString(Resource.String.LeaveError)); progress.Dismiss(); } }
public void UpdateLeaveRequest(LeaveRequest leaveRequest) { this.httpClientHelper.PostResponseData(this.GetUri(LeaveRequestResource), leaveRequest); }