public VillageSmartGridFullDTO createFullVSGDTO(VillageSmartGrid _vsg)
        {
            var dto = new VillageSmartGridFullDTO
            {
                id         = _vsg.ID,
                Name       = _vsg.Name,
                smartmeter = new SmartMeterDTO
                {
                    id       = _vsg._smartmeter.ID,
                    sm_ID    = _vsg._smartmeter.SMID,
                    _request = new RequestDTO
                    {
                        id         = _vsg._smartmeter._request.ID,
                        Balance    = _vsg._smartmeter._request.PowerBalance,
                        _timestamp = _vsg._smartmeter._request.TimeStamp
                    }
                },
                _breaker = new BreakerDTO
                {
                    id          = _vsg._breaker.ID,
                    BreakerID   = _vsg._breaker.BreakID,
                    Connection1 = _vsg._breaker.Connector1,
                    Connection2 = _vsg._breaker.Connector2
                }
            };

            return(dto);
        }
Exemple #2
0
        public async Task <IActionResult> PutVillageSmartGrid([FromRoute] long id, [FromBody] VillageSmartGrid villageSmartGrid)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != villageSmartGrid.ID)
            {
                return(BadRequest());
            }

            _context.Entry(villageSmartGrid).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VillageSmartGridExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
 /// <summary>
 /// Put/api/villageSmartGrid
 /// </summary>
 /// <param name="id"></param>
 /// <param name="value"></param>
 public void Put(String id, [FromBody] VillageSmartGrid value)
 {
     try
     {
         repo.Update(value);
     }
     catch (Exception e)
     {
         throw;
     }
 }
 /// <summary>
 /// Post/api/VillageSmartGrid
 /// </summary>
 /// <param name="value"></param>
 public void Post([FromBody] VillageSmartGrid value)
 {
     try
     {
         repo.Save(value);
     }
     catch (Exception e)
     {
         throw;
     }
 }
 public void Update(VillageSmartGrid trader)
 {
     try
     {
         _client.ReplaceDocumentAsync(UriFactory.CreateDocumentUri(DatabaseId, CollectionId, trader.Id), trader);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Exemple #6
0
        public async Task <IActionResult> PostVillageSmartGrid([FromBody] VillageSmartGrid villageSmartGrid)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.VillageSmartGrid.Add(villageSmartGrid);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetVillageSmartGrid", new { id = villageSmartGrid.ID }, villageSmartGrid));
        }
        public BreakerSingleDTO createSingleBreakerDTO(Breaker _breaker, VillageSmartGrid _vsg)
        {
            var dto = new BreakerSingleDTO
            {
                id          = _breaker.ID,
                BreakerID   = _breaker.BreakID,
                Connection1 = _breaker.Connector1,
                Connection2 = _breaker.Connector2,
                //FK
                VSGID = _breaker._vsgID
            };

            return(dto);
        }
Exemple #8
0
        static void Main(string[] args)
        {
            VillageSmartGrid VSG = new VillageSmartGrid();
            int hour             = 0;
            int kwHour           = 0;

            while (true)
            {
                Console.ReadKey();
                Console.Clear();
                RunProsumers();
            }

            void RunProsumers()
            {
                int privateProduced   = 0;
                int privateConsumed   = 0;
                int businessProduced  = 0;
                int businessConsumed  = 0;
                int villageProduced   = 0;
                int villageConsumed   = 0;
                int villageDifference = 0;

                Random rnd = new Random();

                List <Prosumer> pl = new List <Prosumer>();
                List <Prosumer> bl = new List <Prosumer>();
                Prosumer        nationalProsumer = new Prosumer(45, "National power grid");

                //Set up private prosumers
                for (int i = 0; i < 33; i++)
                {
                    Prosumer privateProsumer = new Prosumer(i, "Private");
                    privateProsumer.ConsumedkW   = rnd.Next(0, 100);
                    privateProsumer.ProducedkW   = rnd.Next(0, 100);
                    privateProsumer.DifferencekW = privateProsumer.ProducedkW - privateProsumer.ConsumedkW;
                    pl.Add(privateProsumer);
                }

                //Set up business prosumers
                for (int j = 33; j < 45; j++)
                {
                    Prosumer businessProsumer = new Prosumer(j, "Business");
                    businessProsumer.ConsumedkW   = rnd.Next(0, 500);
                    businessProsumer.ProducedkW   = rnd.Next(0, 500);
                    businessProsumer.DifferencekW = businessProsumer.ProducedkW - businessProsumer.ConsumedkW;
                    bl.Add(businessProsumer);
                }


                //should be whatever is leftover from the prosumers
                nationalProsumer.ConsumedkW = 0;

                //should be whatever the prosumers need
                nationalProsumer.ProducedkW = 0;

                pl.ForEach(item => Console.WriteLine(item.Type + " with id: " + "\t" + item.Id + "\t" + " consumed: " + "\t" + item.ConsumedkW + "\t" + " and produced: " + "\t" + item.ProducedkW + "\t" + "difference is: " + item.DifferencekW));
                pl.ForEach(item => privateConsumed += item.ConsumedkW);
                pl.ForEach(item => privateProduced += item.ProducedkW);

                Console.WriteLine();

                bl.ForEach(item => Console.WriteLine(item.Type + " with id: " + "\t" + item.Id + "\t" + " consumed: " + "\t" + item.ConsumedkW + "\t" + " and produced: " + "\t" + item.ProducedkW + "\t" + "difference is: " + item.DifferencekW));
                bl.ForEach(item => businessConsumed += item.ConsumedkW);
                bl.ForEach(item => businessProduced += item.ProducedkW);

                Console.WriteLine("\nPrivate sector consumed: " + privateConsumed);
                Console.WriteLine("Private sector produced: " + privateProduced);
                Console.WriteLine("\nBusiness sector consumed: " + businessConsumed);
                Console.WriteLine("Business sector produced: " + businessProduced);

                villageConsumed = privateConsumed + businessConsumed;
                villageProduced = privateProduced + businessProduced;

                if (villageConsumed < villageProduced)
                {
                    nationalProsumer.ProducedkW = villageProduced - villageConsumed;
                }

                if (villageConsumed > villageProduced)
                {
                    nationalProsumer.ConsumedkW = villageConsumed - villageProduced;
                }

                Console.WriteLine("\nNational power grid consumed: " + nationalProsumer.ConsumedkW + " and produced: " + nationalProsumer.ProducedkW);

                villageDifference = villageProduced - villageConsumed;

                Console.WriteLine(villageDifference);
            }
        }