public IActionResult Add([FromBody] Meter meter) { var dbMeterType = helper.ConvertMeterType(meter.MeterType); var dbMeterStatus = helper.ConvertMeterStatus(meter.MeterStatus); var dbMeterCondition = helper.ConvertMeterCondition(meter.MeterCondition); var dbModel = new DbModels.Meter(); dbModel.MIRN = meter.MIRN; dbModel.MeterType = dbMeterType; dbModel.MeterStatus = dbMeterStatus; dbModel.MeterCondition = dbMeterCondition; dbModel.ExpriyDate = meter.ExpriyDate; var result = _repo.Add(dbModel); if (result.Equals("-1")) { ModelState.AddModelError("Error", "Meter ID already exists"); return(NotFound()); } else { return(Ok(result)); } }
public IActionResult Update(string id, [FromBody] Meter meter) { // getting Pay roll ID, User var meterByID = _repo.Get(id); if (meterByID == null) { return(NotFound()); } else { var dbMeterType = helper.ConvertMeterType(meter.MeterType); var dbMeterStatus = helper.ConvertMeterStatus(meter.MeterStatus); var dbMeterCondition = helper.ConvertMeterCondition(meter.MeterCondition); var dbModel = new DbModels.Meter(); dbModel.MIRN = id; dbModel.MeterType = dbMeterType; dbModel.MeterStatus = dbMeterStatus; dbModel.MeterCondition = dbMeterCondition; dbModel.ExpriyDate = meter.ExpriyDate; var result = _repo.Update(id, dbModel); if (result.Equals("-1")) { ModelState.AddModelError("Error", "Invalid Meter ID"); return(NotFound()); } else { return(Ok(result)); } } }
// 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); }
//Get Meter details by passing MeterID, PayRollId and MeterStatus public Tuple <bool, string, ArrayList> GetMeterByUserAndStatus(Models.MeterHistory mpsRequest) { // Store meter in array ArrayList metersList = new ArrayList(); var result = Tuple.Create(true, "", metersList); DbModels.MeterStatus dbmStatus; var validMeterStatus = validater.ValidateMeterStatus(mpsRequest.MeterStatus); if (validMeterStatus == true) { dbmStatus = helper.ConvertMeterStatus(mpsRequest.MeterStatus); // validating PayRoll ID var user = _urepo.Get(mpsRequest.PayRollID); if (user == null) { return(Tuple.Create(false, "PayRollID " + mpsRequest.PayRollID + " is not found", metersList)); } // Find meter ID using payroll id and meter status from meter history table var meters = _context.MeterHistories.Where(x => x.PayRollID.Contains(mpsRequest.PayRollID) && (x.MeterStatus == dbmStatus)).ToList(); foreach (DbModels.MeterHistory meter in meters) { // Find the meter record from meter table using meterid // var m = _context.Meters.Where(x => x.MIRN.Equals(meter.MIRN)); // _context.Installations.FirstOrDefault(x => x.InstallationID == id); DbModels.Meter meterDb = _context.Meters.FirstOrDefault(x => x.MIRN == meter.MIRN && x.MeterStatus == dbmStatus); if (meterDb != null) { metersList.Add(meterDb); } } return(Tuple.Create(true, "Meters List", metersList)); } else { return(Tuple.Create(false, "Invalid meter status: " + mpsRequest.MeterStatus, metersList)); } }