BAL.Manager.UserManager.GetCurrentDrivers C# (CSharp) Метод

GetCurrentDrivers() публичный Метод

public GetCurrentDrivers ( int id ) : List
id int
Результат List
        public List<DriverWithOrdersDTO> GetCurrentDrivers(int id)
        {
            var allDrivers = this.GetDriversWithOrders().ToList();
            var i = 0;
            for (; i < allDrivers.Count; i++)
                if (allDrivers[i].Driver.Id == id)
                    break;
            var currentDriverIndex = i;
            var firstDriverIndex = i - 3;
            var lastDriverIndex = i + 3;
            while (firstDriverIndex < 0)
            {
                firstDriverIndex++;
                lastDriverIndex++;
            }
            while (lastDriverIndex >= allDrivers.Count)
            {
                firstDriverIndex--;
                lastDriverIndex--;
            }
            while (firstDriverIndex < 0)
                firstDriverIndex++;
            var currentDrivers = new List<DriverWithOrdersDTO>();
            for (i = firstDriverIndex; i <= lastDriverIndex; i++)
            {
                var newDriver = allDrivers[i];
                newDriver.Index = i + 1;
                currentDrivers.Add(newDriver);
            }
            return currentDrivers;
        }