public IActionResult AddFireCar([FromBody] FireCar fireCar) { fireCar.Department = _dbContext.Departments.FirstOrDefault(d => d.Id == fireCar.Department.Id); if (fireCar.GpsPoint != null) { _dbContext.GpsPoints.Add(fireCar.GpsPoint); } _dbContext.FireCars.Add(fireCar); _dbContext.SaveChanges(); return(Json(fireCar)); }
public IActionResult EditFireCar(int id, [FromBody] FireCar fireCar) { fireCar.Id = id; if (fireCar.Department != null) { fireCar.Department = _dbContext.Departments.FirstOrDefault(d => d.Id == fireCar.Department.Id); } if (fireCar.GpsPoint != null) { _dbContext.GpsPoints.Update(fireCar.GpsPoint); } _dbContext.FireCars.Update(fireCar); _dbContext.SaveChanges(); return(Json(fireCar)); }
public IActionResult AddFirecar(int idDep, [FromBody] FireCar car) { var fire = _dbContext.Departures .Include(f => f.FireCars) .Include(f => f.GpsPoint) .Include(f => f.History) .Include(f => f.Operator) .Include(f => f.Images) .FirstOrDefault(f => f.Id == idDep); if (fire != null) { var aCar = _dbContext.FireCars.FirstOrDefault(c => c.Id == car.Id); if (fire.FireCars == null) { fire.FireCars = new List <FireCar>(); } fire.FireCars.Add(aCar); _dbContext.SaveChanges(); } return(Json(fire)); }
public IActionResult GetGeoObjects(int carId) { var geoList = new List <GeoObject>(); if (_dbContext.FireCars.FirstOrDefault(c => c.Id == carId) != null) { FireCar car = _dbContext.FireCars.Include(c => c.Fire).ThenInclude(f => f.GpsPoint).FirstOrDefault(c => c.Id == carId); if (car.Fire != null) { geoList.Add(new GeoObject("fire", car.Fire.GpsPoint, "Пожар", 0)); } } var hydrants = _dbContext.Hydrants.Where(h => h.Active).Include(o => o.GpsPoint); foreach (var hydrant in hydrants) { if (hydrant.Active == false) { continue; } geoList.Add(new GeoObject("hydrant", hydrant.GpsPoint, "Пожарный гидрант. Дата проверки: " + hydrant.RevisionDate.Date, 0)); } var departures = _dbContext.Departures.Include(o => o.GpsPoint).Include(d => d.FireCars); foreach (var dep in departures) { if (!dep.FireCars.Contains(_dbContext.FireCars.FirstOrDefault(c => c.Id == carId))) { continue; } geoList.Add(new GeoObject("departure", dep.GpsPoint, "Выезд " + dep.Intent + " " + dep.Comments, 0)); } return(Json(geoList)); }