public List <Ride> Search([FromBody] Dodatno dodatno) { List <Ride> rides = TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Customer").Include("Driver").Include("Comment").ToList(); if (dodatno.SearchC) { if (dodatno.imeMusterije != null) { rides = rides.Where(x => x.Customer != null && x.Customer.Name == dodatno.imeMusterije).ToList(); } if (dodatno.prezimeMusterije != null) { rides = rides.Where(x => x.Customer != null && x.Customer.LastName == dodatno.prezimeMusterije).ToList(); } } if (dodatno.SearchD) { if (dodatno.imeVozaca != null) { rides = rides.Where(x => x.Driver.Name == dodatno.imeVozaca).ToList(); } if (dodatno.prezimeVozaca != null) { rides = rides.Where(x => x.Driver.LastName == dodatno.prezimeVozaca).ToList(); } } return(rides); }
[Route("api/Taxi/CancelRide")]////////// public IHttpActionResult CancelRide([FromBody] Dodatno dodatno) { if (TaxiRepository.Instance.GetridesMain[dodatno.brojac].Status != RideStatus.Accepted) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Customer")) { if (item.Customer != null) { if (item.Customer.Username == TaxiRepository.Instance.signedIn.Username && TaxiRepository.Instance.GetridesMain[dodatno.brojac].Id == item.Id) { item.Status = RideStatus.Canceled; } } } TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); } return(NotFound()); }
public IHttpActionResult AssignDriver([FromBody] Dodatno dodatno) { if (TaxiRepository.Instance.ridesSl[dodatno.brojac].Status == RideStatus.Ordered || TaxiRepository.Instance.ridesSl[dodatno.brojac].Status == RideStatus.Processed) { TaxiRepository.Instance.ridesSl[dodatno.brojac].Driver = TaxiRepository.Instance.getDriver(TaxiRepository.Instance.signedInD.Username); foreach (var ride in TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Customer")) { if (ride.Customer != null) { if ((TaxiRepository.Instance.ridesSl[dodatno.brojac].Customer != null && ride.Customer.Username == TaxiRepository.Instance.ridesSl[dodatno.brojac].Customer.Username) && TaxiRepository.Instance.ridesSl[dodatno.brojac].Id == ride.Id) { ride.Status = RideStatus.Accepted; if (ride.Driver == null) { ride.Driver = TaxiRepository.Instance.ridesSl[dodatno.brojac].Driver; } } } else { if (TaxiRepository.Instance.ridesSl[dodatno.brojac].Id == ride.Id) { ride.Status = RideStatus.Accepted; if (ride.Driver == null) { ride.Driver = TaxiRepository.Instance.ridesSl[dodatno.brojac].Driver; } } } } TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); } return(NotFound()); }
public IHttpActionResult Comment([FromBody] Dodatno comment) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Customer").Include("Comment")) { if (item.Customer != null) { if (item.CommentId == TaxiRepository.Instance.GetridesMain[comment.brojac].CommentId && item.Id == TaxiRepository.Instance.GetridesMain[comment.brojac].Id) { item.Comment = new Comment(); item.Comment.PublishDate = DateTime.Now.Date; item.Comment.Description = comment.Description; item.Comment.Rate = UInt32.Parse(comment.Rate); item.Comment.Customer = TaxiRepository.Instance.getUser(TaxiRepository.Instance.signedIn.Username); } } } TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); }
public IHttpActionResult SelectDriver([FromUri] Dodatno dodatno) { TaxiRepository.Instance.selectedRideToAssign.Status = RideStatus.Accepted; foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Driver").Include("Customer")) { if (item.Id == TaxiRepository.Instance.selectedRideToAssign.Id) { if (TaxiRepository.Instance.selectedRideToAssign.Driver != null) { item.Driver = TaxiRepository.Instance.selectedRideToAssign.Driver; } else { item.Driver = TaxiRepository.Instance.slobodniVozaci[dodatno.brojac]; } item.Status = RideStatus.Accepted; break; } } TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); }
public List <Ride> Sort([FromBody] Dodatno dodatno) { List <Ride> list = new List <Ride>(); foreach (var item in TaxiRepository.Instance.AllRides) { if (TaxiRepository.Instance.userLogged && item.Customer.Username != null) { if (item.Customer.Username == TaxiRepository.Instance.signedIn.Username) { list.Add(item); } } else if (TaxiRepository.Instance.dispecherLogged && item.Dispatcher.Username != null) { if (item.Dispatcher.Username == TaxiRepository.Instance.signedIn.Username) { list.Add(item); } } else if (TaxiRepository.Instance.driverLogged && item.Driver.Username != null) { if (item.Driver.Username == TaxiRepository.Instance.signedInD.Username) { list.Add(item); } } } if (dodatno.SortDatum) { for (int i = 0; i < list.Count - 1; i++) { for (int j = i + 1; j > 0; j--) { if (list[j - 1].OrderTime < list[j].OrderTime) { Ride temp = list[j - 1]; list[j - 1] = list[j]; list[j] = temp; } } } } else if (dodatno.SortOcena) { for (int i = 0; i < list.Count - 1; i++) { for (int j = i + 1; j > 0; j--) { if (list[j - 1].Comment.Rate < list[j].Comment.Rate) { Ride temp = list[j - 1]; list[j - 1] = list[j]; list[j] = temp; } } } } return(list); }
public List <Ride> Filter([FromBody] Dodatno status) { if (TaxiRepository.Instance.dispecherLogged) { TaxiRepository.Instance.RidesDisp.Clear(); if (status.Status == RideStatus.NoFilter) { foreach (var item in TaxiRepository.Instance.AllRides) { if (item.Dispatcher.Username != null) { if (item.Dispatcher.Username == TaxiRepository.Instance.signedIn.Username) { TaxiRepository.Instance.RidesDisp.Add(item); } } } } else { foreach (var item in TaxiRepository.Instance.AllRides) { if (item.Dispatcher.Username != null) { if (item.Dispatcher.Username == TaxiRepository.Instance.signedIn.Username && item.Status == status.Status) { TaxiRepository.Instance.RidesDisp.Add(item); } } } } return(TaxiRepository.Instance.RidesDisp); } else if (TaxiRepository.Instance.userLogged) { TaxiRepository.Instance.RideUser.Clear(); if (status.Status == RideStatus.NoFilter) { foreach (var item in TaxiRepository.Instance.AllRides) { if (item.Customer.Username != null) { if (item.Customer.Username == TaxiRepository.Instance.signedIn.Username) { TaxiRepository.Instance.RideUser.Add(item); } } } } else { foreach (var item in TaxiRepository.Instance.AllRides) { if (item.Customer.Username != null) { if (item.Customer.Username == TaxiRepository.Instance.signedIn.Username && item.Status == status.Status) { TaxiRepository.Instance.RideUser.Add(item); } } } } return(TaxiRepository.Instance.RideUser); } else if (TaxiRepository.Instance.driverLogged) { TaxiRepository.Instance.RideDriver.Clear(); if (status.Status == RideStatus.NoFilter) { foreach (var item in TaxiRepository.Instance.AllRides) { if (item.Driver != null) { if (item.Driver.Username == TaxiRepository.Instance.signedInD.Username) { TaxiRepository.Instance.RideDriver.Add(item); } } } } else { foreach (var item in TaxiRepository.Instance.AllRides) { if (item.Customer != null) { if (item.Driver.Username == TaxiRepository.Instance.signedInD.Username && item.Status == status.Status) { TaxiRepository.Instance.RideDriver.Add(item); } } } } return(TaxiRepository.Instance.RideDriver); } return(null); }
public IHttpActionResult SelectRide([FromUri] Dodatno selected) { TaxiRepository.Instance.selectedRideToAssign = TaxiRepository.Instance.ridesSl[selected.brojac]; return(Ok()); }
public List <Ride> Preview([FromBody] Dodatno dodatno) { List <Ride> allRides = TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Customer").Include("Driver").Include("Dispatcher").Include("CustomerLocation").Include("Comment").ToList(); List <Ride> rides = new List <Ride>(); if (TaxiRepository.Instance.dispecherLogged) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Customer").Include("Driver").Include("Dispatcher").Include("CustomerLocation").Include("Comment")) { if (item.Dispatcher != null && item.Dispatcher.Username == TaxiRepository.Instance.signedIn.Username) { rides.Add(item); } } } else if (TaxiRepository.Instance.userLogged) { foreach (var item in allRides) { if (item.Customer != null && item.Customer.Username == TaxiRepository.Instance.signedIn.Username) { rides.Add(item); } } } else if (TaxiRepository.Instance.driverLogged) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Rides.Include("Customer").Include("Driver").Include("Dispatcher").Include("CustomerLocation").Include("Comment")) { if (item.Driver != null && item.Driver.Username == TaxiRepository.Instance.signedInD.Username) { rides.Add(item); } } } if (dodatno.Status != RideStatus.NoFilter) { rides = rides.Where(x => x.Status == dodatno.Status).ToList(); } DateTime dateTime = new DateTime(1, 1, 1); if (dodatno.DatumOd.Date != dateTime) { rides = rides.Where(x => x.OrderTime.Date > dodatno.DatumOd).ToList(); } if (dodatno.DatumDo != dateTime) { rides = rides.Where(x => x.OrderTime.Date < dodatno.DatumDo).ToList(); } if (dodatno.CenaDo != -1) { rides = rides.Where(x => x.Fare < dodatno.CenaDo).ToList(); } if (dodatno.CenaOd != -1) { rides = rides.Where(x => x.Fare > dodatno.CenaOd).ToList(); } if (dodatno.OcenaDo != -1) { rides = rides.Where(x => x.Comment.Rate < dodatno.OcenaDo).ToList(); } if (dodatno.OcenaOd != -1) { rides = rides.Where(x => x.Comment.Rate > dodatno.OcenaOd).ToList(); } if (dodatno.SortDatum) { for (int i = 0; i < rides.Count - 1; i++) { for (int j = i + 1; j > 0; j--) { if (rides[j - 1].OrderTime < rides[j].OrderTime) { Ride temp = rides[j - 1]; rides[j - 1] = rides[j]; rides[j] = temp; } } } } else if (dodatno.SortOcena) { for (int i = 0; i < rides.Count - 1; i++) { for (int j = i + 1; j > 0; j--) { if (rides[j - 1].Comment.Rate < rides[j].Comment.Rate) { Ride temp = rides[j - 1]; rides[j - 1] = rides[j]; rides[j] = temp; } } } } return(rides); }