public void Run1() { IList <ELDB2.Storages> list = null; using (TransactionScope scope = ELDB2.DBFactory.NewTransactionScope(false)) { IOrmAccesser <ELDB2.Storages> storages = ELDB2.DBFactory.NewOrmAccesser <ELDB2.Storages>(scope); Filter filter = new Filter(ELDB2.Storages._Sign, 1, ComparisonOperators.Equal); ELDB2.Storages storage1 = storages.GetOne(filter); if (storage1 != null) { Filter filter1 = new Filter(ELDB2.Storages._Address, storage1.Address, ComparisonOperators.Equal); list = storages.GetMuch(filter1); string[] data = new string[5]; for (int i = 0; i < 5; i++) { data[i] = ""; } foreach (ELDB2.Storages storage in list) { string s1, s2, s3, s4; switch ("mode1") { case "mode1": s1 = storage.StorageName.Trim() + " " + storage.Act.Trim() + " " + storage.Contents.Trim() + storage.ProductName.Trim() + "".PadRight(56, " "[0]); s1 = StrHandle.GetStringWith(s1, 56); if (storage.Row == "3") { data[0] = s1; } if (storage.Row == "2") { data[1] = s1; } if (storage.Row == "1") { data[2] = s1; } break; case "mode2": s1 = "储位:" + storage.StorageName.Trim(); s1 = StrHandle.GetStringWith(s1, 24); s2 = "操作:" + storage.Act.Trim(); s2 = StrHandle.GetStringWith(s2, 24); s3 = "品牌:" + storage.ProductName.Trim(); s3 = StrHandle.GetStringWith(s3, 24); s4 = "数量:" + storage.Contents.Trim(); s4 = StrHandle.GetStringWith(s4, 20); data[0] = s1; data[0] = data[0] + s2; data[0] = data[0] + s3; data[0] = data[0] + s4; break; default: break; } storage.Sign = 2; storages.Update(storage); IRelationAccesser ra = scope.NewRelationAccesser(); ra.DoCommand("Update [Sy_ShowInfo] set [HardwareReadState] = 1 where ReadState =1 and [StorageID] = '" + storage.StorageID + "'"); } //this.elOpertor.SendData(int.Parse(storage1.Address.Substring(storage1.Address.Length - 2, 2)), data); } scope.Commit(); } }
public void Run(bool isHash) { IList <ELDB2.Storages> list = null; IList <ELDB2.Storages> list1 = null; using (TransactionScope scope = ELDB2.DBFactory.NewTransactionScope(false)) { System.Console.WriteLine(System.DateTime.Now.Second + ":" + System.DateTime.Now.Millisecond); ELDB2.HashSelectHandle hashTable = null; if (isHash) { IRelationAccesser r = scope.NewRelationAccesser(); DataTable tb = r.DoQuery("select * from storages order by Address").Tables[0]; hashTable = new ELDB2.HashSelectHandle(tb); } for (int mm = 0; mm < 5; mm++) { IOrmAccesser <ELDB2.Storages> storages = ELDB2.DBFactory.NewOrmAccesser <ELDB2.Storages>(scope); Filter filter = new Filter(ELDB2.Storages._Sign, 0, ComparisonOperators.Equal); list1 = storages.GetMuch(filter); if (list1 != null) { foreach (ELDB2.Storages storage1 in list1) { if (isHash) { list = hashTable.Select <ELDB2.Storages, string>(ELDB2.Storages._Address, storage1.Address); } else { Filter filter1 = new Filter(ELDB2.Storages._Address, storage1.Address, ComparisonOperators.Equal); list = storages.GetMuch(filter1); } string[] data = new string[5]; for (int i = 0; i < 5; i++) { data[i] = ""; } foreach (ELDB2.Storages storage in list) { string s1, s2, s3, s4; switch ("mode1") { case "mode1": s1 = storage.StorageName.Trim() + " " + storage.Act.Trim() + " " + storage.Contents.Trim() + storage.ProductName.Trim() + "".PadRight(56, " "[0]); s1 = StrHandle.GetStringWith(s1, 56); if (storage.Row == "3") { data[0] = s1; } if (storage.Row == "2") { data[1] = s1; } if (storage.Row == "1") { data[2] = s1; } break; case "mode2": s1 = "储位:" + storage.StorageName.Trim(); s1 = StrHandle.GetStringWith(s1, 24); s2 = "操作:" + storage.Act.Trim(); s2 = StrHandle.GetStringWith(s2, 24); s3 = "品牌:" + storage.ProductName.Trim(); s3 = StrHandle.GetStringWith(s3, 24); s4 = "数量:" + storage.Contents.Trim(); s4 = StrHandle.GetStringWith(s4, 20); data[0] = s1; data[0] = data[0] + s2; data[0] = data[0] + s3; data[0] = data[0] + s4; break; default: break; } storage.Sign = 0; //storages.Update(storage); IRelationAccesser ra = scope.NewRelationAccesser(); //ra.DoCommand("Update [Sy_ShowInfo] set [HardwareReadState] = 1 where ReadState =1 and [StorageID] = '" + storage.StorageID + "'"); } //this.elOpertor.SendData(int.Parse(storage1.Address.Substring(storage1.Address.Length - 2, 2)), data); } } } System.Console.WriteLine(System.DateTime.Now.Second + ":" + System.DateTime.Now.Millisecond); // ========================= scope.Commit(); } }