Browse Source

更新档案按照频率归类。

master
yibo 7 years ago
parent
commit
7d6e151757
1 changed files with 182 additions and 92 deletions
  1. +182
    -92
      B3ClientService/Tasks/SyncInfoFromServer.cs

+ 182
- 92
B3ClientService/Tasks/SyncInfoFromServer.cs View File

@ -39,21 +39,21 @@ namespace BWP.B3ClientService.Tasks
if (ex.Message != "Can only start once")
throw;
}
SyncWpfUser();
SyncUserEmployee();
SyncEmployee();
SyncEmpInfoTable();
//SyncWpfUser();
//SyncUserEmployee();
//SyncEmployee();
//SyncEmpInfoTable();
SyncCar();
SyncLivestock();
SyncPurchaseType();
//SyncLivestock();
//SyncPurchaseType();
SyncSupplier();
SyncZone();
SyncFarmer();
SyncHogGrade();
SyncLiveColonyHouse();
SyncSanction();
SyncLiveVarieties();
SyncBodyDiscontItem();
//SyncHogGrade();
//SyncLiveColonyHouse();
//SyncSanction();
//SyncLiveVarieties();
//SyncBodyDiscontItem();
//SyncClientGoodsSet();
//SyncCustomer();
//SyncDeliverGoodsLine();
@ -184,6 +184,150 @@ namespace BWP.B3ClientService.Tasks
// }
//}
void SyncCar()
{
SyncBaseInfo<Car>("GetCar");
}
void SyncBaseInfoFromString<T>(string rpcMethodName, string rpcClassName = null)
where T : BWP.B3ClientService.BO.BaseInfo, new()
{
if (rpcClassName == null)
rpcClassName = "TouchScreenRpcs";
var result = RpcFacade.Call<string>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName));
var list = serializer.Deserialize<List<CTuple<long, string, string>>>(result);
var dmoInfo = DmoInfo.Get(typeof(T));
using (var context = new TransactionContext())
{
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject);
context.Session.ExecuteSqlNonQuery(sql1);
foreach (var item in list)
{
var entity = new T();
entity.ID = item.Item1;
entity.Name = item.Item2;
entity.Spell = item.Item3;
context.Session.Insert(entity);
}
context.Commit();
}
}
void SyncSupplier()
{
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetSupplier");
using (var context = new TransactionContext())
{
var sql1 = @"truncate table [B3ClientService_Supplier];";
context.Session.ExecuteSqlNonQuery(sql1);
foreach (RpcObject o in list)
{
var entity = new Supplier();
entity.ID = o.Get<long>("ID");
entity.Name = o.Get<string>("Name");
entity.Spell = o.Get<string>("Spell");
entity.IDCardNumber = o.Get<string>("Card_ID");
entity.BankAccount = o.Get<string>("BankAccount");
context.Session.Insert(entity);
}
context.Commit();
}
}
void SyncZone()
{
SyncBaseInfo<Zone>("GetZone");
}
void SyncFarmer()
{
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetFarmer");
using (var context = new TransactionContext())
{
var sql1 = @"truncate table [B3ClientService_Farmer];";
context.Session.ExecuteSqlNonQuery(sql1);
foreach (RpcObject o in list)
{
var entity = new Farmer();
entity.ID = o.Get<long>("ID");
entity.Name = o.Get<string>("Name");
entity.Spell = o.Get<string>("Spell");
entity.Tel = o.Get<string>("Tel");
entity.Address = o.Get<string>("Address");
entity.IDCard = o.Get<string>("IDCard");
entity.BankAccount = o.Get<string>("BankAccount");
context.Session.Insert(entity);
}
context.Commit();
}
}
void SyncBaseInfo<T>(string rpcMethodName, string rpcClassName = null)
where T : BWP.B3ClientService.BO.BaseInfo, new()
{
if (rpcClassName == null)
rpcClassName = "TouchScreenRpcs";
var list = RpcFacade.Call<List<RpcObject>>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName));
var dmoInfo = DmoInfo.Get(typeof(T));
using (var context = new TransactionContext())
{
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject);
context.Session.ExecuteSqlNonQuery(sql1);
foreach (RpcObject o in list)
{
var entity = new T();
entity.ID = o.Get<long>("ID");
entity.Name = o.Get<string>("Name");
entity.Spell = o.Get<string>("Spell");
if (entity is Car)
{
var car = entity as Car;
car.Driver_IDCard = o.Get<string>("Driver_IDCard");
context.Session.Insert(car);
}
else
context.Session.Insert(entity);
}
context.Commit();
}
}
public string Name
{
get { return "从B3同步基础信息到Server服务器"; }
}
}
public class SyncInfoLowRate : ITimerTask
{
public void Execute()
{
var serverUri = ServerHost.GetServerUrl();
if (string.IsNullOrEmpty(serverUri))
{
try
{
RpcFacade.Init(serverUri, "B3ClientServer");
}
catch (Exception ex)
{
if (ex.Message != "Can only start once")
throw;
}
SyncWpfUser();
SyncUserEmployee();
SyncEmployee();
SyncEmpInfoTable();
SyncLivestock();
SyncPurchaseType();
SyncHogGrade();
SyncLiveColonyHouse();
SyncSanction();
SyncLiveVarieties();
SyncBodyDiscontItem();
}
}
static void SyncWpfUser()
{
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetWpfUser");
@ -280,15 +424,10 @@ namespace BWP.B3ClientService.Tasks
}
}
void SyncCar()
{
SyncBaseInfo<Car>("GetCar");
}
void SyncLivestock()
{
var result = RpcFacade.Call<string>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetLivestock");
var list = serializer.Deserialize<List<CTuple<long, string, short, int?, string>>>(result);
var list = JsonConvert.DeserializeObject<List<CTuple<long, string, short, int?, string>>>(result);
using (var context = new TransactionContext())
{
var sql1 = @"truncate table [B3ClientService_Livestock];";
@ -312,84 +451,11 @@ namespace BWP.B3ClientService.Tasks
SyncBaseInfoFromString<BodyDiscontItem>("GetBodyDiscontItem");
}
void SyncBaseInfoFromString<T>(string rpcMethodName, string rpcClassName = null)
where T : BWP.B3ClientService.BO.BaseInfo, new()
{
if (rpcClassName == null)
rpcClassName = "TouchScreenRpcs";
var result = RpcFacade.Call<string>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName));
var list = serializer.Deserialize<List<CTuple<long, string, string>>>(result);
var dmoInfo = DmoInfo.Get(typeof(T));
using (var context = new TransactionContext())
{
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject);
context.Session.ExecuteSqlNonQuery(sql1);
foreach (var item in list)
{
var entity = new T();
entity.ID = item.Item1;
entity.Name = item.Item2;
entity.Spell = item.Item3;
context.Session.Insert(entity);
}
context.Commit();
}
}
void SyncPurchaseType()
{
SyncBaseInfo<PurchaseType>("GetPurchaseType");
}
void SyncSupplier()
{
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetSupplier");
using (var context = new TransactionContext())
{
var sql1 = @"truncate table [B3ClientService_Supplier];";
context.Session.ExecuteSqlNonQuery(sql1);
foreach (RpcObject o in list)
{
var entity = new Supplier();
entity.ID = o.Get<long>("ID");
entity.Name = o.Get<string>("Name");
entity.Spell = o.Get<string>("Spell");
entity.IDCardNumber = o.Get<string>("Card_ID");
entity.BankAccount = o.Get<string>("BankAccount");
context.Session.Insert(entity);
}
context.Commit();
}
}
void SyncZone()
{
SyncBaseInfo<Zone>("GetZone");
}
void SyncFarmer()
{
var list = RpcFacade.Call<List<RpcObject>>("/MainSystem/B3ButcherManage/Rpcs/TouchScreenRpcs/GetFarmer");
using (var context = new TransactionContext())
{
var sql1 = @"truncate table [B3ClientService_Farmer];";
context.Session.ExecuteSqlNonQuery(sql1);
foreach (RpcObject o in list)
{
var entity = new Farmer();
entity.ID = o.Get<long>("ID");
entity.Name = o.Get<string>("Name");
entity.Spell = o.Get<string>("Spell");
entity.Tel = o.Get<string>("Tel");
entity.Address = o.Get<string>("Address");
entity.IDCard = o.Get<string>("IDCard");
entity.BankAccount = o.Get<string>("BankAccount");
context.Session.Insert(entity);
}
context.Commit();
}
}
void SyncHogGrade()
{
SyncBaseInfo<HogGrade>("GetHogGrade");
@ -424,8 +490,32 @@ namespace BWP.B3ClientService.Tasks
SyncBaseInfo<LiveVarieties>("GetLiveVarieties");
}
void SyncBaseInfoFromString<T>(string rpcMethodName, string rpcClassName = null)
where T : BWP.B3ClientService.BO.BaseInfo, new()
{
if (rpcClassName == null)
rpcClassName = "TouchScreenRpcs";
var result = RpcFacade.Call<string>(string.Format("/MainSystem/B3ButcherManage/Rpcs/{0}/{1}", rpcClassName, rpcMethodName));
var list = JsonConvert.DeserializeObject<List<CTuple<long, string, string>>>(result);
var dmoInfo = DmoInfo.Get(typeof(T));
using (var context = new TransactionContext())
{
var sql1 = string.Format(@"truncate table [{0}];", dmoInfo.MappedDBObject);
context.Session.ExecuteSqlNonQuery(sql1);
foreach (var item in list)
{
var entity = new T();
entity.ID = item.Item1;
entity.Name = item.Item2;
entity.Spell = item.Item3;
context.Session.Insert(entity);
}
context.Commit();
}
}
void SyncBaseInfo<T>(string rpcMethodName, string rpcClassName = null)
where T : BWP.B3ClientService.BO.BaseInfo, new()
where T : BWP.B3ClientService.BO.BaseInfo, new()
{
if (rpcClassName == null)
rpcClassName = "TouchScreenRpcs";
@ -456,7 +546,7 @@ namespace BWP.B3ClientService.Tasks
public string Name
{
get { return "从B3同步基础信息到Server服务器"; }
get { return "基础信息同步_低频率"; }
}
}
}

Loading…
Cancel
Save