Esempio n. 1
0
 public EditDriver(MongoTools database, string collectionName, ObjectId id)
 {
     this.database       = database;
     this.collectionName = collectionName;
     this.id             = id;
     InitializeComponent();
 }
Esempio n. 2
0
 public static IMongoCollection <T> CollectionAs <T>() where T : ServerLog
 {
     return(MongoTools.GetCollection <T>());
 }
Esempio n. 3
0
        private string getHtmlData(MongoTools database, string collectionName)
        {
            string htmlData = "";

            if (collectionName == "drivers")
            {
                List <Driver> drivers = database.LoadAllDocuments <Driver>("drivers");

                int count = drivers.Count();

                DateTime dt                    = DateTime.Now;
                string   dayOfWeek             = dt.ToString("ddd");
                int      withWorkingBusesCount = drivers.Where(driver => database.LoadDocumentById <Bus>("buses", driver.BusId).IsWorking).Count();

                List <Driver> todayWorkingList  = drivers.Where(driver => driver.Schedule.Contains(dayOfWeek)).ToList();
                int           todayWorkingCount = todayWorkingList.Count();
                string        todayWorkingHtml  = "";

                foreach (Driver driver in todayWorkingList)
                {
                    Bus bus = database.LoadDocumentById <Bus>("buses", driver.BusId);
                    todayWorkingHtml += $"<div class=\"drivers__drivers\">{driver.LastName} {driver.Name}: <span>{bus.Number}</span></div>";
                }
                htmlData = $"<div class=\"data__block\"><span>Количество водителей: </span> {count}</div>" +
                           $"<div class=\"data__block\"><span>Количество водителей с работающими автобусами: </span> {withWorkingBusesCount}</div>" +
                           $"<div class=\"data__block\"><span>Сегодня работает водителей: </span> {todayWorkingCount}</div>" +
                           $"<div class=\"data__block\"><span>Сегодня работают: </span> {todayWorkingHtml}</div>";
            }
            else if (collectionName == "buses")
            {
                List <Bus> buses = database.LoadAllDocuments <Bus>("buses");

                int count        = buses.Count();
                int workingCount = buses.Where(bus => bus.IsWorking).Count();

                int    maxEndTime    = 0;
                string maxEndTimeStr = "";
                string driversList   = "";

                foreach (var bus in buses)
                {
                    List <Driver> drivers = database.LoadAllDocuments <Driver>("drivers");
                    Driver        driver  = drivers.Find(d => d.BusId == bus.Id);

                    if (driver != null)
                    {
                        ObjectId routeId = driver.RouteId;

                        Route route = database.LoadDocumentById <Route>("routes", routeId);

                        driversList += $"<div class='bus__drivers'><span>{bus.Number}</span>: {driver.LastName} {driver.Name}</div>";

                        string endTimeStr = route.EndTime;
                        int    endTime    = Convert.ToInt32(endTimeStr[0]) + Convert.ToInt32(endTimeStr[1]);

                        if (endTime > maxEndTime)
                        {
                            maxEndTime    = endTime;
                            maxEndTimeStr = endTimeStr;
                        }
                    }
                }
                htmlData = $"<div class=\"data__block\"><span>Количество автобусов:</span> {count}</div>" +
                           $"<div class=\"data__block\"><span>Количество сломанных автобусов:</span> {count - workingCount}</div>" +
                           $"<div class=\"data__block\"><span>Последний автобус приедет в:</span> {maxEndTimeStr}</div>" +
                           $"<div class=\"data__block\"><span>Список водителей:</span> {driversList}</div>";
            }
            else if (collectionName == "routes")
            {
                List <Route>  routes  = database.LoadAllDocuments <Route>("routes");
                List <Driver> drivers = database.LoadAllDocuments <Driver>("drivers");
                List <Bus>    buses   = database.LoadAllDocuments <Bus>("buses");

                int count = routes.Count();

                string busesByRoutesCountHtml = "";

                foreach (Route route in routes)
                {
                    List <Driver> driversByRoute      = drivers.Where(driver => driver.RouteId == route.Id).ToList();
                    int           driversByRouteCount = driversByRoute.Count;
                    if (driversByRouteCount > 0)
                    {
                        busesByRoutesCountHtml += $"<div class=\"bold tab\">Автобусы на маршруте {route.Number} ({driversByRouteCount} автобусов): </div>";

                        foreach (Driver driver in driversByRoute)
                        {
                            Bus bus = database.LoadDocumentById <Bus>("buses", driver.BusId);
                            busesByRoutesCountHtml += $"<div class=\"routes__drivers\">{driver.LastName}: <span>{bus.Number}</span></div>";
                        }
                    }
                }
                htmlData = $"<div class=\"data__block\"><span>Количество маршрутов:</span> {count}</div>" +
                           $"<div class=\"data__block\"><span>Маршруты:</span> {busesByRoutesCountHtml}</div>";
            }
            return(htmlData);
        }
Esempio n. 4
0
 public static MongoCollection <T> CollectionAs <T>() where T : User
 {
     return(MongoTools.GetCollection <T>());
 }