Example #1
0
        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);
            }
        }
Example #2
0
 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", "未登录或者未授权,不允许操作!");
        }
Example #4
0
        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);
                }
            }
        }
Example #5
0
        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);
                }
            });
        }