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);
        }
Example #2
0
        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
            })));
        }
Example #3
0
        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);
        }