110,536
社区成员
发帖
与我相关
我的任务
分享
class User
{
public string UserName { get; set; }
public string Password { get; set; }
public bool Sex { get; set; }
public string City { get; set; }
}
class UserGroup
{
public int ID { get; set; }
public string GroupName { get; set; }
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class User
{
[Key]
public string UserName { get; set; }
[Required]
public string Password { get; set; }
public bool Sex { get; set; }
public string City { get; set; }
public UserGroup Group { get; set; }
}
class UserGroup
{
public int ID { get; set; }
public string GroupName { get; set; }
public IList<User> Users { get; set; }
}
}
class UserDB : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<UserGroup> UserGroup { get; set; }
}
<configuration>
<connectionStrings>
<add
name="UserDB"
providerName="System.Data.SqlClient"
connectionString="Server=.\SQLEXPRESS;Database=ConsoleApplication1_db;Trusted_Connection=true;"/>
</connectionStrings>
UserDB db = new UserDB();
var ug = new UserGroup()
{
ID = 1,
GroupName = "Admin"
};
db.UserGroup.Add(ug);
db.SaveChanges();
Database.SetInitializer<UserDB>(new DropCreateDatabaseAlways<UserDB>());
class DBInitializer : DropCreateDatabaseAlways<UserDB>
{
protected override void Seed(UserDB context)
{
base.Seed(context);
//添加用户组
var uglist = new List<UserGroup>()
{
new UserGroup()
{
GroupName = "Admin"
},
new UserGroup()
{
GroupName = "User"
},
new UserGroup()
{
GroupName = "Guest"
}
};
uglist.ForEach(ug => context.UserGroup.Add(ug));
//上面的 Lambda 表达式等同下面的语句。
//foreach (var ug in uglist)
//{
// context.UserGroup.Add(ug);
//}
context.SaveChanges();
//添加管理员
UserGroup ugadmin = (from x in context.UserGroup
where x.GroupName == "Admin" select x).SingleOrDefault();
if (ugadmin != null)
{
var adminuserlist = new List<User>()
{
new User()
{
UserName = "张三",
City = "北京",
Password = "123456",
Sex = true,
Group = ugadmin
},
new User()
{
UserName = "李四",
City = "天津",
Password = "123456",
Sex = true,
Group = ugadmin
}
};
adminuserlist.ForEach(adminuser => context.Users.Add(adminuser));
}
//添加用户
UserGroup uguser = (from x in context.UserGroup
where x.GroupName == "User"
select x).SingleOrDefault();
if (uguser != null)
{
var userlist = new List<User>()
{
new User()
{
UserName = "小红",
City = "上海",
Password = "xiaohong123",
Sex = false,
Group = uguser
},
new User()
{
UserName = "大军",
City = "唐山",
Password = "123456",
Sex = true,
Group = uguser
},
new User()
{
UserName = "丽丽",
City = "沧州",
Password = "88888888",
Sex = false,
Group = uguser
}
};
userlist.ForEach(user => context.Users.Add(user));
}
context.SaveChanges();
}
}
class User
{
[Key]
public string UserName { get; set; }
[Required]
public string Password { get; set; }
public bool Sex { get; set; }
public string City { get; set; }
public virtual UserGroup Group { get; set; }
public override string ToString()
{
return string.Format("用户名:{0}, 城市:{1}, 所属组:{2}, 性别:{3}.",
UserName, City, Group, Sex == false ? "女" : "男");
}
}
class UserGroup
{
public int ID { get; set; }
public string GroupName { get; set; }
public virtual IList<User> Users { get; set; }
public override string ToString()
{
return string.Format("用户组名:{0}.",
GroupName);
}
}
//审核
if (IsCheck)
{
//更新即时库存表数据
EntityObjectList eoWHDetail = eo.GetChildEntityObjects(EntityIDEnum.CGRKDetail);//明细物料
EntityObjectFactory eof = EntityObjectFactory.GetInstance(this.Context, EntityIDEnum.NowKucun);//库存
foreach (EntityObject eoMat in eoWHDetail)
{
if (eoMat != null)
{
EntityObject eoMalUpdate = eof.FindFirst("MaterialID={0} and WareNewID={1} and jiliangdanweiID={2} ", eoMat.GetProperty("MaterialID"), eo.GetProperty("WareNewID").ToString(), eoMat.GetRelatedObject("MaterialID").GetProperty("JiliangdanweiID").ToString());
decimal currentQty = 0m;
decimal currentAmount = 0m;
if (eoMalUpdate != null)
{
//如果不是第一次入库,也就是即时库存表里面有这个物料数据,我就得到当前的库存数
currentQty = decimal.Parse(eoMalUpdate.GetProperty("Quantity").ToString());
//修改库存数
eoMalUpdate.SetProperty("Quantity", currentQty + decimal.Parse(eoMat.GetProperty("Many").ToString()));
//修改库存单价
eoMalUpdate.SetProperty("Amount", currentAmount + decimal.Parse(eoMat.GetProperty("TotalMoney").ToString()));
if ((currentQty + decimal.Parse(eoMat.GetProperty("Many").ToString())) != 0m)
eoMalUpdate.SetProperty("Danjia", (currentAmount + decimal.Parse(eoMat.GetProperty("TotalMoney").ToString())) / (currentQty + decimal.Parse(eoMat.GetProperty("Many").ToString())));
}
else
{
//该物料第一次入库
EntityObject eoMalUpdateNew = eof.CreateObject();
eoMalUpdateNew.SetProperty("MaterialID", eoMat.GetProperty("MaterialID"));
eoMalUpdateNew.SetProperty("WareNewID", eo.GetProperty("WareNewID"));
eoMalUpdateNew.SetProperty("Quantity", eoMat.GetProperty("Many"));
eoMalUpdateNew.SetProperty("Danjia", eoMat.GetProperty("PerMoney"));
eoMalUpdateNew.SetProperty("Amount", eoMat.GetProperty("TotalMoney"));
eoMalUpdateNew.SetProperty("JiliangdanweiID", eoMat.GetRelatedObject("MaterialID").GetProperty("JiliangdanweiID"));
}
}
}
this.Context.SaveChanges();
return true;
}
这样让编程纯面向对象,可以让开发效率倍增,开发周期为原来的1/3,有兴趣的朋友也可以去我们官网下载我们的框架体验体验。