예제 #1
0
 public Iδ4 Calculate(
     Iδ4ParameterElementFactory δ4ParameterElementFactory,
     Iδ4Factory δ4Factory,
     Iδ4ParameterElementCalculation δ4ParameterElementCalculation,
     Isrd srd,
     It t,
     IW W,
     Iδ3 δ3,
     Iγ γ)
 {
     return(δ4Factory.Create(
                srd.Value
                .SelectMany(b =>
                            t.GetNthElementsAt(
                                b.dIndexElement.Value.Value.Value,
                                t.GetT() - W.Value.Value.Value + b.dIndexElement.Value.Value.Value,
                                W.Value.Value.Value),
                            (a, b) => Tuple.Create(a.sIndexElement, a.rIndexElement, a.dIndexElement, b))
                .Select(x =>
                        δ4ParameterElementCalculation.Calculate(
                            δ4ParameterElementFactory,
                            x.Item3,
                            x.Item2,
                            x.Item1,
                            x.Item4,
                            t,
                            W,
                            γ,
                            δ3))
                .ToImmutableList()));
 }
예제 #2
0
 public Interfaces.Results.SurgeonOperatingRoomDayNumberAssignedTimeBlocks.Iβ GetElementsAt(
     IβResultElementFactory βResultElementFactory,
     IβFactory βFactory,
     Isrd srd)
 {
     return(βFactory.Create(
                srd.Value
                .Select(
                    i => βResultElementFactory.Create(
                        i.sIndexElement,
                        i.rIndexElement,
                        i.dIndexElement,
                        this.GetElementAt(
                            i.sIndexElement,
                            i.rIndexElement,
                            i.dIndexElement)))
                .ToImmutableList()));
 }
예제 #3
0
        public Isrd Create(
            ImmutableList <IsrdCrossJoinElement> value)
        {
            Isrd crossJoin = null;

            try
            {
                crossJoin = new srd(
                    value);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(crossJoin);
        }
예제 #4
0
 public Iδ2 Calculate(
     Iδ2ParameterElementFactory δ2ParameterElementFactory,
     Iδ2Factory δ2Factory,
     Iδ2ParameterElementCalculation δ2ParameterElementCalculation,
     Isrd srd,
     It t,
     IW W,
     Iβ β,
     Iγ γ)
 {
     return(δ2Factory.Create(
                srd.Value
                .Select(x =>
                        δ2ParameterElementCalculation.Calculate(
                            δ2ParameterElementFactory,
                            x.dIndexElement,
                            x.rIndexElement,
                            x.sIndexElement,
                            t,
                            W,
                            β,
                            γ))
                .ToImmutableList()));
 }