Example #1
0
        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);
        }
Example #2
0
        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;
 }
Example #5
0
        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;
     }
 }
Example #8
0
 public Cab(string id, string vehicleType, CabType type)
 {
     Id          = id;
     VehicleType = vehicleType;
     Type        = type;
 }