protected override async Task <MovementGoods> PreparingReport() { return(await Task.Run(() => { MovementGoods temp = (MovementGoods)MovementGoodsReport.Clone(); foreach (var movementGoodsInfo in temp.MovementGoodsInfosCollection) { movementGoodsInfo.EquivalentCost = movementGoodsInfo.Price / temp.EquivalentRate; foreach (var serialNumber in movementGoodsInfo.Product.SerialNumbersCollection) { serialNumber.DateCreated = null; serialNumber.IdProduct = movementGoodsInfo.Product.Id; temp.SerialNumberLogsCollection.Add(new SerialNumberLog { SerialNumber = serialNumber }); } movementGoodsInfo.Product = null; } return temp; })); }
protected override async Task <MovementGoods> PreparingReport() { MovementGoods temp = (MovementGoods)MovementGoodsReport.Clone(); Task <(long id, Task <List <long> > serialNumbers)>[] tasksGetFreeSerialNumbers = temp.MovementGoodsInfosCollection.SelectMany(m => m.Product.SerialNumbersCollection.Select(s => Task.Run(() =>