public async Task <int> SubmitAsync(int id, int userId) { var model = await GetIndexAsync(id); var list = await _storeInoutGoodsContext.GetListByStoreInoutAsync(id); var goods = list.Select(x => new StoreChangeGoodsValueModel { HospitalGoodId = x.HospitalGoods.Id, ChangeQty = x.Qty, Recrdno = RecordNumber.Next(model.ChangeType.Id, x.Id), }); using (var trans = _defaultDbTransaction.Begin()) { _storeContext.BatchCreateOrUpdate(new BatchStoreChangeApiModel { ChangeTypeId = model.ChangeType.Id, HospitalChangeGoods = goods.ToList(), }, model.HospitalDepartment.Id, userId); _StoreInoutRespository.UpdateStatus(id, StoreInoutStatus.Submited); trans.Commit(); } return(0); }
public bool MoveNext() { if (_state == State.Ended) { return(false); } if (_state == State.Initial) { if (_enumerator.MoveNext()) { _state = State.Started; return(true); } _state = State.Ended; return(false); } if (_enumerator.MoveNext()) { _number = _number.Next(); return(true); } _state = State.Ended; return(false); }
public bool MoveNext() { if (_index == _records.Length) { return(false); } _number = _index == -1 ? RecordNumber.Initial : _number.Next(); _index++; if (_index == _failAt) { throw _failure; } return(_index != _records.Length); }
public async Task <int> ComfirmAsync(IList <int> ids, int userId) { foreach (var id in ids) { var goods = await _purchaseGoodsBillnoRespository.GetIndexAsync(id); var changed = new StoreChangeApiModel { ChangeTypeId = (int)StoreChangeType.Purchase, HospitalChangeGoods = new StoreChangeGoodsValueModel { HospitalGoodId = goods.HospitalGoods.Id, ChangeQty = goods.Qty, Recrdno = RecordNumber.Next((int)StoreChangeType.Purchase, id), }, }; var recordId = _storeContext.CreateOrUpdate(changed, goods.Purchase.HospitalDepartment.Id, userId); _storeRecordBillnoContext.Create(id, recordId); _purchaseGoodsBillnoRespository.UpdateStatus(id, BillStatus.Comfirmed); } return(ids.Count); }
public async Task <int> BillAsync(int id, int userId) { var model = await _checkListRespository.GetIndexAsync(id); var list = await _checkListGoodsRespository.GetPreviewListAsync(id); using (var trans = _defaultDbTransaction.Begin()) { var goods1 = list.Where(x => x.StoreQty > x.CheckQty).Select(x => new StoreChangeGoodsValueModel { HospitalGoodId = x.HospitalGoods.Id, ChangeQty = x.StoreQty - x.CheckQty, Recrdno = RecordNumber.Next((int)StoreChangeType.CheckListOut, x.Id), }); _storeContext.BatchCreateOrUpdate(new BatchStoreChangeApiModel { ChangeTypeId = (int)StoreChangeType.CheckListOut, HospitalChangeGoods = goods1.ToList(), }, model.HospitalDepartment.Id, userId); var goods2 = list.Where(x => x.StoreQty < x.CheckQty).Select(x => new StoreChangeGoodsValueModel { HospitalGoodId = x.HospitalGoods.Id, ChangeQty = -x.StoreQty + x.CheckQty, Recrdno = RecordNumber.Next((int)StoreChangeType.CheckListIn, x.Id), }); _storeContext.BatchCreateOrUpdate(new BatchStoreChangeApiModel { ChangeTypeId = (int)StoreChangeType.CheckListIn, HospitalChangeGoods = goods2.ToList(), }, model.HospitalDepartment.Id, userId); _checkListRespository.UpdateStatus(id, CheckListStatus.Billed); trans.Commit(); } return(0); }