/// <summary> /// Executes the load items command. /// </summary> /// <param name="source">The source.</param> async Task ExecuteLoadItemsCommand(string source = "") { if (IsBusy) { return; } IsBusy = true; try { if (source == _origin_notprovided) { _drivers = await App.RestService.GetDriversAsync(); } _drivers.Drivers = _drivers.Drivers.OrderBy(o => o.Fullname).ToList(); LoadItemsFromData(); } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
public Driver Get(int id) { DriverFactory driverFactory = new DriverFactory(); DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance(); return(instanceDriver.Select(id)); }
/// <summary> /// Initializes a new instance of the <see cref="DriversViewModel"/> class for display only the drivers passed as arguments. /// </summary> /// <param name="drivers">The driver list</param> /// <param name="title">Title of the content page.</param> public DriversViewModel(DriverTable drivers, string title) { _drivers = drivers; Title = title; Items = new ObservableCollection <Driver>(); LoadItemsCommand = new Command(async() => await ExecuteLoadItemsCommand()); }
public Collection <T> Select() { RouteFactory routeFactory = new RouteFactory(); RouteTable <Route> instanceRoute = (RouteTable <Route>)routeFactory.GetRouteInstance(); DriverFactory driverFactory = new DriverFactory(); DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance(); VehicleFactory vehicleFactory = new VehicleFactory(); VehicleTable <Vehicle> instanceVehicle = (VehicleTable <Vehicle>)vehicleFactory.GetVehicleInstance(); XDocument xDoc = XDocument.Load(Configuration.XMLFILEPATH); Collection <T> timetables = new Collection <T>(); List <XElement> elements = xDoc.Descendants("Timetables").Descendants("Timetable").ToList(); foreach (var element in elements) { Timetable timetable = new Timetable(); timetable.id = int.Parse(element.Attribute("id").Value); timetable.name = element.Attribute("name").Value; timetable.departure = DateTime.Parse(element.Attribute("departure").Value); timetable.arrival = DateTime.Parse(element.Attribute("arrival").Value); timetable.route = instanceRoute.Select(int.Parse(element.Attribute("routeId").Value)); timetable.driver = instanceDriver.Select(int.Parse(element.Attribute("driverId").Value)); timetable.vehicle = instanceVehicle.Select(int.Parse(element.Attribute("vehicleId").Value)); timetables.Add((T)timetable); } return(timetables); }
public IEnumerable <Driver> Get() { DriverFactory driverFactory = new DriverFactory(); DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance(); return(instanceDriver.Select()); }
/// <summary> /// Executes the load items command. /// </summary> async Task ExecuteLoadItemsCommand() { if (IsBusy) { return; } IsBusy = true; try { Races = await App.RestService.RacesByCircuit(dataoriginal.Id); DriverWinners = await App.RestService.GetDriversWinnerCircuitAsync(dataoriginal.Id); Circuit = dataoriginal; } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
/// <summary> /// Open a driver list with the drivers provided. /// </summary> /// <param name="page">Current ContentPage</param> /// <param name="drivers">List of drivers.</param> /// <param name="title">Title to display in the bar.</param> /// <param name="warning">Indicates if show a warning if no data provided.</param> public static void OpenDriver(ContentPage page, DriverTable drivers, string title, bool warning = true) { if (drivers != null) { page.Navigation.PushAsync(new DriversPage(new DriversViewModel(drivers, title))); } else { ShowWarning(page, warning); } }
public void CreateTable(DriverTable schema) { string sqlString = "create table " + schema.TableName + "( "; for (var i = 0; i < schema.Columns.Count(); i++) { sqlString += schema.Columns.ElementAt(i).ColumnName + " "; switch (schema.Columns.ElementAt(i).ColumnType) { case ColumnDataType.INTEGER: sqlString += "integer"; break; case ColumnDataType.REAL: sqlString += "real"; break; case ColumnDataType.TEXT: sqlString += "text"; break; case ColumnDataType.BLOB: sqlString += "blob"; break; default: throw new Exception("Create table: Column type invalid."); } if (schema.Columns.ElementAt(i).Constraints.Count() > 0) { sqlString += " "; for (var j = 0; j < schema.Columns.ElementAt(i).Constraints.Count(); j++) { switch (schema.Columns.ElementAt(i).Constraints.ElementAt(j).ConstraintType) { case ColumnConstraintType.PRIMARY: sqlString += "primary key"; if (schema.Columns.ElementAt(i).Constraints.ElementAt(j).AutoIncrementColumn == true) { sqlString += " " + "autoincrement"; } break; case ColumnConstraintType.NOTNULL: sqlString += "not null"; break; case ColumnConstraintType.UNIQUE: sqlString += "unique"; break; case ColumnConstraintType.CHECK: sqlString += "check (" + schema.Columns.ElementAt(i).Constraints.ElementAt(j).DefaultValueOrExpr + ")"; break; case ColumnConstraintType.DEFAULT: sqlString += "default (" + schema.Columns.ElementAt(i).Constraints.ElementAt(j).DefaultValueOrExpr + ")"; break; case ColumnConstraintType.FOREIGN: sqlString += "references " + schema.Columns.ElementAt(i).Constraints.ElementAt(j).ReferentialTable + "("; for (var k = 0; k < schema.Columns.ElementAt(i).Constraints.ElementAt(j).ReferentialColumns.Count(); k++) { sqlString += schema.Columns.ElementAt(i).Constraints.ElementAt(j).ReferentialColumns.ElementAt(k); if (k != schema.Columns.ElementAt(i).Constraints.ElementAt(j).ReferentialColumns.Count() - 1) { sqlString += ", "; } } sqlString += ")"; break; default: throw new Exception("Create table: Column constraint type invalid."); } if (j != schema.Columns.ElementAt(i).Constraints.Count() - 1) { sqlString += " "; } } } if (i != schema.Columns.Count() - 1) { sqlString += ", "; } } if (schema.Keys.Count() > 0) { for (var i = 0; i < schema.Keys.Count(); i++) { switch (schema.Keys.ElementAt(i).ConstraintType) { case TableConstraintType.CHECK: sqlString += "check (" + schema.Keys.ElementAt(i).DefaultValueOrExpr + ")"; break; case TableConstraintType.UNIQUE: sqlString += "unique"; break; case TableConstraintType.FOREIGN: sqlString += "foreign key ("; for (var k = 0; k < schema.Keys.ElementAt(i).AppliedColumns.Count(); k++) { sqlString += schema.Keys.ElementAt(i).AppliedColumns.ElementAt(k); if (k != schema.Keys.ElementAt(i).AppliedColumns.Count() - 1) { sqlString += ", "; } } sqlString += ")"; sqlString += "references " + schema.Keys.ElementAt(i).ReferentialTable + "("; for (var k = 0; k < schema.Keys.ElementAt(i).ReferentialColumns.Count(); k++) { sqlString += schema.Keys.ElementAt(i).ReferentialColumns.ElementAt(k); if (k != schema.Keys.ElementAt(i).ReferentialColumns.Count() - 1) { sqlString += ", "; } } sqlString += ")"; break; case TableConstraintType.PRIMARY: break; } if (i != schema.Keys.Count() - 1) { sqlString += " "; } } } sqlString += " );"; // now run RunNonQuery(sqlString); }
private async void LoadDriverFromId() { _drivers = await App.RestService.GetDriverInfoAsync(DriverId); original = _drivers.Drivers[0]; }
public LoginResponse Post([FromBody] User u) { DispatcherFactory dispatcherFactory = new DispatcherFactory(); DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance(); ManagerFactory managerFactory = new ManagerFactory(); ManagerTable <Manager> instanceManager = (ManagerTable <Manager>)managerFactory.GetManagerInstance(); DriverFactory driverFactory = new DriverFactory(); DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance(); SessionFactory sessionFactory = new SessionFactory(); SessionsTable <Session> instanceSession = (SessionsTable <Session>)sessionFactory.GetSessionInstance(); var dispatcher = instanceDispatcher.Login(u.email, u.password); var driver = instanceDriver.Login(u.email, u.password); var manager = instanceManager.Login(u.email, u.password); if (dispatcher != null) { var token = GenerateToken().ToString(); Session s = new Session(); s.token = token; s.type = "DISPATCHER"; s.user_id = dispatcher.id; instanceSession.CreateSession(s); LoginResponse lr = new LoginResponse(); lr.token = token; lr.type = "DISPATCHER"; lr.email = dispatcher.email; return(lr); } if (driver != null) { var token = GenerateToken().ToString(); Session s = new Session(); s.token = token; s.type = "DRIVER"; s.user_id = driver.id; instanceSession.CreateSession(s); LoginResponse lr = new LoginResponse(); lr.token = token; lr.type = "DRIVER"; lr.email = driver.email; return(lr); } if (manager != null) { var token = GenerateToken().ToString(); Session s = new Session(); s.token = token; s.type = "MANAGER"; s.user_id = manager.id; instanceSession.CreateSession(s); LoginResponse lr = new LoginResponse(); lr.token = token; lr.type = "MANAGER"; lr.email = manager.email; return(lr); } LoginResponse lr1 = new LoginResponse(); lr1.token = null; lr1.type = "Užívatel neexistuje!"; lr1.email = null; return(lr1); }
public Overview Get() { SessionFactory sessionsFactory = new SessionFactory(); SessionsTable <Session> instance = (SessionsTable <Session>)sessionsFactory.GetSessionInstance(); var list = Request.Headers.ToList(); var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty); if (token == null) { return(new Overview()); } var dispatcher = instance.SelectDispatcherSession(token); var driver = instance.SelectDriverSession(token); var manager = instance.SelectManagerSession(token); if (dispatcher == null && driver == null && manager == null) { return(new Overview()); } Overview obj = new Overview(); RequestFactory requestFactory = new RequestFactory(); RequestTable <Request> instanceRequest = (RequestTable <Request>)requestFactory.GetRequestInstance(); var requests = instanceRequest.Select(); obj.acceptedRequests = requests.Where(r => r.state == RequestState.ACCEPTED).Count(); obj.declinedRequests = requests.Where(r => r.state == RequestState.DECLINED).Count(); obj.newRequests = requests.Where(r => r.state == RequestState.NEW).Count(); decimal salary = 0; DriverFactory driverFactory = new DriverFactory(); DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance(); var listDrivers = instanceDriver.Select(); obj.driverCount = listDrivers.Count(); salary += listDrivers.Sum(dr => dr.salary); DispatcherFactory dispatcherFactory = new DispatcherFactory(); DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance(); var listDispatchers = instanceDispatcher.Select(); obj.dispatcherCount = listDispatchers.Count(); salary += listDispatchers.Sum(dis => dis.salary); obj.monthSalary = salary; VehicleFactory vehicleFactory = new VehicleFactory(); var instanceVehicle = vehicleFactory.GetVehicleInstance(); obj.vehicleCount = instanceVehicle.Select().Count(); FailureFactory failureFactory = new FailureFactory(); FailureTable <Failure> instanceFailure = (FailureTable <Failure>)failureFactory.GetFailureInstance(); var listFailures = instanceFailure.Select(); DateTime lastMonth = DateTime.Now.AddMonths(-1); obj.failurestInLastMonth = listFailures.Where(d => d.created > lastMonth).Count(); obj.failures = listFailures.Count(); return(obj); }