public void GetNullWhenCabIsTooFarAway() { var allCabTypes = new CabType[] { CabType.Regular, CabType.Pink }; var allCabs = new List <Domain.Cab> { new Domain.Cab("1", "Toyota Etios", CabType.Regular), new Domain.Cab("2", "Maruti Swift", CabType.Regular), new Domain.Cab("3", "Toyota Etios", CabType.Pink), new Domain.Cab("4", "Maruti Swift", CabType.Regular), new Domain.Cab("5", "Toyota Etios", CabType.Pink), }; var cabLocationMap = new Dictionary <string, GeoCoordinate>(); var pickupLocation = new GeoCoordinate(13.0620326, 77.5977596); var cabLocationService = new Mock <ICabLocationService>(); cabLocationService.Setup( c => c.GetCabsWithinDistance(It.IsAny <int>(), It.IsAny <GeoCoordinate>(), It.IsAny <IEnumerable <string> >())) .Returns(cabLocationMap); var availableCabsRepo = new Mock <IAvailableCabsRepository>(); availableCabsRepo.Setup(a => a.GetAvailableCabs()).Returns(allCabs); var availableCabsService = new AvailableCabsService(cabLocationService.Object, availableCabsRepo.Object); var availableCab = availableCabsService.GetNearestCab(pickupLocation, allCabTypes); Assert.IsNull(availableCab); }
public void GetNullWhenCabIsNotAvailable() { var allCabTypes = new CabType[] { CabType.Regular, CabType.Pink }; var pickupLocation = new GeoCoordinate(13.0085, 77.59087); var cabLocationService = new Mock <ICabLocationService>(); var availableCabsRepo = new Mock <IAvailableCabsRepository>(); availableCabsRepo.Setup(a => a.GetAvailableCabs()).Returns(new List <Domain.Cab>()); var availableCabsService = new AvailableCabsService(cabLocationService.Object, availableCabsRepo.Object); var availableCab = availableCabsService.GetNearestCab(pickupLocation, allCabTypes); Assert.IsNull(availableCab); }
public static string GetCabTypeIcon(CabType cabType) { switch(cabType) { case CabType.ola: return OlaCabImagePath; case CabType.uber: return UberCabImagePath; case CabType.taxiforsure: return TFSCabImagePath; case CabType.meru: return MeruCabImagePath; default: return string.Empty; } }
public CabsListDetailModel(string cabTypeIcon, string displayName, string currencyCode, string lowPriceEstimate, string highPriceEstimate, string estimatedTime, int highPriceEstimateInteger, CabType cabType) { this.CabTypeIcon = cabTypeIcon; this.DisplayName = displayName; if (string.IsNullOrWhiteSpace(highPriceEstimate)) { this.PriceEstimate = String.Format(currencyCode + " " + lowPriceEstimate); } else { this.PriceEstimate = String.Format(currencyCode + " " + highPriceEstimate); } this.EstimatedTime = String.Format(estimatedTime + "mins"); this.HighPriceEstimateInteger = highPriceEstimateInteger; this.EstimatedTimeInteger = Convert.ToInt32(estimatedTime); this.CabProviderType = cabType; }
public void GetNearestCabWhenCabIsAvailable() { var allCabTypes = new CabType[] { CabType.Regular, CabType.Pink }; var allCabs = new List <Domain.Cab> { new Domain.Cab("1", "Toyota Etios", CabType.Regular), new Domain.Cab("2", "Maruti Swift", CabType.Regular), new Domain.Cab("3", "Toyota Etios", CabType.Pink), new Domain.Cab("4", "Maruti Swift", CabType.Regular), new Domain.Cab("5", "Toyota Etios", CabType.Pink), }; var cabLocationMap = new Dictionary <string, GeoCoordinate>() { { "3", new GeoCoordinate(12.99711, 77.61469) }, { "4", new GeoCoordinate(12.97576, 77.62283) } }; var pickupLocation = new GeoCoordinate(13.0085, 77.59087); var cabLocationService = new Mock <ICabLocationService>(); cabLocationService.Setup( c => c.GetCabsWithinDistance( It.IsAny <int>(), It.IsAny <GeoCoordinate>(), It.IsAny <IEnumerable <string> >())) .Returns((int i, GeoCoordinate g, IEnumerable <string> l) => { return(cabLocationMap. Where(cl => l.Contains(cl.Key)). ToDictionary(cl => cl.Key, cl => cl.Value)); }); var availableCabsRepo = new Mock <IAvailableCabsRepository>(); availableCabsRepo.Setup(a => a.GetAvailableCabs()).Returns(allCabs); var availableCabsService = new AvailableCabsService(cabLocationService.Object, availableCabsRepo.Object); var expectedCab = allCabs[2]; var availableCab = availableCabsService.GetNearestCab(pickupLocation, allCabTypes); Assert.That(expectedCab.Equals(availableCab)); availableCabsRepo.Verify(a => a.RemoveCabFromPool(availableCab)); }
public JsonResult CabOut(string orderNo, CabType? type) { try { OrderMgr.OutCab(orderNo); SaveSuccessMessage("驾驶室生产单{0}出库成功", orderNo); // 外购出库打印生产单 if (type != null && type == CabType.Purchase) { OrderMaster orderMaster = base.genericMgr.FindById<OrderMaster>(orderNo); IList<OrderDetail> orderDetails = base.genericMgr.FindAll<OrderDetail>("select od from OrderDetail as od where od.OrderNo=?", orderNo); IList<OrderBomDetail> orderBomDetails = base.genericMgr.FindAll<OrderBomDetail>("select bm from OrderBomDetail as bm where bm.OrderNo=?", orderNo); IList<PrintOrderBomDetail> printOrderBomDetails = Mapper.Map<IList<OrderBomDetail>, IList<PrintOrderBomDetail>>(orderBomDetails); orderMaster.OrderDetails = orderDetails; PrintOrderMaster printOrderMstr = Mapper.Map<OrderMaster, PrintOrderMaster>(orderMaster); IList<object> data = new List<object>(); data.Add(printOrderMstr); data.Add(printOrderMstr.OrderDetails); data.Add(printOrderBomDetails); string reportFileUrl = reportGen.WriteToFile(orderMaster.OrderTemplate, data); return Json(new { PrintUrl = reportFileUrl }); } return Json(new { }); } catch (BusinessException ex) { SaveBusinessExceptionMessage(ex); } catch (Exception ex) { SaveErrorMessage(ex); } return Json(null); }
public async void LaunchCabApp(CabType cabType) { switch (cabType) { case CabType.uber: await Launcher.LaunchUriAsync(new Uri(String.Format("uber://?action=setPickup&pickup=my_location&client_id=7nso5f5k7aFoXfbX09xzNYHYgNd0vbSK"))); break; case CabType.ola: await Launcher.LaunchUriAsync(new Uri(String.Format("olacabs://"))); break; default: break; } }
public Cab(string id, string vehicleType, CabType type) { Id = id; VehicleType = vehicleType; Type = type; }