Пример #1
0
        /// <summary>
        /// Returns a list of offer (sorted) from a given routeNumber
        /// </summary>
        public List <Offer> FindWinner(RouteNumber routeNumber)
        {
            List <Offer> winningOffers = new List <Offer>();
            List <Offer> listOfOffersWithLowestPrice = new List <Offer>();
            int          lengthOfOffers = routeNumber.offers.Count();
            float        lowestEligibleOperationPrice = 0;
            bool         cheapestNotFound             = true;

            for (int i = 0; i < lengthOfOffers; i++)
            {
                if (routeNumber.offers[i].IsEligible && cheapestNotFound)
                {
                    lowestEligibleOperationPrice = routeNumber.offers[i].OperationPrice;
                    cheapestNotFound             = false;
                }
            }

            foreach (Offer offer in routeNumber.offers)
            {
                if (offer.IsEligible && offer.OperationPrice == lowestEligibleOperationPrice)
                {
                    listOfOffersWithLowestPrice.Add(offer);
                }
            }

            int count = 0;

            foreach (Offer offer in listOfOffersWithLowestPrice) // Checking if offers with same price are prioritized
            {
                if (offer.RouteNumberPriority != 0)
                {
                    count++;
                }
            }
            if (count != 0) //if routenumberpriority found

            {
                List <Offer> listOfPriotizedOffers = new List <Offer>();
                foreach (Offer offer in listOfOffersWithLowestPrice)
                {
                    if (offer.RouteNumberPriority > 0)
                    {
                        listOfPriotizedOffers.Add(offer);
                    }
                }

                listOfPriotizedOffers = listOfPriotizedOffers.OrderBy(x => x.RouteNumberPriority).ToList();
                winningOffers.Add(listOfPriotizedOffers[0]);
            }
            else
            {
                foreach (Offer offer in listOfOffersWithLowestPrice)
                {
                    winningOffers.Add(offer);
                }
            }

            return(winningOffers);
        }
        public virtual int _GetUniqueIdentifier()
        {
            var hashCode = 399326290;

            hashCode = hashCode * -1521134295 + (Id?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (EntryDate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (RouteNumber?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (LastUpdated?.GetHashCode() ?? 0);
            return(hashCode);
        }
Пример #3
0
        public void InputPayrollFormDetails(string FormTypetoCreate, string CurrentOrClosedWeekending)
        {
            //Inputs all information needed to create a new payroll form
            FormType.SelectByText(FormTypetoCreate, "FormType");
            CenterDropDown.SelectByIndex(1, "Center");

            var routeNumberValue = GenerateRandomRouteNumber();

            //Save this route number value for use later
            ScenarioContext.Current["RouteNumber"] = routeNumberValue;
            RouteNumber.EnterText(routeNumberValue, "RouteNumber");
            RouteNumber.SendKeys(Keys.Tab);

            var WeekendingDateToSelect = DateTime.Now;

            if (CurrentOrClosedWeekending == "Current")
            {
                WeekendingDateToSelect = (DateTime.Now.AddDays(6 - (int)DateTime.Now.DayOfWeek));
            }
            else
            {
                DateTime StartOfWeek = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
                WeekendingDateToSelect = StartOfWeek.AddDays(-1);
            }
            var departDateValue = WeekendingDateToSelect.AddDays(-2).ToShortDateString();

            ScenarioContext.Current["DepartDate"] = departDateValue;
            DepartDate.EnterText(departDateValue, "DepartDate");
            DepartDate.SendKeys(Keys.Tab);
            WeekendingDate.EnterText(WeekendingDateToSelect.ToShortDateString(), "WeekendingDate");
            WeekendingDate.SendKeys(Keys.Tab);
            driver.RobustWait();

            if (FormTypetoCreate == "Regular")
            {
                Cases.EnterText("25", "Cases");
                Pounds.EnterText("4000", "Cases");
                Cubes.EnterText("25", "Cubes");
                Stops.EnterText("5", "Stops");
            }
        }
Пример #4
0
        public List <RouteNumber> SendRouteNumberListToListContainer()
        {
            //Gets data from the database
            using (FynbusBackupModel db = new FynbusBackupModel())
            {
                var data = db.RouteNumbersTables.ToList();
                foreach (var routenumbers in data)
                {
                    RouteNumber route = new RouteNumber();
                    route.RouteID             = routenumbers.RouteID;
                    route.RequiredVehicleType = routenumbers.RequiredVehicleType;

                    using (FynbusBackupModel db2 = new FynbusBackupModel())
                    {
                        listOfOffers = new List <Offer>();
                        var data2 = db2.OffersTables.Where(x => x.RouteID == route.RouteID).ToList();
                        foreach (var offers in data2)
                        {
                            Offer offer = new Offer();
                            offer.OfferReferenceNumber = offers.OfferReferenceNumber;
                            offer.RouteID                   = offers.RouteID;
                            offer.OperationPrice            = (float)offers.OperationPrice;
                            offer.UserID                    = offers.UserID;
                            offer.CreateRouteNumberPriority = offers.CreateRouteNumberPriority;
                            offer.CreateContractorPriority  = offers.CreateContractorPriority;
                            offer.IsEligible                = true;
                            Contractor contractor = listOfContractors.Find(x => x.UserID == offer.UserID);
                            offer.Contractor = contractor;

                            offer.RequiredVehicleType = routenumbers.RequiredVehicleType;

                            listOfOffers.Add(offer);
                        }
                        route.offers = listOfOffers;
                    }
                    listOfRouteNumbers.Add(route);
                }
            }
            return(listOfRouteNumbers);
        }
Пример #5
0
        public AddEditRoute(BAZANOWEntities model, Транспортные_маршруты route)
        {
            InitializeComponent();
            this.route  = route;
            DataContext = route;
            this.model  = model;

            StopsRoute = new ObservableCollection <МаршрутыОстановки>(route.МаршрутыОстановки.ToList());

            var a = StopsRoute.Select(s => s.Остановки);

            AllStops = new ObservableCollection <Остановки>(model.Остановки.ToArray().Except(a, new ОстановкиComaprer()).ToArray());

            DataGrid.ItemsSource             = AllStops;
            DataGrid2.ItemsSource            = StopsRoute;
            ComboBoxTransportMod.ItemsSource = model.Виды_Транспорта.ToArray();

            if (route.id_маршрута == 0)
            {
                Title           = "Служба 067 - Добавление маршрута";
                AddEdit.Content = "Добавить";
                RouteNumber.Focus();
            }
            else
            {
                Title           = "Служба 067 - Изменение маршрута";
                AddEdit.Content = "Изменить";
            }

            // Сортируем остановки в таблице по полю Порядок
            DataGrid2.Items.SortDescriptions.Clear();
            DataGrid2.Items.SortDescriptions.Add(new SortDescription("Порядок", ListSortDirection.Ascending));

            foreach (DataGridColumn sort in DataGrid2.Columns)
            {
                sort.CanUserSort = false;
            }
        }