public MyUserManager(ILanguageManager langManager,
                      IUserService userService,
                      IAddressService addressService,
                      ICarManager carManager,
                      IVehicleServiceService vehicleService,
                      ICommonService commonService,
                      ICloudStorage cloudStorage)
 {
     this.langManager    = langManager;
     this.userService    = userService;
     this.addressService = addressService;
     this.carManager     = carManager;
     this.vehicleService = vehicleService;
     this.commonService  = commonService;
     this.cloudStorage   = cloudStorage;
 }
 public VehicleServiceManager(IVehicleServiceService vehicleService, ICarService carService, IUserService userService)
 {
     this.vehicleService = vehicleService;
     this.carService     = carService;
     this.userService    = userService;
 }
Exemplo n.º 3
0
        public bool AddReplacedPart(CreateCarPartVm carPart, int carId, string appUserId)
        {
            var entityCar = this.carService.GetById(carId);

            if (entityCar.Owner.ApplicationUserId != appUserId)
            {
                return(false);
            }

            var manufacturerName = "unknown";

            if (!string.IsNullOrWhiteSpace(carPart.ManufacturerName))
            {
                manufacturerName = carPart.ManufacturerName.ToLower();
            }

            var entityManufacturer = this.carService.GetCarPartManufacturerByName(manufacturerName);

            if (entityManufacturer == null)
            {
                entityManufacturer = new Manufacturer()
                {
                    Name = manufacturerName
                };

                var isManufacturerAdded = this.carService.AddManufacturer(entityManufacturer);

                if (!isManufacturerAdded)
                {
                    return(false);
                }
            }

            // change car running distance ....
            var runningDistanceInKm = this.RunningDistanceToKm(carPart.MountedOnKm, carPart.MountedOnMi);

            if (runningDistanceInKm > 0 && entityCar.RunningDistance < runningDistanceInKm)
            {
                entityCar.RunningDistance = runningDistanceInKm;
            }
            else if (carPart.DistanceTraveled > 0)
            {
                entityCar.RunningDistance += carPart.DistanceTraveled;
            }

            if (string.IsNullOrWhiteSpace(carPart.SerialNumber))
            {
                carPart.SerialNumber = string.Empty;
            }

            if (!string.IsNullOrWhiteSpace(carPart.SerialNumber))
            {
                carPart.SerialNumber = carPart.SerialNumber.ToUpper();
            }

            // create new part
            var newPart = new CarPart()
            {
                CreatedOn      = DateTime.UtcNow,
                SerialNumber   = carPart.SerialNumber,
                Price          = carPart.PartPrice,
                Name           = carPart.PartName.ToLower(),
                ManufacturerId = entityManufacturer.Id,
                MountedOnKm    = entityCar.RunningDistance,
                Car            = entityCar,
                CarId          = entityCar.Id
            };

            // create/register vehicle service
            if (carPart.VehicleService.ToLower() == "by me")
            {
                var serviceName    = carPart.VehicleService.ToLower();
                var vehicleService = this.vehicleService.GetAllVehicleServices().FirstOrDefault(x => x.Name == serviceName);

                if (vehicleService == null)
                {
                    vehicleService = this.CreateDefaultVehicleService();

                    var address = this.addressService.GetAllAddresses().FirstOrDefault(x => x.StreetName == "My Street");

                    vehicleService.Address   = address;
                    vehicleService.AddressId = address.Id;

                    bool isAdded = this.vehicleService.AddVehicleService(vehicleService);

                    if (!isAdded)
                    {
                        return(false);
                    }
                }
                else
                {
                    newPart.VehicleService             = vehicleService;
                    newPart.VehicleServiceId           = vehicleService.Id;
                    newPart.IsApprovedByVehicleService = true;
                    vehicleService.CarParts.Add(newPart);
                }
            }
            else
            {
                var serviceName    = carPart.VehicleService.ToLower();
                var vehicleService = this.vehicleService.GetAllVehicleServices().FirstOrDefault(x => x.Name == serviceName);

                if (vehicleService != null)
                {
                    newPart.VehicleService   = vehicleService;
                    newPart.VehicleServiceId = vehicleService.Id;
                    vehicleService.CarParts.Add(newPart);
                    newPart.RequestedToVehicleService = true;
                }
                else
                {
                    vehicleService = this.vehicleService.GetAllVehicleServices().FirstOrDefault(x => x.Name == "by me");

                    if (vehicleService == null)
                    {
                        vehicleService = this.CreateDefaultVehicleService();
                    }

                    newPart.VehicleService   = vehicleService;
                    newPart.VehicleServiceId = vehicleService.Id;
                    vehicleService.CarParts.Add(newPart);
                }
            }

            entityManufacturer.CarParts.Add(newPart);
            entityCar.CarParts.Add(newPart);

            bool isCarPartAdded = this.carService.AddCarPart(newPart);

            return(isCarPartAdded);
        }
Exemplo n.º 4
0
 public CarManager(ICarService carService, IVehicleServiceService vehicleService, IAddressService addressService)
 {
     this.carService     = carService;
     this.vehicleService = vehicleService;
     this.addressService = addressService;
 }
Exemplo n.º 5
0
 public CommercialManager(IVehicleServiceService vehicleService, ICommercialService commercialService)
 {
     this.vehicleService    = vehicleService;
     this.commercialService = commercialService;
 }