public override void Execute(Protocol.Clients.PosStoreClient posStoreClient, Protocol.RequestInfos.PosStorePackageInfo package) { var datas = package.Read <MachineInformation>(); if (datas != null) { var cache = new OnlineCache(); var key = KeyFactory.MachineKeyFactory(datas.CompanyToken, datas.StoreId, datas.MachineSn, datas.DeviceSn); cache.Set(key, datas); } }
public override void Excute(PosStoreServer server, PosStoreSession session, PosStoreRequestInfo requestInfo) { try { var datas = requestInfo.Read <MachineInformation>(); if (datas != null) { var cache = new OnlineCache(); var key = KeyFactory.MachineKeyFactory(datas.CompanyId, datas.StoreId, datas.MachineSn, datas.DeviceSn); cache.Set(key, datas); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static ShoppingCart Factory(string storeId, string machineId, int companyId, string deviceSn, bool isNew = false) { string key = KeyFactory.MachineKeyFactory(companyId, storeId, machineId, deviceSn); if (shoppingCartCache.ContainsKey(key) && !isNew) { #if (Local != true) shoppingCartCache.JsonSerializerSettings = new Newtonsoft.Json.JsonSerializerSettings(); shoppingCartCache.JsonSerializerSettings.Converters.Add(new BarcodeConverter()); #endif var shoppingCart = shoppingCartCache.Get(key); return(shoppingCart); } else { shoppingCartCache.Remove(key); #if (Local != true) OnlineCache onlineCache = new OnlineCache(); #endif #if (Local) OnlineCache onlineCache = Salesclerk.onlineCache; #endif var machineInfo = onlineCache.Get(key); if (machineInfo != null) { var shoppingCart = new ShoppingCart(); shoppingCart.MachineInformation = machineInfo; shoppingCart.NewAndResetOrderSN(); shoppingCartCache.Set(key, shoppingCart); return(shoppingCart); } else { goto TheSaleException; } } TheSaleException: throw new SaleException("400", "未登录或者未授权,不允许操作!"); }
public async Task <bool> GetOnlineCount() { string query = $"SELECT COUNT(*) FROM user_data where login > logout"; using (SqlConnection connection = new SqlConnection( worldConnectionStr)) { SqlCommand command = new SqlCommand(query, connection); command.Connection.Open(); int online = (int)await command.ExecuteScalarAsync(); var OCache = new OnlineCache(); OCache.Online = online; OCache.TDate = DateTime.Now; var count = _db.OnlineCache.Count(); if (count == 0) { _db.OnlineCache.Add(OCache); await _db.SaveChangesAsync(); return(true); } else { var last = await _db.OnlineCache.OrderByDescending(o => o.TDate).FirstAsync(); _db.Attach(last); last.Online = OCache.Online; last.TDate = DateTime.Now; _db.Entry(last).Property(e => e.Online).IsModified = true; _db.Entry(last).Property(e => e.TDate).IsModified = true; await _db.SaveChangesAsync(); return(true); } } }
public static void Sub() { new EventAggregator().Subscribe <SyncMemberNoEvent>("SyncMemberNoEventForServer", (o) => { MemberNo memberNo = new MemberNo(o.CompanyId, o.StoreId); if (memberNo.GetNumber() < o.Number) { memberNo.Reset(o.Number); } }); new EventAggregator().Subscribe <SyncOnlineEvent>("SyncOnlineEventForServer", (o) => { var cache = new OnlineCache(); var key = KeyFactory.MachineKeyFactory(o.CompanyToken, o.StoreId, o.MachineSn, o.DeviceSn); cache.Set(key, new MachineInformation() { CashierName = o.CashierName, CashierOperateAuth = o.CashierOperateAuth, CashierUid = o.CashierUid, CashierUserCode = o.CashierUserCode, CompanyToken = o.CompanyToken, DeviceSn = o.DeviceSn, InTestMode = o.InTestMode, MachineSn = o.MachineSn, StoreId = o.StoreId, StoreName = o.StoreName }); }); new EventAggregator().Subscribe <SyncSerialNumberEvent>("SyncSerialNumberEventForServer", (o) => { PaySn customOrderSn = new PaySn(o.CompanyToken, o.StoreId, o.MachineSn); if (customOrderSn.GetNumber() < o.Number) { customOrderSn.ResetSerialNumber(o.Number); } }); }