在ProviderBase类中定义字段 public ShoppingDBEntities db = new ShoppingDBEntities();
修改MemberProvider类,建立增删改查代码如下
csharp复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 超市管理系统.Entity
{
public class MemberProvider : ProviderBase, Iprovider<Member>
{
public int Delete(Member entity)
{
db.Entry(entity).State =System.Data.Entity.EntityState.Deleted;
return db.SaveChanges();
}
public List<Member> GetAll()
{
return db.Member.ToList();
}
public int Insert(Member entity)
{
db.Entry(entity).State = System.Data.Entity.EntityState.Added;
return db.SaveChanges();
}
public int Update(Member entity)
{
db.Entry(entity).State = System.Data.Entity.EntityState.Modified;
return db.SaveChanges();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 超市管理系统.Entity
{
public class ProductProvider : ProviderBase, Iprovider<Product>
{
ProductProviderpublic int Delete(Product entity)
{
db.Entry(entity).State = System.Data.Entity.EntityState.Deleted;
return db.SaveChanges();
}
public List<Product > GetAll()
{
return db.Product.ToList();
}
public int Insert(Product entity)
{
db.Entry(entity).State = System.Data.Entity.EntityState.Added;
return db.SaveChanges();
}
public int Update(Product entity)
{
db.Entry(entity).State = System.Data.Entity.EntityState.Modified;
return db.SaveChanges();
}
}
}
public class ViewModelLocator
{
public ViewModelLocator()
{
SimpleIoc.Default.Register<LoginViewModel>();
}
public LoginViewModel LoginViewModel
{
get
{
return ServiceLocator.Current.GetInstance<LoginViewModel>();
}
}
}
AppData.cs创建属性 public Member CurrentUser { get; set; } = new Member();
csharp复制代码
public class AppData: ObservableObject
{
public static AppData Instance{ get; set; } = new Lazy<AppData>(() => new AppData()).Value;
public Member CurrentUser { get; set; } = new Member();
}
LoginViewModel.cs内创建的当前用户实体为只读属性 public AppData AppData => AppData.Instance;"
创建Member类的用户实体字段和属性
csharp复制代码
//默认放入账号和密码,用于调试
private Member member = new Member() { Name = "admin", Password="123"};
public Member Member
{
get { return member; }
set
{
member = value;
RaisePropertyChanged();
}
}
using CommonServiceLocator;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Ioc;
using 超市管理系统.ViewModel;
namespace 超市管理系统.ViewModel
{
public class ViewModelLocator
{
/// <summary>
/// Initializes a new instance of the ViewModelLocator class.
/// </summary>
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<MainViewModel>();
SimpleIoc.Default.Register<LoginViewModel>();
SimpleIoc.Default.Register<IndexViewModel>();
SimpleIoc.Default.Register<OrderViewModel>();
SimpleIoc.Default.Register<CustomerViewModel>();
SimpleIoc.Default.Register<GoodsViewModel>();
SimpleIoc.Default.Register<InstorageViewModel>();
SimpleIoc.Default.Register<OutstorageViewModel>();
SimpleIoc.Default.Register<OrderDetailViewModel>();
SimpleIoc.Default.Register<SettingViewModel>();
SimpleIoc.Default.Register<MemberViewModel>();
SimpleIoc.Default.Register<SupplierViewModel>();
}
/// <summary>
/// 主窗口所用
/// </summary>
public MainViewModel Main
{
get
{
return ServiceLocator.Current.GetInstance<MainViewModel>();
}
}
/// <summary>
/// 登录窗口所用
/// </summary>
public LoginViewModel LoginViewModel
{
get
{
return ServiceLocator.Current.GetInstance<LoginViewModel>();
}
}
///lambda
public IndexViewModel IndexViewModel => ServiceLocator.Current.GetInstance<IndexViewModel>();
public OrderViewModel OrderViewModel => ServiceLocator.Current.GetInstance<OrderViewModel>();
public CustomerViewModel CustomerViewModel => ServiceLocator.Current.GetInstance<CustomerViewModel>();
public GoodsViewModel GoodsViewModel => ServiceLocator.Current.GetInstance<GoodsViewModel>();
public InstorageViewModel InstorageViewModel => ServiceLocator.Current.GetInstance<InstorageViewModel>();
public OutstorageViewModel OutstorageViewModel => ServiceLocator.Current.GetInstance<OutstorageViewModel>();
public OrderDetailViewModel OrderDetailViewModel => ServiceLocator.Current.GetInstance<OrderDetailViewModel>();
public SettingViewModel SettingViewModel => ServiceLocator.Current.GetInstance<SettingViewModel>();
public MemberViewModel MemberViewModel => ServiceLocator.Current.GetInstance<MemberViewModel>();
public SupplierViewModel SupplierViewModel => ServiceLocator.Current.GetInstance<SupplierViewModel>();
public static void Cleanup()
{
// TODO Clear the ViewModels
}
}
}