当前位置: 首页>>代码示例>>C#>>正文


C# Calculator.CalculateDetail方法代码示例

本文整理汇总了C#中Calculator.CalculateDetail方法的典型用法代码示例。如果您正苦于以下问题:C# Calculator.CalculateDetail方法的具体用法?C# Calculator.CalculateDetail怎么用?C# Calculator.CalculateDetail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Calculator的用法示例。


在下文中一共展示了Calculator.CalculateDetail方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: UploadFile


//.........这里部分代码省略.........
                            context.FinancialDatas = new List<FinancialData>();

                            foreach (FinancialData data in financialDatas.Where(i => i.ContextID == context.ContextID))
                            {
                                context.FinancialDatas.Add(data);
                            };
                        }

                        // ----- UNIT -------
                        foreach (Unit unit in units)
                        {
                            foreach (FinancialData data in financialDatas.Where(i => i.UnitID == unit.UnitId))
                            {
                                unit.FinancialDatas.Add(data);
                            };
                        }

                        if (ModelState.IsValid)
                        {
                            foreach (Context context in contexts)
                            {
                                db.Entry(context).State = EntityState.Modified;
                            }

                            foreach (Unit unit in units)
                            {
                                db.Entry(unit).State = EntityState.Modified;
                            }

                            db.SaveChanges();
                        }

                        // Calculate KPIs
                        Calculator calculator = new Calculator();
                        ICollection<CalculatedKPI> calculatedKPIs = new List<CalculatedKPI>();

                        foreach (ContextContainer contextContainer2 in contextContainers)
                        {
                            contextContainer2.CalculatedKPIs = new List<CalculatedKPI>();
                            foreach (FormulaDetail formula in taxonomy.FormulaDetails)
                            {
                                decimal result = 0;
                                List<FinancialData> isFinancialDatas = new List<FinancialData>();
                                List<FinancialData> bsFinancialDatas = new List<FinancialData>();
                                if (contextContainer2.Contexts.Where(i => i.Type == ContextType.IncomeStatement).Count() > 0) {
                                    isFinancialDatas = contextContainer2.Contexts.Where(i => i.Type == ContextType.IncomeStatement).Single().FinancialDatas.ToList();
                                }
                                if (contextContainer2.Contexts.Where(i => i.Type == ContextType.BalanceSheet).Count() > 0) {
                                    bsFinancialDatas = contextContainer2.Contexts.Where(i => i.Type == ContextType.BalanceSheet).Single().FinancialDatas.ToList();
                                }

                                if (calculator.CalculateDetail(isFinancialDatas, bsFinancialDatas, formula.FormulaExpression, ref result))
                                {
                                    CalculatedKPI calculatedKPI = new CalculatedKPI
                                                                            {
                                                                                ContextContainerID = contextContainer2.ContextContainerID,
                                                                                FormulaDetailID = formula.FormulaDetailID,
                                                                                Value = result,
                                                                                ContextContainer = contextContainer2,
                                                                                FormulaDetail = formula
                                                                            };
                                    calculatedKPIs.Add(calculatedKPI);
                                    //db.CalculatedKPIs.Add(calculatedKPI);
                                    contextContainer2.CalculatedKPIs.Add(calculatedKPI);
                                    //if (ModelState.IsValid)
                                    //{
                                    //    db.CalculatedKPIs.Add(calculatedKPI);
                                    //    db.SaveChanges();
                                    //}
                                }
                            }
                            //contextContainer2.CalculatedKPIs = calculatedKPIs;
                            //if (ModelState.IsValid) {
                            //    db.Entry(contextContainer2).State = EntityState.Modified;
                            //    db.SaveChanges();
                            //}
                        }

                        if (ModelState.IsValid)
                        {
                            foreach (CalculatedKPI calculatedKPI in calculatedKPIs)
                            {
                                db.CalculatedKPIs.Add(calculatedKPI);
                            }

                            foreach (ContextContainer contextContainer2 in contextContainers)
                            {
                                db.Entry(contextContainer2).State = EntityState.Modified;
                            }

                            db.SaveChanges();
                        }
                    }
                }

                return viewresult;
            }

            return RedirectToAction("Index");
        }
开发者ID:jiwanovski,项目名称:BoardCockpit,代码行数:101,代码来源:ImportContainersController.cs


注:本文中的Calculator.CalculateDetail方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。