private IEnumerable <SummaryDetails> GetVMMappingSummary() { //Use decorators to build a summary MappingSummary summary = new VMMappingSummary(); foreach (KeyValuePair <string, VmMapping> pair in m_vmMappings) { if (HasTemplatesOnly) { summary = new TemplateTitleSummary(summary, pair.Value); } else { summary = new VmTitleSummary(summary, pair.Value); } summary = new DestinationPoolSummary(summary, pair.Value, TargetConnection); summary = new TargetServerSummary(summary, pair.Value, TargetConnection); summary = new TransferNetworkSummary(summary, m_pageTransferNetwork.NetworkUuid.Value); summary = new StorageSummary(summary, pair.Value, xenConnection); summary = new NetworkSummary(summary, pair.Value, xenConnection); summary = new SummarySplitter(summary); } return(summary.Details); }
public async Task <IActionResult> GetStockLogReport() { StorageCategory category = new StorageCategory(); var list = await _storageLogApp.GetList(); category.HospialName = await _organizeApp.GetHospitalName(); category.HospialLogo = await _organizeApp.GetHospitalLogo(); var first = list.FirstOrDefault(); category.PrintDate = first == null ? "" : first.F_CheckTime.ToChineseDateString(); category.Costs = list.Sum(t => t.F_TotalCharges).ToFloat(2); foreach (var item in list) { var storagesum = category.StorageSummaries.FirstOrDefault(t => t.StorageType.Equals(item.F_ImpClass)); if (storagesum == null) { storagesum = new StorageSummary { StorageType = item.F_ImpClass, Costs = 0f }; category.StorageSummaries.Add(storagesum); } storagesum.Costs = storagesum.Costs + item.F_TotalCharges.ToFloat(2); var storage = storagesum.StorageDetails.FirstOrDefault(t => t.ItemId.Equals(item.F_ItemId)); if (storage == null) { storage = new StorageDetail { ItemId = item.F_ItemId, ItemCode = item.F_Code, ItemName = item.F_Name, ItemSpec = item.F_Spec, Amount = item.F_Amount.ToFloat(2), Charges = item.F_TotalCharges.ToFloat(2), Price = item.F_Charges.ToFloat(2), Unit = item.F_Unit, CheckResultType = item.F_CheckType, RealAmount = item.F_RealAmount.ToInt() }; storagesum.StorageDetails.Add(storage); } else { storage.Amount += item.F_Amount.ToFloat(2); storage.Charges += item.F_TotalCharges.ToFloat(2); } } return(Content(await _storageApp.GetStorageLogReport(new List <StorageCategory> { category }))); }
public StorageSummary CalculateSummary(List <int> storageGroupIds) { var storageSummary = new StorageSummary(); foreach (var storage in _sevice.GetList(_userId, storageGroupIds)) { storageSummary.Update(storage.StorageGroup, storage.Currency, storage.Value); } return(storageSummary); }