Esempio n. 1
0
        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() }));
            }
        }
Esempio n. 2
0
        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() }));
            }
        }