public IActionResult AddMeteringByHouseId(MeterVM newMeter) { if (!ModelState.IsValid) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(BadRequest(new { success = false, errors = ModelState.Errors() })); } if (newMeter?.HouseId <= 0) { BadRequest(new { success = false, message = "Укажите дом." }); } try { var house = _unitOfWork.Houses.Get(newMeter.HouseId); if (house == null) { return(NotFound(new { success = false, message = "Дом не найден." })); } var newMetering = new Meter { HouseId = house.Id, DateMeter = DateTime.Now, Quantity = newMeter.Quantity }; _unitOfWork.Meters.Add(newMetering); _unitOfWork.SaveChanges(); return(Ok(new { success = true, message = "Показания успешно добавлены." })); } catch (Exception ex) { ModelState.AddModelError("", $"Произошла ошибка, обратитесь за помощью к администратору. {ex.Message}"); return(BadRequest(new { success = false, errors = ModelState.Errors() })); } }
public IActionResult AddMeteringByMeterGiud(MeterVM newMeter) { if (!ModelState.IsValid) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(BadRequest(new { success = false, errors = ModelState.Errors() })); } if (string.IsNullOrEmpty(newMeter?.MeterGuid)) { BadRequest(new { success = false, message = "Ввдите идентификатор счетчика." }); } try { var house = _unitOfWork.Houses.Find(x => x.MeterGiud.ToLower() == newMeter.MeterGuid.ToLower()).FirstOrDefault(); if (house == null) { return(NotFound(new { success = false, message = "Указанный счетчик не зарегистрирован." })); } var newMetering = new Meter { HouseId = house.Id, DateMeter = DateTime.Now, Quantity = newMeter.Quantity }; _unitOfWork.Meters.Add(newMetering); _unitOfWork.SaveChanges(); return(Ok(new { success = true, message = "Показания успешно добавлены." })); } catch (Exception ex) { ModelState.AddModelError("", $"Произошла ошибка, обратитесь за помощью к администратору. {ex.Message}"); return(BadRequest(new { success = false, errors = ModelState.Errors() })); } }