Example #1
0
        public async Task <IHttpActionResult> PutProsumer(int id, ProsumerInfo prosumer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != prosumer.Id)
            {
                return(BadRequest());
            }

            db.Entry(prosumer).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #2
0
        public IHttpActionResult GetProsumerInfo(int id)
        {
            ProsumerInfo prosumerInfo = db.ProsumerInfoes.Find(id);

            if (prosumerInfo == null)
            {
                return(NotFound());
            }

            return(Ok(prosumerInfo));
        }
        public async Task <IHttpActionResult> GetProsumerInfo(int id)
        {
            ProsumerInfo prosumerInfo = await db.ProsumerInfoes.FindAsync(id);

            if (prosumerInfo == null)
            {
                return(NotFound());
            }

            return(Ok(prosumerInfo));
        }
Example #4
0
        public IHttpActionResult PostProsumerInfo(ProsumerInfo prosumerInfo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ProsumerInfoes.Add(prosumerInfo);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = prosumerInfo.ProsumerID }, prosumerInfo));
        }
Example #5
0
        public async Task <IHttpActionResult> PostProsumer(ProsumerInfo prosumer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Prosumers.Add(prosumer);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = prosumer.Id }, prosumer));
        }
Example #6
0
        public async Task <IHttpActionResult> DeleteProsumer(int id)
        {
            ProsumerInfo prosumer = await db.Prosumers.FindAsync(id);

            if (prosumer == null)
            {
                return(NotFound());
            }

            db.Prosumers.Remove(prosumer);
            await db.SaveChangesAsync();

            return(Ok(prosumer));
        }
Example #7
0
        public IHttpActionResult DeleteProsumerInfo(int id)
        {
            ProsumerInfo prosumerInfo = db.ProsumerInfoes.Find(id);

            if (prosumerInfo == null)
            {
                return(NotFound());
            }

            db.Owners.Remove(prosumerInfo.Owner);
            db.EnergySources.RemoveRange(prosumerInfo.Production.EnergySources);
            db.Productions.Remove(prosumerInfo.Production);
            db.Addresses.Remove(prosumerInfo.Address);
            db.ProsumerInfoes.Remove(prosumerInfo);

            db.SaveChanges();

            return(Ok(prosumerInfo));
        }
Example #8
0
        public IHttpActionResult PutProsumerInfo(int id, ProsumerInfo prosumerInfo)
        {
            if (id != prosumerInfo.ProsumerID)
            {
                return(BadRequest());
            }

            ProsumerInfo prosumer = db.ProsumerInfoes.Find(id);

            //For Prosumer
            prosumer.Type = prosumerInfo.Type;

            //Prosumer Address
            prosumer.Address.Street      = prosumerInfo.Address.Street;
            prosumer.Address.City        = prosumerInfo.Address.City;
            prosumer.Address.Country     = prosumerInfo.Address.Country;
            prosumer.Address.ZipCode     = prosumerInfo.Address.ZipCode;
            prosumer.Address.HouseNumber = prosumerInfo.Address.HouseNumber;

            //Prosumer Owner
            prosumer.Owner.FirstName   = prosumerInfo.Owner.FirstName;
            prosumer.Owner.MiddleName  = prosumerInfo.Owner.MiddleName;
            prosumer.Owner.LastName    = prosumerInfo.Owner.LastName;
            prosumer.Owner.Email       = prosumerInfo.Owner.Email;
            prosumer.Owner.PhoneNumber = prosumerInfo.Owner.PhoneNumber;

            //Prosumer Production
            prosumer.Production.AverageProduction = prosumerInfo.Production.AverageProduction;
            prosumer.Production.AverageConsumer   = prosumerInfo.Production.AverageConsumer;
            prosumer.Production.Balance           = prosumerInfo.Production.Balance;

            for (int i = 0; i < prosumer.Production.EnergySources.Count; i++)
            {
                prosumer.Production.EnergySources[i].Source = prosumerInfo.Production.EnergySources[i].Source;
            }

            //Prosumer Production Energysources
            if (prosumer.Production.EnergySources.Count != prosumerInfo.Production.EnergySources.Count)
            {
                for (int i = prosumer.Production.EnergySources.Count; i < prosumerInfo.Production.EnergySources.Count; i++)
                {
                    prosumer.Production.EnergySources.Add(new EnergySource()
                    {
                        Source = prosumerInfo.Production.EnergySources[i].Source
                    });
                }
            }

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProsumerInfoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }