Как добавить SelectedValue из Combobox в Запрос
Пробую добавить данные в БД из формы, выдается ошибка, что "Строка имела не верный формат". Добавление:
private RelayCommand addCmd;
public RelayCommand AddCmd
{
get
{
return addCmd ?? (
addCmd = new RelayCommand(obj =>
{
using (dbEntities db = new dbEntities())
{
users users = new users
{
secondname = Secondname.Trim(),
firstname = Firstname.Trim(),
middlename = Middlename.Trim(),
datebirth = BirthDate,
gender = Genders.Select(a => a.Value).ToString(),
iddivision = int.Parse(Division.Select(d=> d.iddivision).ToString())
};
db.users.Add(users);
db.SaveChanges();
}
}));
}
}
XAML:
<TextBox x:Name="txtSecondName" Text="{Binding Secondname}" />
<TextBox x:Name="txtFirstName" Text="{Binding Firstname}" />
<TextBox x:Name="txtMidName" Text="{Binding Middlename}" />
<ComboBox x:Name="cbGender"
ItemsSource="{Binding Genders}"
SelectedValuePath="Value"
DisplayMemberPath="Name"
IsSynchronizedWithCurrentItem="True" />
<DatePicker x:Name="dpBirth" SelectedDate="{Binding BirthDate}" />
<ComboBox x:Name="cbDivision"
ItemsSource="{Binding Division}"
SelectedValuePath="iddivision"
DisplayMemberPath="namedivision"
IsSynchronizedWithCurrentItem="True" />
<Button x:Name="buttAdd" Command="{Binding AddCmd}" Content="Добавить" />
Заполнение ComboBox:
Division = new ObservableCollection<ModelDivision>(ModelDivision.GetDivision());
Genders = new ObservableCollection<ModelGender>(ModelGender.GetGenders());
В котором
public partial class ModelGender
{
public string Value { get; set; }
public string Name { get; set; }
public static List<ModelGender> GetGenders()
{
List<ModelGender> genders = new List<ModelGender>();
genders.Add(new ModelGender() { Value = "1", Name = "М" });
genders.Add(new ModelGender() { Value = "2", Name = "Ж" });
return genders;
}
}
public partial class ModelDivision
{
//here - getters and setters
public static List<ModelDivision> GetDivision()
{
using (dbEntities db = new dbEntities())
{
var query = db.division.ToList().Join(db.users,
u => u.iduser,
d => d.iduser,
(u, d) => new ModelDivision
{
iddivision = u.iddivision,
namedivision = u.namedivision,
secondnameuser = d.secondname,
firstnameuser = d.firstname,
middlenameuser = d.middlename
}).ToList();
return query;
}
}
}
}