public async Task <IActionResult> Get(int id)
        {
            var item = await _collectiveDayRepository.GetSingleAsync(id);

            if (item == null)
            {
                return(NotFound());
            }
            var result = Mapper.Map <CollectiveDayViewModel>(item);

            return(Ok(result));
        }
        public async Task Initialzie(DateTime date, string userName)
        {
            var dateStr = date.ToString("yyyy-MM-dd");
            var item    = await _collectiveDayRepository.GetSingleAsync(x => x.Date == dateStr, x => x.CollectiveProductSnapshots);

            var products = await _productRepository.All.Where(x => !x.Deleted).ToListAsync();

            var productForCollectives = await _productForCollectiveRepository.All.Where(x => !x.Deleted).ToListAsync();

            if (item != null)
            {
                if (item.Initialized)
                {
                    throw new Exception("该集体户日已经初始化, 操作失败");
                }
                item.Initialized = true;
                item.SetModification(userName, "初始化");
                InitializeCollectiveProducts(userName, item, productForCollectives, products);
                _collectiveDayRepository.Update(item);
            }
            else
            {
                item = new CollectiveDay
                {
                    Date        = dateStr,
                    Initialized = true
                };
                item.SetCreation(userName, "初始化");
                InitializeCollectiveProducts(userName, item, productForCollectives, products);
                _collectiveDayRepository.Add(item);
            }
        }
Exemple #3
0
        protected async Task <bool> HasCollectiveDayBeenInitialized(DateTime?date = null)
        {
            var dateStr = !date.HasValue ? Now.AddDays(1).Date.ToString("yyyy-MM-dd") : date.Value.ToString("yyyy-MM-dd");
            var item    = await CollectiveDayRepository.GetSingleAsync(x => x.Date == dateStr);

            return(item != null && item.Initialized);
        }