示例#1
0
        public async Task <IDataResult <Car> > AddAsync(CarAddDto carAddDto)
        {
            var brandResult = await GetBrandByBrandNameAsync(carAddDto.BrandName);

            if (!brandResult.Success)
            {
                return(new ErrorDataResult <Car>(null, brandResult.Message));
            }

            var colorResult = await GetColorByColorNameAsync(carAddDto.ColorName);

            if (!colorResult.Success)
            {
                return(new ErrorDataResult <Car>(null, colorResult.Message));
            }

            var gearTypeResult = await GetGearTypeByGearTypeNameAsync(carAddDto.GearTypeName);

            if (!gearTypeResult.Success)
            {
                return(new ErrorDataResult <Car>(null, gearTypeResult.Message));
            }

            var fuelTypeResult = await GetFuelTypeByFuelTypeNameAsync(carAddDto.FuelTypeName);

            if (!fuelTypeResult.Success)
            {
                return(new ErrorDataResult <Car>(null, fuelTypeResult.Message));
            }


            Car carToAdd = new Car()
            {
                BrandId     = brandResult.Data.Id,
                ColorId     = colorResult.Data.Id,
                FuelTypeId  = fuelTypeResult.Data.Id,
                GearTypeId  = gearTypeResult.Data.Id,
                HorsePower  = carAddDto.HorsePower,
                Name        = carAddDto.Name,
                DailyPrice  = carAddDto.DailyPrice,
                Description = carAddDto.Description,
                ModelYear   = carAddDto.ModelYear
            };
            bool addResult = await _carDal.AddAsync(carToAdd);

            if (!addResult)
            {
                return(new ErrorDataResult <Car>(null, Messages.CarNotAdded));
            }

            var carCreditScoreAddResult = await AddCarCreditScoreAsync(carToAdd.Id, carAddDto.MinCreditScore);

            if (!carCreditScoreAddResult.Success)
            {
                return(new ErrorDataResult <Car>(null, carCreditScoreAddResult.Message));
            }

            return(new SuccessDataResult <Car>(carToAdd, Messages.CarAdded));
        }
示例#2
0
        public async Task <IResult> AddAsync(Car entity)
        {
            await _carDal.AddAsync(entity);

            return(new SuccessResult());
        }
示例#3
0
        public async Task <IResult> Add(Car car)
        {
            await _carDal.AddAsync(car);

            return(new SuccessResult(Messages.CarAdded));
        }