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


C# Scenario.Default方法代码示例

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


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

示例1: DeepCopy

        public Scenario DeepCopy(Scenario scenario, string scenarioName = "")
        {
            Scenario copyScenario = new Scenario();
            Context.Scenarios.Add(copyScenario);

            //copy values from original and reset audit
            Context.Entry(copyScenario).CurrentValues.SetValues(scenario);
            copyScenario.Default(Context.UserName);

            ScenarioDetail copyDetail = new ScenarioDetail();
            Context.ScenarioDetails.Add(copyDetail);

            Context.Entry(copyDetail).CurrentValues.SetValues(scenario.ScenarioDetail);
            copyDetail.Default(Context.UserName);
            copyDetail.Name = scenarioName;

            copyScenario.ScenarioDetails.Add(copyDetail);

            //copy locuses
            foreach (ScenarioLocus locus in scenario.ScenarioDetail.ScenarioLocuses.ToList())
            {
                ScenarioLocus copyLocus = new ScenarioLocus();
                Context.ScenarioLocuses.Add(copyLocus);

                Context.Entry(copyLocus).CurrentValues.SetValues(locus);
                copyLocus.Default(Context.UserName);

                copyDetail.ScenarioLocuses.Add(copyLocus);

                //copy locus dim items
                foreach (ScenarioLocusDimItem dimItem in locus.ScenarioLocusDimItems.ToList())
                {
                    ScenarioLocusDimItem copyDimItem = new ScenarioLocusDimItem();
                    Context.ScenarioLocusDimItems.Add(copyDimItem);

                    Context.Entry(copyDimItem).CurrentValues.SetValues(dimItem);
                    copyDimItem.Default(Context.UserName);

                    copyLocus.ScenarioLocusDimItems.Add(copyDimItem);
                }

                //copy locus dim groups
                foreach (ScenarioLocusDimGroup dimGroup in locus.ScenarioLocusDimGroups.ToList())
                {
                    ScenarioLocusDimGroup copyDimGroup = new ScenarioLocusDimGroup();
                    Context.ScenarioLocusDimGroups.Add(copyDimGroup);

                    Context.Entry(copyDimGroup).CurrentValues.SetValues(dimGroup);
                    copyDimGroup.Default(Context.UserName);

                    copyLocus.ScenarioLocusDimGroups.Add(copyDimGroup);
                }
            }

            //copy points
            foreach (ScenarioPoint point in scenario.ScenarioDetail.ScenarioPoints.ToList())
            {
                ScenarioPoint copyPoint = new ScenarioPoint();
                Context.ScenarioPoints.Add(copyPoint);

                Context.Entry(copyPoint).CurrentValues.SetValues(point);
                copyPoint.Default(Context.UserName);

                copyDetail.ScenarioPoints.Add(copyPoint);

                //copy coordinates
                foreach (ScenarioPointCoordinate coordinate in point.ScenarioPointCoordinates.ToList())
                {
                    ScenarioPointCoordinate copyCoordinate = new ScenarioPointCoordinate();
                    Context.ScenarioPointCoordinates.Add(copyCoordinate);

                    Context.Entry(copyCoordinate).CurrentValues.SetValues(coordinate);
                    copyCoordinate.Default(Context.UserName);

                    copyPoint.ScenarioPointCoordinates.Add(copyCoordinate);
                }
            }

            //copy untis
            foreach (ScenarioUnit unit in scenario.ScenarioDetail.ScenarioUnits.ToList())
            {

                ScenarioUnit copyUnit = new ScenarioUnit();
                Context.ScenarioUnits.Add(copyUnit);

                Context.Entry(copyUnit).CurrentValues.SetValues(unit);
                copyUnit.Default(Context.UserName);

                copyDetail.ScenarioUnits.Add(copyUnit);

                //copy coordinates
                foreach (ScenarioUnitPoint unitPoint in unit.ScenarioUnitPoints.ToList())
                {
                    ScenarioUnitPoint copyUnitPoint = new ScenarioUnitPoint();
                    Context.ScenarioUnitPoints.Add(copyUnitPoint);

                    Context.Entry(copyUnitPoint).CurrentValues.SetValues(unitPoint);
                    copyUnitPoint.Default(Context.UserName);

                    copyUnit.ScenarioUnitPoints.Add(copyUnitPoint);
//.........这里部分代码省略.........
开发者ID:Juliusz,项目名称:Test,代码行数:101,代码来源:ScenarioRepository.cs


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