예제 #1
0
 public void             Initialize(PlantPower plPo)
 {
     this.pP            = plPo;
     this.pollenGauge   = plPo.pollenGauge;
     this.waterGauge    = plPo.waterGauge;
     this.pollenReserve = plPo.pollenReserve;
     this.waterReserve  = plPo.waterReserve;
 }
예제 #2
0
 public  bool TrySendPlantPower(PlantPower plantPower)
 {
     try
     {
         _apiClient.PutPlantPower(plantPower);
         return true;
     }
     catch
     {
         return false;
     }
 }
예제 #3
0
 public void                     Initialize(PlantPower plant, float newWaterAmount, float newPollenAmount)
 {
     this.plant        = plant;
     this.waterAmount  = newWaterAmount;
     this.pollenAmount = newPollenAmount;
 }
예제 #4
0
 public void                     Initialize(PlantPower plant)
 {
     this.plant = plant;
 }
예제 #5
0
파일: MeasuresJob.cs 프로젝트: jorgevr/ENEX
 private bool trySendPlantPower(PlantPower plantPower, string filePath)
 {
     if (!_plantPowerService.TrySendPlantPower(plantPower))
     {
         _logger.ErrorFormat("PlantPower won't be updated from : {0}", filePath);
         return false;
     }
     _logger.InfoFormat("DONE sending PlantPower Date: {0} Power:{1} from file {2}", plantPower.UtcUpdatedDateTime, plantPower.Power, filePath);
     return true;
 }
예제 #6
0
파일: MeasuresJob.cs 프로젝트: jorgevr/ENEX
 private void sendPlantPower(PlantPower plantPower, string filePath)
 {
     trySendPlantPower(plantPower, filePath);
 }
예제 #7
0
        private List<PlantPower> getPlantPowerList(IList<Meter> meterList)
        {
            var plantPowerList = new List<PlantPower>();

               Logger.Debug(String.Format("MeterList has {0} distinct elements", meterList.Count));

               List<DateTime> dateList = new List<DateTime>();
               dateList=meterList.Distinct().Select(x=>x.startDate).Distinct().ToList();
               dateList=dateList.Concat(meterList.Distinct().Select(x=>x.endDate).Distinct()).ToList();
               Logger.Debug(String.Format("DateList has {0} distinct elements", dateList.Count));

               for (int i=0; i<dateList.Count-1;i++)
               {
               PlantPower plantPower = new PlantPower();
               var totalPower = 0.0;
               foreach (var meter in meterList.OrderBy(x => x.startDate))
               {
                   //Logger.Debug(String.Format("startDate:{0}, EndDate{1}", dateList[i], dateList[i + 1]));
                   if (meter.startDate <= dateList[i] && meter.endDate >= dateList[i+1])
                   {
                       plantPower.IdPlant = meter.IdPlant;
                       plantPower.startDate = dateList[i];
                       plantPower.endDate = dateList[i + 1];
                       totalPower += meter.Power * 1000;
                   }
               }
               plantPower.Power = Math.Round(totalPower, 5);
               Logger.Debug(String.Format("IdPlant: {0},Startdate: {1}, EndDate: {2}, Power: {3}", plantPower.IdPlant, plantPower.startDate,plantPower.endDate,plantPower.Power));
               plantPowerList.Add(plantPower);
               }

               return plantPowerList;
        }
예제 #8
0
        public void PutPlantPower(PlantPower plantPower)
        {
            _logger.DebugFormat("Converting to JSON plantPower");
            var plantPowerObjects = JsonConvert.SerializeObject(plantPower);
            plantPowerObjects = string.Format("{0}", plantPowerObjects);
            _logger.DebugFormat("PlantPowerconverted. Result: {0}", plantPowerObjects);

            Uri uri = new Uri(_info.PlantPowerUri);
            WebRequest webRequest = WebRequest.Create(uri);
            webRequest.Method = "PUT";
            webRequest.ContentType = "application/json";
            webRequest.ContentLength = Encoding.GetEncoding("utf-8").GetBytes(plantPowerObjects).Length;

            using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
            {
                streamWriter.Write(plantPowerObjects);
            }

            HttpStatusCode code;
            using (var response = (HttpWebResponse)webRequest.GetResponse())
            {
                code = response.StatusCode;
                response.GetResponseStream();
            }
            if (code != HttpStatusCode.NoContent)
                throw new InvalidOperationException(string.Format("Web Api returned code {0}.", code));
        }