Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
            }
        }