public string UpdateInformation(UpdateRechargeInfoDto updateRechargeInfoDto) { return(_rechargeRepository.UpdateInformation(updateRechargeInfoDto)); }
public string UpdateInformation(UpdateRechargeInfoDto updateRechargeInfoDto) { try { var meterUser = Db_MeterUser.Where(x => x.MeterNumber == updateRechargeInfoDto.MeterNumber).FirstOrDefault(); if (meterUser == null) { return("invalid meterNumber"); } var meterReadingInfo = Db_MeterReading.Where(x => x.MeterNumber == updateRechargeInfoDto.MeterNumber).FirstOrDefault(); if (meterReadingInfo == null) { MeterReading meterReading = new MeterReading(); meterReading.MeterNumber = updateRechargeInfoDto.MeterNumber; meterReading.ReadingVolt = 0; meterReading.ReadingWatt = 0; meterReading.Date = DateTime.Now; meterReading.IsActive = true; Db_MeterReading.Add(meterReading); } var rechargeInfo = DbSet.Where(x => x.UserId == meterUser.UserId).FirstOrDefault(); if (rechargeInfo == null) { Recharge newRecharge = new Recharge(); newRecharge.Amount = updateRechargeInfoDto.Amount; newRecharge.IsActive = true; newRecharge.Status = "done"; newRecharge.UserId = meterUser.UserId; newRecharge.Date = DateTime.Now; newRecharge.StartDate = DateTime.Now; Add(newRecharge); } else { if (rechargeInfo.Amount == 0) { rechargeInfo.StartDate = DateTime.Now; } rechargeInfo.Amount = updateRechargeInfoDto.Amount; Update(rechargeInfo); } var result = SaveChanges(); if (result > 0) { if (meterReadingInfo == null) { meterReadingInfo = Db_MeterReading.Where(x => x.MeterNumber == updateRechargeInfoDto.MeterNumber).FirstOrDefault(); } meterReadingInfo.ReadingVolt = updateRechargeInfoDto.ReadingVolt; meterReadingInfo.ReadingWatt = updateRechargeInfoDto.ReadingWatt; meterReadingInfo.Date = DateTime.Now; Db_MeterReading.Update(meterReadingInfo); return(SaveChanges() == 1 ? "*1#" : "*0#"); } }catch (Exception ex) { return($"error {ex.Message}"); } return("*0#"); }