// converting dbModel meter into view model meter
        public Models.Meter ConvertMeterModel(DbModels.Meter dbMeter)
        {
            var vmMeter = new Models.Meter()
            {
                MIRN           = dbMeter.MIRN,
                MeterType      = ConverViewModeltMeterType(dbMeter.MeterType),
                MeterStatus    = ConvertViewModelMeterStatus(dbMeter.MeterStatus),
                MeterCondition = ConvertViewModelMeterCondition(dbMeter.MeterCondition)
            };

            return(vmMeter);
        }
        public IActionResult IsAvailable(string id)
        {
            var meter = _repo.Get(id);

            if (meter != null)
            {
                var result     = new Models.Meter();
                var meterModel = _mapper.Map <DbModels.Meter, Models.Meter>(meter, result);

                if (result.MeterStatus.Equals(Models.MeterStatus.Inhouse))
                {
                    var meterCondition = result.MeterCondition.ToString();
                    if (result.MeterCondition.Equals(Models.MeterCondition.Faulty))
                    {
                        meterCondition = result.MeterCondition.ToString();
                        ModelState.AddModelError("Error", "Meter is not available for pickup. Meter status is " + meterCondition);
                        return(NotFound());
                    }
                    else if (result.MeterCondition.Equals(Models.MeterCondition.Expired))
                    {
                        meterCondition = result.MeterCondition.ToString();
                        ModelState.AddModelError("Error", "Meter is not available for pickup. Meter status is " + meterCondition);
                        return(NotFound());
                    }
                    ModelState.AddModelError("Error", "Meter is Ready to Pickup");
                    return(Ok());
                }
                else
                {
                    var meterState = result.MeterStatus.ToString();
                    ModelState.AddModelError("Error", "Meter is not in warehouse to pickup meter");
                    return(NotFound());
                }
            }
            ModelState.AddModelError("Error", "Invalid Meter Number!");
            return(NotFound());
        }