MVVM修改数据
开发工具与关键技术:
撰写时间:2021.5.26
下面说一下Mvvm的修改数据
首先,同数据的修改跟新增的窗口页面是一样的,所以这里用同一个窗口页面,在打开新增或修改窗口页面之前,在新增或修改窗口页面的ViewModel写一个新增和修改标志来辨别是要作新增还是修改操作。
下面是打开新增窗口,点击新增按钮打开,状态是true。
下面是打开修改窗口,点击修改按钮打开,状态是False。
最后就是修改操作,也是写跟新增在一个方法里面的,
public void Save(Window window)
{
//会员类型
S_Member member = new S_Member
{
type = MemberEntity.type,
diningDiscount= MemberEntity.diningDiscount,
freshDiscount= MemberEntity.freshDiscount,
remark= MemberEntity.remark,
amount=0,
};
//判断是否重复
var userTypeCount = myModel.S_Member.Where(m => m.type == MemberEntity.type.Trim() && m.memberID != MemberEntity.memberID).ToList().Count;
if (userTypeCount>0)
{
MessageBox.Show(“新增重复了”, “喂”, MessageBoxButton.OK, MessageBoxImage.Stop);
}
else
{
判断isAdd新增和修改标志,默认是true,这里直接写isAdd
//新增
if (isAdd)
{
myModel.S_Member.Add(member);
if (myModel.SaveChanges()>0)
{
MessageBox.Show(“新增成功了哇”, “噢耶”, MessageBoxButton.OK, MessageBoxImage.Information);
window.Close();
}
else
{
MessageBox.Show(“新增失败”, “很抱歉”, MessageBoxButton.OK, MessageBoxImage.Stop);
}
}
else就是修改了,获取主键ID
else
{
member.memberID = MemberEntity.memberID;
//修改
myModel.Entry(member).State = EntityState.Modified;
if (myModel.SaveChanges()>0)
{
MessageBox.Show(“修改成功了哦”, “哈哈哈”, MessageBoxButton.OK, MessageBoxImage.Information);
window.Close();
}
else
{
MessageBox.Show(“修改失败了耶”, “不好意思”, MessageBoxButton.OK, MessageBoxImage.Stop);
}
}
} }
}
}