// ViewModel Search Worker
        // ---------------------------------------------------------------------------------------------------------------------------------------------
        private void getDataTaskStart(object sender, TaskWorkerEventArgs e)
        {
            if (e.Parameters == null && e.Parameters is int == false)
            {
                return;
            }

            simulatedDelay();

            if (getDataTask.CancellationRequested)
            {
                return;
            }

            int          index        = (int)e.Parameters;
            SQLFunctions sqlFunctions = new SQLFunctions(SQLConnection.DatabaseContext);
            MultiModel   displayModel = null;

            displayModel = sqlFunctions.GetPersonDetails(PersonTableResults[index].PersonID);

            if (getDataTask.CancellationRequested)
            {
                return;
            }

            if (displayModel != null)
            {
                BitmapImage bitmapImage = ImageSourceReader.Read(displayModel.PhotoURL);
                e.Results = new Tuple <MultiModel, BitmapImage>(displayModel, bitmapImage);;
            }
        }
 private void addNewPerson()
 {
     PersonDataResults = new MultiModel()
     {
         PersonDataTable  = new PersonData(),
         AddressDataTable = new AddressData(),
         DetailsDataTable = new DetailsData(),
     };
 }
示例#3
0
 public bool UpdateData(MultiModel multiModel)
 {
     try
     {
         databaseContext.Entry(multiModel.PersonDataTable).State = EntityState.Modified;
         databaseContext.SaveChanges();
         return(true);
     }
     catch (Exception Ex)
     {
         LogWriter.Exception("Error updating data.", Ex);
         return(false);
     }
 }
示例#4
0
 public bool AddData(MultiModel multiModel)
 {
     try
     {
         multiModel.PersonDataTable.AddressData = multiModel.AddressDataTable;
         multiModel.PersonDataTable.DetailsData = multiModel.DetailsDataTable;
         databaseContext.PersonData.Add(multiModel.PersonDataTable);
         databaseContext.SaveChanges();
         SQLConnection.UpdateTableCount(1);
         return(true);
     }
     catch (Exception Ex)
     {
         LogWriter.Exception("Error updating data.", Ex);
         return(false);
     }
 }
示例#5
0
        public bool DeleteData(MultiModel multiModel)
        {
            try
            {
                // Although my SQL table is set to cascade, I am going to be safe and delete the tables individually.
                databaseContext.Entry(multiModel.AddressDataTable).State = EntityState.Deleted;
                databaseContext.Entry(multiModel.DetailsDataTable).State = EntityState.Deleted;
                databaseContext.SaveChanges();

                databaseContext.Entry(multiModel.PersonDataTable).State = EntityState.Deleted;
                databaseContext.SaveChanges();

                SQLConnection.UpdateTableCount(-1);
                return(true);
            }
            catch (Exception Ex)
            {
                LogWriter.Exception("Error updating data.", Ex);
                return(false);
            }
        }
        // Constructor
        // ---------------------------------------------------------------------------------------------------------------------------------------------
        public AddEditViewModel(DialogData data) : base(data)
        {
            Modify  = new RelayCommand(modifyCommand);
            Clear   = new RelayCommand(clearCommand);
            Browse  = new RelayCommand(browseCommand);
            Catalog = new RelayCommand(catalogCommand);
            Delete  = new RelayCommand(deleteCommand);

            // This is an edit window if we are passed in data.
            if (data.Parameter1 is MultiModel)
            {
                try
                {
                    ModifyContent     = "Modify";
                    PersonDataResults = data.Parameter1 as MultiModel;

                    Firstname = PersonDataResults.Firstname;
                    Lastname  = PersonDataResults.Lastname;
                    Street    = PersonDataResults.Street;
                    City      = PersonDataResults.City;
                    State     = PersonDataResults.State;
                    Zipcode   = PersonDataResults.Zipcode;
                    Phone     = PersonDataResults.Phone;
                    Age       = PersonDataResults.Age;
                    Interests = PersonDataResults.Interests;

                    loadImage(PersonDataResults.PhotoURL);
                }
                catch (Exception Ex)
                {
                    LogWriter.Exception("Error loading in person data from parameter.", Ex);
                }
            }
            else
            {
                addNewPerson();
            }
        }