Example #1
0
 public IHttpActionResult SaveElectricity(decimal v, decimal c, decimal units, int deviceid, string devicename)
 {
     try
     {
         using (kernels1_itiEntities DB = new kernels1_itiEntities())
         {
             BiharITI.DATA.ElectricityMeter se = new ElectricityMeter();
             se.voltage    = v;
             se.currentamp = c;
             se.Units      = units;
             TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
             DateTime     timeUtc      = DateTime.UtcNow;
             DateTime     result       = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, timeZoneInfo);
             se.updatedDate = result;
             se.deviceid    = deviceid;
             se.devicename  = devicename;
             DB.ElectricityMeters.Add(se);
             DB.SaveChanges();
         }
         var response = new
         {
             Success = true,
             Message = "Electricity data saved",
         };
         return(Ok(response));
     }
     catch (Exception ex)
     {
         return(Content(HttpStatusCode.BadRequest, "Error Found"));
     }
 }
Example #2
0
        //
        // GET: /Meter/Details/5

        public ActionResult Home(int meterId, int propertyId, string type)
        {
            if (type == "Electricity")
            {
                try
                {
                    ///get elec meter object from API
                    ElectricityMeter meter = ResponseReader.convertTo <ElectricityMeter>(emAPI.getMeter(meterId));
                    MeterViewModel   model = new MeterViewModel(meter);
                    model.BelongsToProperty = propertyId;

                    model.Meter.Invoices = model.Meter.Invoices.OrderByDescending(inv => inv.BillDate).ToList();

                    ///forecast invoice if possible
                    Invoice nextInvoice = ResponseReader.convertTo <Invoice>(emAPI.forecastNextInvoice(meterId));
                    if (nextInvoice != null)
                    {
                        model.ForecastedInvoice = nextInvoice;
                    }

                    return(View(model));
                }
                catch
                {
                    return(View("Error"));
                }
            }
            else if (type == "Gas")
            {
                try
                {
                    ///get gas meter from API
                    GasMeter       meter = ResponseReader.convertTo <GasMeter>(emAPI.getMeter(meterId));
                    MeterViewModel model = new MeterViewModel(meter);
                    model.BelongsToProperty = propertyId;

                    model.Meter.Invoices = model.Meter.Invoices.OrderByDescending(inv => inv.BillDate).ToList();

                    ///forecast invoice if possible
                    Invoice nextInvoice = ResponseReader.convertTo <Invoice>(emAPI.forecastNextInvoice(meterId));
                    if (nextInvoice != null)
                    {
                        model.ForecastedInvoice = nextInvoice;
                    }

                    return(View(model));
                }
                catch
                {
                    return(View("Error"));
                }
            }
            else
            {
                ///unrecognised meter type
                ///
                return(View("Home", "User"));
            }
        }
Example #3
0
        public void ShouldNotSaveADuplicatedDevice()
        {
            var device = new ElectricityMeter {
                ID = "1", SerialNumber = "1"
            };

            Assert.True(dbAccessUT.SaveDevice(device));
            Assert.False(dbAccessUT.SaveDevice(device));

            var actual   = dbAccessUT.GetDevices().Count();
            var expected = 1;

            Assert.That(actual, Is.EqualTo(expected));
        }
Example #4
0
        //* * * CREATE METHODS

        public int createElectricityMeter(string serialNo, double scalingFactor, int numbDigits, string startDate, int propertyId)
        {
            ElectricityMeter newMeter = new ElectricityMeter
            {
                SerialNo                 = serialNo,
                ScalingFactor            = scalingFactor,
                KWhtoCO2ConversionFactor = EMConverter.eleckWhFactor,
                NumbDigits               = numbDigits,
                StartDate                = Convert.ToDateTime(startDate)
            };

            ///add meter to property
            int meterId = mediator.DataManager.saveMeter(newMeter);

            mediator.DataManager.addMeterToProperty(meterId, propertyId);

            return(meterId);
        }
        public MeterViewModel(Meter m)
        {
            ///populate fiel specific properties
            ///

            ElectricityMeter elecMeter = m as ElectricityMeter;
            GasMeter         gasMeter  = m as GasMeter;

            if (elecMeter != null)
            {
                this.ScalingFactor = elecMeter.ScalingFactor;
            }
            else if (gasMeter != null)
            {
                this.MeterCoefficient = gasMeter.MeterCoefficient;
                this.CorrectionFactor = gasMeter.CorrectionFactor;
                this.CalorificValue   = gasMeter.CalorificValue;

                if (gasMeter.MeterCoefficient == 0.028316846)
                {
                    this.MeterUnits = "cubic feet";
                }
                if (gasMeter.MeterCoefficient == 0.28316846)
                {
                    this.MeterUnits = "10s of cubic feet";
                }
                if (gasMeter.MeterCoefficient == 2.8316846)
                {
                    this.MeterUnits = "100s of cubic feet";
                }
                if (gasMeter.MeterCoefficient == 1)
                {
                    this.MeterUnits = "cubic meters";
                }
            }


            ///load tariff view model with data from meter
            ///

            Meter  = m;
            Tariff = new TariffViewModel();

            if (Meter.Tariffs.Count == 0)
            {
                ///no tariff set yet
                ///
                Tariff = null;
            }
            else
            {
                ///get most recent tariff
                ///
                Meter.Tariffs = Meter.Tariffs.OrderByDescending(t => t.StartDate).ToList();

                Tariff currentTariff = Meter.Tariffs.ElementAt(0);
                currentTariff.Bands = Meter.Tariffs.ElementAt(0).Bands.ToList();

                ///convert model to viewModel
                ///

                Tariff = TariffConverter.createTariffViewFromTariff(currentTariff, false);
            }
        }