/// <summary> /// update previous devices if pangolin changed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TrackingDeviceViewModel_PangolinChanged(object sender, Pangolin e) { if (SelectedPangolin != null) { NotifyPropertyChanged("PreviousDevices"); } }
public MicrochipViewModel(Pangolin p = null) : base(DatabaseManager.GetDatabase().Microchips) { SelectedModel = new Microchip { ReferenceNumber = p, Date = DateTime.Now }; UpdateModelEvent += MicrochipViewModel_UpdateModelEvent; }
/// <summary> /// Edit button in pangolin selection clicked /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EditButton_Click(object sender, RoutedEventArgs e) { Pangolin selectedPangolin = ((MainMenuViewModel)(Window.GetWindow(this).DataContext)).SelectedPangolin; if (selectedPangolin != null) { Window.GetWindow(this).DataContext = new AddPangolinViewModel(selectedPangolin); } }
/// <summary> /// default constructor /// </summary> /// <param name="p"></param> public TrackingDeviceViewModel(Pangolin p = null) : base(Database.DatabaseManager.GetDatabase().TrackingDevices) { SelectedModel = new TrackingDevice() { Date = DateTime.Now }; UpdateModelEvent += TrackingDeviceViewModel_UpdateModelEvent; PangolinChanged += TrackingDeviceViewModel_PangolinChanged; if (p != null) { SelectedPangolin = p; } TrackingDeviceViewModel_UpdateModelEvent(this, EventArgs.Empty); }
/// <summary> /// Sets model for pangolin /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Pangolin_Changed(object sender, Pangolin e) { // Check if there is already a existing one Release p = (from release in DatabaseManager.GetDatabase().Releases where release.ReferenceNumber == e select release).FirstOrDefault(); if (p == null) { SelectedModel = new Release() { ReferenceNumber = SelectedPangolin, Date = DateTime.UtcNow }; } else { SelectedModel = p; } }
/// <summary> /// Sets model for pangolin /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Pangolin_Changed(object sender, Pangolin e) { // Check if there is already a existing one PhysicalMeasurements p = (from measurement in DatabaseManager.GetDatabase().PhysicalMeasurements where measurement.ReferenceNumber == e select measurement).FirstOrDefault(); if (p == null) { SelectedModel = new PhysicalMeasurements() { ReferenceNumber = SelectedPangolin, Date = DateTime.UtcNow }; } else { SelectedModel = p; } }
/// <summary> /// If pangolin changed check if there is already a existing mortality model for this pangolin if yes set as selected model /// if no create new model for selected model /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MortalityViewModel_PangolinChanged(object sender, Pangolin e) { // Check if there is already a existing one Mortality p = (from model in DatabaseManager.GetDatabase().Mortalities where model.ReferenceNumber == e select model).FirstOrDefault(); if (p == null) { SelectedModel = new Mortality() { ReferenceNumber = SelectedPangolin, Date = DateTime.UtcNow }; } else { SelectedModel = p; } }
public static bool GenerateReportForPangolin(Pangolin Pangolin, string pathToSave, bool open) { try { // Create new Excel ExcelPackage.LicenseContext = LicenseContext.NonCommercial; ExcelPackage excel = new ExcelPackage(); // DB PangolinContext db = DatabaseManager.GetDatabase(); // Add Data AddWorksheetToExcel("Pangolin Data", new Pangolin[] { Pangolin }, excel); AddWorksheetToExcel("Daily Recording", db.DailyActivities.Where(p => p.ReferencePangolin == Pangolin).ToArray(), excel); AddWorksheetToExcel("Infant Feeding", db.InfantFeedings.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Veterinary Treatment", db.VeterinaryTreatments.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Interdepartmental Movement", db.InterdepartmentalMovements.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Measurements", db.PhysicalMeasurements.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Mortality", db.Mortalities.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Release", db.Releases.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Microchip", db.Microchips.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Tracking Device", db.TrackingDevices.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Criminal Cases", db.CriminalCases.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); AddWorksheetToExcel("Documents", db.Documents.Where(p => p.ReferenceNumber == Pangolin).ToArray(), excel); // Save FileInfo excelFile = new FileInfo(pathToSave); excel.SaveAs(excelFile); if (open) { Process.Start(new ProcessStartInfo(pathToSave) { UseShellExecute = true }); } return(true); } catch (Exception ex) { LogManager.logError(ex, "Error"); return(false); } }
/// <summary> /// Triers to get a existing model by date and pangolin or returns a new one if no found /// </summary> /// <param name="date"></param> /// <param name="p"></param> private void SetModelByPangolinAndDate(DateTime date, Pangolin p) { DailyActivity d = null; if (date != null && p != null) { d = DatabaseManager.GetDatabase().DailyActivities.Where(n => n.Date.Date.Equals(date) && n.ReferencePangolin == p).FirstOrDefault(); } if (d != null) { SelectedModel = d; } else { SelectedModel = new DailyActivity() { Date = date.Date, ReferencePangolin = p }; } // Updating all properties UpdateAllProperties(); }
/// <summary> /// update previous treatments if model changed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void VeterinaryTreatmentViewModel_PangolinChanged(object sender, Pangolin e) { NotifyPropertyChanged("PreviousTreatments"); }
/// <summary> /// Update documents if pangolin changed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DocumentsViewModel_PangolinChanged(object sender, Pangolin e) { NotifyPropertyChanged("DocumentForPangolin"); }
/// <summary> /// Check if there is a existing model for this pangolin at current date or set new model /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DailyActivitySheetViewModel_PangolinChanged(object sender, Pangolin e) { SetModelByPangolinAndDate(Date, SelectedPangolin); }