private void downloadDatabaseEntries() { DateTime monthEndDay = MonthFirstDay.AddMonths(1); monthEndDay = monthEndDay.AddDays(-1); List <ServiceSheetViewModel> downloadedServiceSheets = DbServiceSheet.downloadServiceSheets(MonthFirstDay, monthEndDay); if (downloadedServiceSheets == null) { return; } //Create the list of possible days for each engineer Dictionary <DateTime, List <DbEmployee> > missingDays = createPossibleEngineerDaysCalendar(); Dictionary <DateTime, List <DbEmployee> > actualDays = new Dictionary <DateTime, List <DbEmployee> >(); if (missingDays == null) { return; } //Copy the possible days to the missing. //Dictionary<DateTime, List<DbEmployee>> missingDays = new Dictionary<DateTime, List<DbEmployee>>(possibleDays); //Create actual days list and update missing list updateActualandMissingCalendars(actualDays, missingDays, downloadedServiceSheets); //Set the actual and missing calendar days on the calendar rows updateCalendarActualAndMissingDates(actualDays, missingDays); }
private void saveActivity() { bool valid = validateEntry(); if (!valid) { return; } //Need to create the service sheet / day entities and save ServiceSheetViewModel serviceSheetCreated = new ServiceSheetViewModel(SelectedUser, SelectedActivity, StartDate, EndDate); //Now save serviceSheetCreated.SaveToModel(); bool saveSuccessful = DbServiceSheet.saveSheetsAndDays(serviceSheetCreated); if (!saveSuccessful) { MessageBox.Show("Error saving to database. Need to show error message!"); return; } else { MessageBox.Show("Activity added to database"); } }
private void loadHolidayAbsences() { List <ServiceSheetViewModel> loadedSheets = DbServiceSheet.loadHolidayAbsenceSheets(); if (loadedSheets == null) { return; } AllAbsenceHolidays = new ObservableCollection <ServiceSheetViewModel>(loadedSheets); }
private bool validateEntry() { if (SelectedUser == null) { MessageBox.Show("You must select an engineer."); return(false); } else if (SelectedActivity == null) { MessageBox.Show("You must select an activity."); return(false); } else if (StartDate == new DateTime()) { MessageBox.Show("You must select a start date"); return(false); } else if (EndDate == new DateTime()) { MessageBox.Show("You must select an end date"); return(false); } else if (StartDate > EndDate) { MessageBox.Show("Start date must be before end date"); return(false); } //Check that a service sheet doesn't exist for the absence dates bool?clashingDate = DbServiceSheet.checkForClashingDates(StartDate, EndDate, SelectedUser.Username); if (clashingDate == null) { MessageBox.Show("Error checking duplicates in database. Not saved. Need to show error message!"); return(false); } else if (clashingDate == true) { MessageBox.Show("A sheet already exists for these dates."); return(false); } return(true); }
private void saveToDatabase() { //Export to csv bool csvExportSuccessful = exportCsvData(); if (!csvExportSuccessful) { MessageBox.Show("Error exporting to csv. Database save not completed"); return; } bool saveSuccessful = DbServiceSheet.saveSheetsAndDays(AllServiceSheets); if (!saveSuccessful) { MessageBox.Show("Error saving to database. Need to show error message!"); return; } }
private void setupUsernameCombobox() { #if DEBUG if (DesignerProperties.GetIsInDesignMode(new DependencyObject())) { return; } #endif //Loads the usernames from the Service Sheet table List <DbEmployee> usernames = DbServiceSheet.getAllUsers(); if (usernames == null) { MessageBox.Show("Error loading usernames"); Employees = null; return; } Employees = new ObservableCollection <DbEmployee>(usernames); }
private Dictionary <DateTime, List <DbEmployee> > createPossibleEngineerDaysCalendar() { Dictionary <DateTime, List <DbEmployee> > possibleDays = new Dictionary <DateTime, List <DbEmployee> >(); //Download all the engineers names m_engineers = DbServiceSheet.getAllUsers(); if (m_engineers == null) { return(null); } DateTime calendarStart = MonthFirstDay.Date; //Use the entre calendar month DateTime calendarEnd = calendarStart.AddMonths(1); for (DateTime currentDate = calendarStart; currentDate.Date < calendarEnd.Date; currentDate = currentDate.AddDays(1)) { possibleDays.Add(currentDate, new List <DbEmployee>(m_engineers)); } return(possibleDays); }
private void downloadCanvasData(object canvasPasswordBox) { //RT 7/2/17 - Moving the canvas user to the cache //CanvasUserVM = new UserViewModel(UserViewModel.MODE_CANVAS); //UserView userView = new UserView(); //userView.DataContext = CanvasUserVM; //bool? userResult = userView.ShowDialog(); UserViewModel userResultVM = CanvasDataReader.getCanvasUser(); //RT 3/12/16 - The box may have been cancelled if (userResultVM == null) { return; } //RT 25/2/17 - Get the latest submission date from the database DateTime?lastSubmissionDateFound = DbServiceSheet.getLastSubmissionDate(); if (lastSubmissionDateFound == null) { return; } DateTime lastSubmissionDate = lastSubmissionDateFound.Value; lastSubmissionDate = lastSubmissionDate.AddDays(-1); //CanvasUserVM.CanvasPasswordBox = (PasswordBox)canvasPasswordBox; //RT 26/11/16 - Changing the password to use a PasswordBox for security //AllServiceSheets = CanvasDataReader.downloadXml(CanvasUser.Username, CanvasUser.Password, DtStartSubmissionsDownload, DtEndSubmissionsDownload); AllServiceSheets = CanvasDataReader.downloadXml(userResultVM, lastSubmissionDate, DateTime.Now); //If no submissions have been returned, then exit. None available, or error has occured. Error will have been shown already if (AllServiceSheets == null) { return; } //Now we need to download the images from Canvas, using a progress bar CanvasImageDownloadView imageDownloadView = new CanvasImageDownloadView(); List <ServiceSheetViewModel> serviceSheetList = new List <ServiceSheetViewModel>(AllServiceSheets); CanvasImageDownloadViewModel imageVM = new CanvasImageDownloadViewModel(serviceSheetList, userResultVM, false); imageDownloadView.DataContext = imageVM; bool?result = imageDownloadView.ShowDialog(); //Set the servicesheets back to the result from the dialog if (result == true) { AllServiceSheets = new ObservableCollection <ServiceSheetViewModel>(imageVM.AllServices); } else { AllServiceSheets = new ObservableCollection <ServiceSheetViewModel>(); } //RT23/1/17 - Check if the sheets have already been imported to the database List <int> dbSubmissionNumbers = DbServiceSheet.getAllSubmissionNumbers(); removeServiceSheetsAlreadyProcessed(dbSubmissionNumbers); }
private void downloadDataFromDatabase() { //RT 27/2/17 - This now downloads for given service sheet numbers bool validEntries = validateEntries(); if (!validEntries) { return; } int startNumber; bool startNumberParsed = int.TryParse(SubmissionStartNumber, out startNumber); int endNumber; bool endNumberParsed = int.TryParse(SubmissionEndNumber, out endNumber); List <ServiceSheetViewModel> serviceSheetsDownloaded = DbServiceSheet.downloadServiceSheetsForSubmissions(startNumber, endNumber); if (serviceSheetsDownloaded == null) { return; } AllServiceSheets = new ObservableCollection <ServiceSheetViewModel>(serviceSheetsDownloaded); //Now we need to download the images from Canvas //RT 7/2/17 - Moving to caching //UserViewModel canvasUserVM = new UserViewModel(UserViewModel.MODE_CANVAS); //UserView userView = new UserView(); //userView.DataContext = canvasUserVM; //bool? userResult = userView.ShowDialog(); ////RT 3/12/16 - The box may have been cancelled //if (userResult != true) //{ // MessageBox.Show("Unable to download images. Exiting."); // AllServiceSheets = null; // return; //} UserViewModel userResult = CanvasDataReader.getCanvasUser(); //RT 3/12/16 - The box may have been cancelled if (userResult == null) { MessageBox.Show("Unable to download images. Exiting."); AllServiceSheets = null; return; } CanvasImageDownloadViewModel imageVM = new CanvasImageDownloadViewModel(AllServiceSheets.ToList(), userResult, true); CanvasImageDownloadView imageDownloadView = new CanvasImageDownloadView(); imageDownloadView.DataContext = imageVM; bool?result = imageDownloadView.ShowDialog(); //Set the servicesheets back to the result from the dialog if (result == true) { AllServiceSheets = new ObservableCollection <ServiceSheetViewModel>(imageVM.AllServices); } else { AllServiceSheets = new ObservableCollection <ServiceSheetViewModel>(); } }