Beispiel #1
0
        /// <summary>
        /// 得到产品
        /// </summary>
        /// <param name="infos"></param>
        /// <returns></returns>
        protected virtual void UpdateProducts(IList <InventoryEntity> infos)
        {
            IList <ProductEntity> products = new List <ProductEntity>();

            foreach (var info in infos)
            {
                if (info.Product == null)
                {
                    continue;
                }
                if (string.IsNullOrEmpty(info.Weeks) ||
                    !info.Weeks.Contains(((int)DateTime.Now.DayOfWeek).ToString(CultureInfo.InvariantCulture)))
                {
                    continue;
                }
                if (info.MonthsArray == null ||
                    info.MonthsArray.Count(it => it.Equals((DateTime.Now.Day).ToString(CultureInfo.InvariantCulture))) ==
                    0)
                {
                    continue;
                }
                if (info.Type == InvertoryType.Reset && info.Recycle != 0 &&
                    (DateTime.Now - info.StartTime).TotalMinutes % info.Recycle == 0)
                {
                    continue;
                }

                var product = new ProductEntity
                {
                    Id       = info.Product.Id,
                    Count    = info.Count,
                    SaveType = SaveType.Modify
                };
                product.SetProperty(it => it.Count);
                products.Add(product);
            }
            var unitofworks = Repository.Save(products);

            Commit(unitofworks);
        }