/// <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); }
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"); } }
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); }
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; } }