Hi all,
I have some understanding issues I hope you can help me with.
Right now I have a table, where I have made a foreign key and then add the foreign keys name whitin the stored procedure. That I know is not the correct way. What I need is a simple example, how to use foreign keys in a mvvm. From the model to the view.
I have 2 models
Category Model - I have comment the one I think not should be here but only in the Project Model
using System.ComponentModel;
namespace Model.Account
{
public class CategoryModel { }
public class Category : INotifyPropertyChanged
{
public Category(){}
private int categoryId;
public int CategoryId
{
get { return categoryId; }
set { categoryId = value; OnPropertyChanged("CategoryId"); }
}
private string categoryName;
public string CategoryName
{
get { return categoryName; }
set { categoryName = value; OnPropertyChanged("CategoryName"); }
}
private bool categoryIsGlobal;
public bool CategoryIsGlobal
{
get { return categoryIsGlobal; }
set { categoryIsGlobal = value; OnPropertyChanged("CategoryIsGlobal"); }
}
private bool categoryIsObsolete;
public bool CategoryIsObsolete
{
get { return categoryIsObsolete; }
set { categoryIsObsolete = value; OnPropertyChanged("CategoryIsObsolete"); }
}
private int projectId;
public int ProjectId
{
get { return projectId; }
set { projectId = value; OnPropertyChanged("ProjectId"); }
}
//This one whould not be here that should only be in the ProjectModel
private string projectName;
public string ProjectName
{
get { return projectName; }
set { projectName = value; OnPropertyChanged("ProjectName"); }
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
And the ProjectModel
using System.ComponentModel;
namespace Model.Projects
{
public class ProjectModels { }
public class Project : INotifyPropertyChanged
{
public Project() { }
private int projectId;
public int ProjectId
{
get { return projectId; }
set { projectId = value; OnPropertyChanged("ProjectId"); }
}
private string projectName;
public string ProjectName
{
get { return projectName; }
set { projectName = value; OnPropertyChanged("ProjectName"); }
}
private string projectDescription;
public string ProjectDescription
{
get { return projectDescription; }
set { projectDescription = value; OnPropertyChanged("ProjectDescription"); }
}
private bool projectIsActive;
public bool ProjectIsActive
{
get { return projectIsActive; }
set { projectIsActive = value; OnPropertyChanged("ProjectIsActive"); }
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Now I need som help to find an example where I can see what to do in the ViewModel and how to do in the View where I have ListView with the Category and the ProjectName. like this CategoryId, CategoryName, ProjectName
The examples I have seen is without a forereign key, so I have no clue to make a list where I add two models into one view? (yes I know I can do it in the stored procedure) but doesn't look right in the model.
Best regards
Simsen :-)
