public IActionResult ActionTruck(fireActionTrack truck) { var lista = _context.Actions.Where(a => a.EndTime > DateTime.Now).Select(x => x.IdAction); int sumaAktywnosci = _context.FireTruck_Actions.Where(a => lista.Contains(a.IdAction) && a.IdFireTruck == truck.idFireTruck).Count(); if (sumaAktywnosci > 0) { return(BadRequest("Samochód w użyciu")); } FireTruck tmp = _context.FireTrucks.Where(a => a.IdFireTruck == truck.idFireTruck).First(); Models.Action act = _context.Actions.Where(a => a.IdAction == truck.idAction).First(); act.FireTruck_Actions.Add(new FireTruck_Action { AssigmentDate = DateTime.Now, IdFireTruck = truck.idFireTruck, FireTruck = tmp, IdAction = act.IdAction, Action = act }); _context.SaveChanges(); return(Ok("Samochód dodany do akcji")); }
public bool signFireTruckForAction(FireTruckSignRequest request) { FireTruck truck = _context.FireTrucks.Where(x => x.idFireTruck == request.idFireTruck).FirstOrDefault(); Models.Action action = _context.Actions.Where(x => x.idAction == request.idAction).FirstOrDefault(); if (truck == null) { throw new FireTruckNotFoundException("Nie znaleziono podanego wozu"); } if (action == null) { throw new ActionNotFoundException("Nie znaleziono podanej akcji"); } var actionList = (from tab1 in _context.Actions join tab2 in _context.FireTruckActions on tab1.idAction equals tab2.idAction where tab2.idFireTruck == request.idFireTruck select new { startTime = tab1.startDate, endTime = tab1.endDate, needSpecialEquipment = tab1.needSpecialEquipment, }).ToList(); foreach (var x in actionList) { if ((DateTime.Now > x.startTime && DateTime.Now < x.endTime) || (DateTime.Now > x.startTime && x.endTime == null)) { throw new FireTruckIsOccupiedException("Podany woz jest obecnie zajety"); } } if (action.needSpecialEquipment && !(truck.specialEquipment)) { throw new NeedSpecialEquipmentException("Podany woz nie posiada potrzebnego wyposazenia"); } _context.FireTruckActions.Add(new FireTruckAction { idFireTruck = request.idFireTruck, idAction = request.idAction, assignmentDate = DateTime.Now }); _context.SaveChanges(); return(true); }
public async Task CreateAsync(string make, string model, int watertankCapacity, DateTime produceDate, double price, string imageUrl, string sellerId) { var firetruck = new FireTruck { Make = make, Model = model, WatertankCapacity = watertankCapacity, ProduceDate = produceDate, Price = price, ImageUrl = imageUrl, SellerId = sellerId }; this.db.Add(firetruck); await this.db.SaveChangesAsync(); }
public void AddFireTruck(FireTruckViewModel model) { var newModel = new FireTruck() { TruckNumber = model.TruckNumber, TruckState = model.TruckState, }; if (model.TeamName == "0") { newModel.FiremanTeam = null; } else { var team = _firemanTeamRepository.GetByName(model.TeamName); newModel.FiremanTeam = team; } _fireTruckRepository.Save(newModel); }
private static void CreateDefaultFireTrucks(IServiceProvider serviceProvider) { var fireTruckRepository = serviceProvider.GetService <IFireTruckRepository>(); var trucks = fireTruckRepository.GetAll().Any(); List <string> trucknumbers = new List <string>() { "weq456", "dfg789", "yui459", "udh582", "sjf884", "plm872", "asf726", "wsv111" }; if (!trucks) { for (int i = 0; i < trucknumbers.Count - 2; i++) { FireTruck truck = new FireTruck() { TruckNumber = trucknumbers[i], TruckState = TruckState.Working }; fireTruckRepository.Save(truck); } FireTruck truckRepairing1 = new FireTruck() { TruckNumber = trucknumbers[trucknumbers.Count - 2], TruckState = TruckState.Repairing }; FireTruck truckRepairing2 = new FireTruck() { TruckNumber = trucknumbers[trucknumbers.Count - 1], TruckState = TruckState.Repairing }; fireTruckRepository.Save(truckRepairing1); fireTruckRepository.Save(truckRepairing2); } }