public ActionResult ChooseProduct(int itemRecommendedProductId, int userRecommendedProductId, int orderId, int selectedProductId) { var result = new RecommendationResult(); result.OrderId = orderId; result.SelectedProductId = selectedProductId; result.ItemRecommendedProductId = itemRecommendedProductId; result.UserRecommendedProductId = userRecommendedProductId; if (!db.RecommendationResults.ToList().Exists(x => x.OrderId == orderId)) { db.RecommendationResults.Add(result); db.SaveChanges(); } return(View("CompleteFinished", orderId)); }
public async Task <RecommendationResult> GetRecommendationRoutesToVehicleObjectsAsync() { var routes = await GetRouteFromCppAsync(); var directedDistance = await new HttpRequestMapRepository(_httpClient, null).GetDirectedDistanceAsync((UserRequirementFromCSharp)_userRequirement); return(await Task.Run(() => { RecommendationResult recommendationResult = new RecommendationResult(); recommendationResult.Remark = _remark; recommendationResult.Result = new List <List <object> >(); for (int i = 0; i < routes.Count(); i++) { int completedRouteSize = routes.ElementAt(i).Count(); recommendationResult.Result.Add(new List <object>(completedRouteSize)); for (int j = 0; j < completedRouteSize; j++) { var oneRoute = routes.ElementAt(i).ElementAt(j); string vehicleType = Marshal.PtrToStringAnsi(oneRoute.vehicle_type); switch (vehicleType) { case "HSRC_TYPE": recommendationResult.Result[i].Add(new HSRC(oneRoute)); break; case "AIRPLANE_TYPE": recommendationResult.Result[i].Add(new AirPlane(oneRoute, directedDistance)); break; default: new Vehicle(vehicleType); //用来抛出异常 break; } } } return recommendationResult; })); }