Пример #1
0
        public ActionResult Edit(int id, TariffViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Tariff updatedTariff     = TariffConverter.createTariffFromViewModel(model);
                    string updatedTariffJSON = JsonConvert.SerializeObject(updatedTariff);

                    EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.editTariff(id, updatedTariffJSON));

                    if (response.status == EMResponse.OK)
                    {
                        return(RedirectToAction("Home", "Meter", new { meterId = model.meterId, propertyId = model.BelongsToProperty, type = model.fuel }));
                    }
                    else
                    {
                        return(View("Error"));
                    }
                }

                return(View(model));
            }
            catch
            {
                return(View("Error"));
            }
        }
Пример #2
0
        public ActionResult Create(TariffViewModel tariffViewModel)
        {
            string fuel       = tariffViewModel.fuel;
            int    meterId    = tariffViewModel.meterId;
            int    propertyId = tariffViewModel.BelongsToProperty;

            try
            {
                if (ModelState.IsValid)
                {
                    Tariff tariff = TariffConverter.createTariffFromViewModel(tariffViewModel);

                    EMResponse response = JsonConvert.DeserializeObject <EMResponse>(emAPI.createTariff(tariff.SCValue, tariff.StartDate.ToString(),
                                                                                                        tariff.SCPeriod.Id, tariff.BandPeriod.Id, tariffViewModel.meterId));

                    if (response.status == EMResponse.OK)
                    {
                        int tariffId = JsonConvert.DeserializeObject <int>(response.data);


                        foreach (TariffBand band in tariff.Bands)
                        {
                            EMResponse bandResponse = JsonConvert.DeserializeObject <EMResponse>(emAPI.createTariffBand(band.UpperkWhLimit,
                                                                                                                        band.LowerkWhLimit,
                                                                                                                        band.UnitRate, tariffId));
                            if (bandResponse.status != EMResponse.OK)
                            {
                                return(View("Error"));
                            }
                        }

                        return(RedirectToAction("Home", "Meter", new { meterId = tariffViewModel.meterId, propertyId = tariffViewModel.BelongsToProperty, type = tariffViewModel.fuel }));
                    }
                }
                else
                {
                    return(View(tariffViewModel));
                }

                return(View(tariffViewModel));
            }
            catch
            {
                return(View("Error"));
            }
        }
Пример #3
0
        //
        // GET: /Tariff/Delete/5

        public ActionResult Delete(int tariffId, int meterId, int propertyId, string type)
        {
            try
            {
                Tariff          tariff = ResponseReader.convertTo <Tariff>(emAPI.getTariff(tariffId));
                TariffViewModel model  = TariffConverter.createTariffViewFromTariff(tariff, true);
                model.meterId           = meterId;
                model.Id                = tariffId;
                model.fuel              = type;
                model.BelongsToProperty = propertyId;
                TimeSpan oneDay = new TimeSpan(1, 0, 0, 0);
                model.MinimumStartDate = Convert.ToDateTime(ResponseReader.convertTo <string>(emAPI.getMinimumTariffDate(meterId)));
                model.StartDate        = model.MinimumStartDate + oneDay;

                return(PartialView(model));
            }
            catch
            {
                return(View("Error"));
            }
        }
        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);
            }
        }