示例#1
0
        /// <summary>
        /// Obtiene todos los productos con bajo stock y monedas  y los envia por email
        /// </summary>
        public void SendEmailLowStock()
        {
            //bucle que se va a ejecutar siempre para comprobar los items de las máquinas
            while (true)
            {
                //enviará en email cada 12 horas
                Thread.Sleep(43200000);

                var mailDataInfo = new HashSet <InfoLowStockSave <StringBuilder, int> >();

                //obtengo los productos con stock bajo
                mailDataInfo.UnionWith(iCheckLowStock.ProductsCheck());

                //Obtengo las monedas de las máquinas que están bajas de stock
                mailDataInfo.UnionWith(iCheckLowStock.CoinsStock());

                //Obtendo los diferentes ids que tengo
                HashSet <int>           ids = mailDataInfo.Select(X => X.id).ToHashSet();
                HashSet <StringBuilder> stringToSend;

                foreach (var id in ids)
                {
                    stringToSend = mailDataInfo.Where(x => x.id == id && x.id != NO_ID).Select(y => y.sb).ToHashSet();
                    IntegrateSendEmail(id, stringToSend);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Obtiene todos las monedas que tengan un stock bajo para el usuario actual
        /// </summary>
        /// <param name="iLogged"></param>
        /// <returns></returns>
        public IEnumerable <InfoLowStockSave <StringBuilder, int> > ReturnInfoLowStockCoins(ILogged iLogged)
        {
            var userLowStockCoins = new HashSet <InfoLowStockSave <StringBuilder, int> >();

            //Solo devuelve las monedas con bajo stock que se correspondan con el usuario logueado
            foreach (var item in checkLowStock.CoinsStock())
            {
                if (item.id == iLogged.GetUserIdLogged())
                {
                    userLowStockCoins.Add(item);
                }
            }

            return(userLowStockCoins);
        }