Exemple #1
0
        public async Task Build()
        {
            var data = await _dtoStore.GetAllData();

            var dataSplitByLine = data.Split('\n');

            bool valuesParsed = ParseValues.ParseFromStringToInt(dataSplitByLine[0].Split()[0], out int count);

            if (!valuesParsed)
            {
                throw new Exception("Count Values is wrong");
            }
            for (int i = 1; i <= count; i++)
            {
                var properties = dataSplitByLine[i].Split();

                valuesParsed = ParseValues.ParseFromStringToInt(properties[0], out int value);
                valuesParsed = ParseValues.ParseFromStringToInt(properties[1], out int weight) && valuesParsed;

                if (valuesParsed)
                {
                    var item = new Domain.Entities.ItemEntity.Item(value, weight);
                    _itemRepository.AddItem(item);
                }
            }
        }
        private void CreateArcs(bool parseSuccessful, int numEdges, string[] lines)
        {
            if (parseSuccessful)
            {
                for (int i = 1; i <= numEdges; i++)
                {
                    var properties = lines[i].Split();

                    parseSuccessful = ParseValues.ParseFromStringToInt(properties[0], out int sourceNodeId);
                    parseSuccessful = ParseValues.ParseFromStringToInt(properties[1], out int destinationId) &&
                                      parseSuccessful;

                    if (!parseSuccessful)
                    {
                        continue;
                    }

                    _nodeAndArcRepository.AddArc(sourceNodeId, destinationId);
                }
            }
            else
            {
                throw new Exception("Num of edges data was not parsed successfully");
            }
        }
        public async Task Build()
        {
            var data = await _dtoStore.GetAllData();

            var lines      = data.Split('\n');
            var properties = lines[0].Split();

            var parseSuccessful = ParseValues.ParseFromStringToInt(properties[0], out int numNodes);

            CreateNodes(parseSuccessful, numNodes);

            parseSuccessful = ParseValues.ParseFromStringToInt(properties[1], out int numEdges);
            CreateArcs(parseSuccessful, numEdges, lines);
        }
Exemple #4
0
        public async Task Build()
        {
            var data = await _dtoStore.GetAllData();

            var lines      = data.Split('\n');
            var properties = lines[0].Split();

            var parseSuccessful = ParseValues.ParseFromStringToInt(properties[0], out int numNodes);

            if (!parseSuccessful)
            {
                throw new Exception("Bad Data");
            }

            CreateNodes(numNodes, lines);
            //CreateArcs();
        }
Exemple #5
0
        public async Task Build()
        {
            var data = await _dtoStore.GetFirstLine();

            var properties = data.Split();

            var parseSuccessful = ParseValues.ParseFromStringToInt(properties[1], out int capacity);

            if (parseSuccessful)
            {
                var bag = new Bag(capacity);
                _bagRepository.AddBag(bag);
            }
            else
            {
                throw new Exception("Bag Data is incorrect");
            }
        }