public IActionResult CreateBatteryCondition(CreateBatteryConditionViewModel createBattery) { Models.BatteryCondition batteryCondition = new Models.BatteryCondition(); batteryCondition.AddressByDates = new List <AddressByDate>(); // Проверка на существование уже записи в таблицах House и Street if (db.Houses.ToList().Exists(h => h.HouseNumber == createBattery.AddressByDate.House.HouseNumber) && (db.Houses.Include(s => s.Street).ToList().Exists(h => h.Street.StreetName == createBattery.AddressByDate.House.Street.StreetName))) { batteryCondition.AddressByDates.Add(new AddressByDate { House = db.Houses.ToList().Find(h => h.HouseNumber == createBattery.AddressByDate.House.HouseNumber && h.Street.StreetName == createBattery.AddressByDate.House.Street.StreetName), BatteryCondition = batteryCondition, DateTime = DateTime.Today }); } else { batteryCondition.AddressByDates.Add( new AddressByDate { House = createBattery.AddressByDate.House, BatteryCondition = batteryCondition, DateTime = DateTime.Today } ); } batteryCondition.BatteryLocalId = createBattery.BatteryLocalId; batteryCondition.BatteryModelId = createBattery.BatteryModel.BatteryModelId; db.BatteryConditions.Add(batteryCondition); db.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult GetBatteryCondition(int id) { Models.BatteryCondition batteryCondition = new Models.BatteryCondition(); batteryCondition = db.BatteryConditions .Include(ad => ad.AddressByDates).ThenInclude(h => h.House).ThenInclude(s => s.Street) .Include(bm => bm.BatteryModel).ThenInclude(bb => bb.BatteryBrand) .Include(bcbp => bcbp.BatteryConditionBatteryPack) //пустая таблица сейчас при генерации! .ThenInclude(bp => bp.BatteryPack).ThenInclude(ad => ad.AddressByDate).ThenInclude(h => h.House).ThenInclude(s => s.Street) .Include(cd => cd.CapacityByDates) .First(i => i.BatteryConditionId == id); return(View(batteryCondition)); }