Esempio n. 1
0
        private void FindOptions(decimal needToFreeAmps)
        {
            int     inputLenght     = SortedConnectors.Count;
            decimal minPossibleAmps = int.MaxValue;

            //look up for singles
            for (var i = 0; i < inputLenght; i++)
            {
                var connector    = (Connector)SortedConnectors[i];
                var currentValue = connector.MaxCurrentAmps;
                if (currentValue >= needToFreeAmps && currentValue <= minPossibleAmps)
                {
                    //found
                    minPossibleAmps = currentValue;
                    var UnplugOption = CreateOption(connector);
                    Results.AddToList(currentValue, UnplugOption);
                }
            }

            //look up for pairs
            for (var i = 0; i < inputLenght - 1; i++)
            {
                for (var j = i + 1; j < inputLenght; j++)
                {
                    var connectorI = (Connector)SortedConnectors[i];
                    var connectorJ = (Connector)SortedConnectors[j];

                    var currentValue = connectorI.MaxCurrentAmps + connectorJ.MaxCurrentAmps;
                    if (currentValue >= needToFreeAmps && currentValue <= minPossibleAmps)
                    {
                        //found
                        minPossibleAmps = currentValue;
                        var UnplugOption = CreateDoubleOption(connectorI, connectorJ);
                        Results.AddToList(currentValue, UnplugOption);
                    }
                }
            }
        }
Esempio n. 2
0
        private void GetInputData(ChargeGroup chargeGroup)
        {
            SortedList <decimal, List <Connector> > Input = new SortedList <decimal, List <Connector> >();

            foreach (var chargeStation in chargeGroup.ChargeStations)
            {
                foreach (var connector in chargeStation.Connectors)
                {
                    Input.AddToList(connector);
                }
            }

            foreach (var kvp in Input)
            {
                foreach (var connector in kvp.Value)
                {
                    SortedConnectors.Add(connector);
                }
            }
        }