private void btnDocLeave_Click(object sender, EventArgs e) { int data = 0; bool _excep = false; using (var uow = (AdoNetUnitOfWork)UnitOfWorkFactory.Create(UnitOfWorkFactory.ConnectionType.SQL, Connection.connectionString)) { try { Models.AnnualLeave annualLeave = new Models.AnnualLeave() { WorkerID = (int)cmbDoc.SelectedValue, WorkerType = (int)type, Duration = Convert.ToInt32(txtLeaveDuration.Text), LeaveType = chkDHasReport.Checked ? 2 : 1, DocID = (int)cmbExtraDoctor.SelectedValue }; var dRepos = new DoctorRepository(uow); data = dRepos.InsertAnnual(annualLeave); uow.SaveChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message); _excep = true; } if (data == 3 && _excep == false) { MessageBox.Show("The operation is successfull"); } } }
private void GetAnnualLeaveRequests() { var client = new HttpClient { BaseAddress = new Uri(_url), }; client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = client.GetAsync("GetAnnualLeaveRequests?StaffId=" + staff.Id).Result; if (response.IsSuccessStatusCode) { var result = JsonConvert.DeserializeObject <List <AnnualLeaveRequestsViewModel> >(response.Content.ReadAsStringAsync().Result); foreach (var item in result) { var annualLeaveRequest = new Models.AnnualLeave() { CancelReason = item.CancelReason, DateRequested = item.DateRequested, Ending = item.Ending, EndingTime = item.EndingTime, Id = item.Id, IsSynced = item.IsSynced, Notes = item.Notes, RequestId = item.RequestId, StaffId = item.StaffId, Starting = item.Starting, StartingTime = item.StartingTime, TotalDays = item.TotalDays, StatusId = item.StatusId, DeclineReason = item.DeclineReason, }; App.AnnualLeaveDatabase.InsertUpdateAnnualLeaveRequest(annualLeaveRequest); } } }
private async void SaveAnnualLeaveRequest_ClickedAsync(object sender, EventArgs e) { try { ApplyActivityIndicator(); var staff = App.StaffDatabase.GetStaffById(Convert.ToInt32(App.SettingsDatabase.GetSetting("AssignedStaffId").Value)); var startDate = StartDate.Date; var endDate = EndDate.Date; var m = new Models.AnnualLeave { StaffId = staff.Id, CancelReason = null, DateRequested = DateTime.Now, Ending = endDate, Notes = Notes.Text, RequestId = Guid.NewGuid(), Starting = startDate, StatusId = 1, DeclineReason = null, SentToOffice = false, EndingTime = 1, StartingTime = 1, IsSynced = false, TotalDays = 0 }; var startTime = StartTime; var endTime = EndTime; if ((String)startTime.SelectedItem == "Morning") { m.StartingTime = 1; } else { m.StartingTime = 2; } if ((String)endTime.SelectedItem == "Afternoon") { m.EndingTime = 1; } else { m.EndingTime = 2; } var totalWholeDays = Weeks.GetBusinessDays(m.Starting, m.Ending); var bankHolidays = Weeks.CountBankHolidays(m.Starting, m.Ending); if (m.StartingTime == 1 && m.EndingTime == 1) { m.TotalDays = (totalWholeDays - .5); } else if (m.StartingTime == 1 && m.EndingTime == 2) { m.TotalDays = totalWholeDays; } else if (m.StartingTime == 2 && m.EndingTime == 2) { m.TotalDays = (totalWholeDays - .5); } else { m.TotalDays = totalWholeDays; } m.TotalDays = (m.TotalDays - bankHolidays); if (staff.AnnualLeaveBalance < m.TotalDays) { ResetActivityIndicator(); await DisplayAlert("Error", "You currently do not have enough annual leave remaining.", "Acknowledge"); } else if (m.Starting > m.Ending) { ResetActivityIndicator(); await DisplayAlert("Error", "Ending date must be greater than the starting date.", "Acknowledge"); } else { if (App.AnnualLeaveDatabase.InsertAnnualLeaveRequest(m)) { await Navigation.PushAsync(new Edit(m.Id)); } else { ResetActivityIndicator(); await DisplayAlert("Error", "An error has occurred creating this annual leave request. Please contact support.", "Acknowledge"); } } } catch (Exception ex) { } }