Exemple #1
0
 /// <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;
 }
Exemple #3
0
        /// <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);
            }
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
        /// <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;
            }
        }
Exemple #6
0
        /// <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;
            }
        }
Exemple #7
0
        /// <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;
            }
        }
Exemple #8
0
        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();
        }
Exemple #10
0
 /// <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");
 }
Exemple #11
0
 /// <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);
 }