public Task <DataResult <DTOCar> > EditAsync(DTOCar carDTO) { return(Task.Run(() => { var carRepository = _unitOfWork.GetRepository <Car>(); if (carRepository.ExistByCondition(x => x.LicensePlates == carDTO.LicensePlates && x.Id != carDTO.Id)) { return new DataResult <DTOCar> { Errors = new List <ErrorDescriber> { new ErrorDescriber("Existed Car License Plates") }, Target = carDTO } } ; var carEntity = _mapper.Map <Car>(carDTO); carEntity.ModifiedDate = DateTime.Now; var updatedCarEntity = carRepository.Update(carEntity); _unitOfWork.SaveChanges(); var updatedCarDTO = _mapper.Map <DTOCar>(updatedCarEntity); return new DataResult <DTOCar> { Errors = new List <ErrorDescriber>(), Target = updatedCarDTO }; })); }
public Task <DataResult <DTOCar> > CreateAsync(DTOCar carDTO) { return(Task.Run(() => { var createdCarDTO = new DTOCar(); var passingCarOwnerId = carDTO.CurrentCarOwnerId; if (carRepository.ExistByCondition(x => x.LicensePlates == carDTO.LicensePlates && !string.IsNullOrEmpty(x.LicensePlates))) { return new DataResult <DTOCar> { Errors = new List <ErrorDescriber> { new ErrorDescriber("Existed Car License Plates") }, Target = carDTO } } ; var carEntity = _mapper.Map <Car>(carDTO); carEntity.CreatedDate = DateTime.Now; string garageShortName = garageInfoRepository.GetFirstOrDefault()?.ShortName; var identityNumber = carRepository.Identity(x => x.GenerateId) != null ? carRepository.Identity(x => x.GenerateId).GenerateId : 0; carEntity.Id = garageShortName + IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Car.ToDefaultValue() }, NumberUnitType.Large); var createdCarEntity = carRepository.Insert(carEntity); _unitOfWork.SaveChanges(); createdCarDTO = _mapper.Map <DTOCar>(createdCarEntity); return new DataResult <DTOCar> { Errors = new List <ErrorDescriber>(), Target = createdCarDTO }; })); }
private async Task <List <ErrorDescriber> > CreateOrUpdateCar(DTOCar carDTO) { var errorResult = new List <ErrorDescriber>(); if (!string.IsNullOrEmpty(carDTO.Id)) { var carResult = await _serviceParameter.CarService.EditAsync(carDTO); if (carResult.HasErrors) { errorResult = carResult.Errors; } } else { if (!string.IsNullOrEmpty(carDTO.VinNumber) && !string.IsNullOrEmpty(carDTO.MachineNumber) && !string.IsNullOrEmpty(carDTO.LicensePlates)) { var carResult = await _serviceParameter.CarService.CreateAsync(carDTO); if (carResult.HasErrors) { errorResult = carResult.Errors; } } } return(errorResult); }
public DTOCar ToDTO(Car car) { DTOCar CarDTO = new DTOCar(); CarDTO.Plaque = car.Plaque; CarDTO.CartypeID = car.CartypeID; CarDTO.CustomerID = car.CustomerID; CarDTO.ID = car.ID; CarDTO.Model_ID = car.Model_ID; CarDTO.CustomerName = car.Customer.Name; CarDTO.PhoneNumber = car.Customer.Phone; CarDTO.PhoneNumber2 = car.Customer.Phone2; CarDTO.ModelYear = car.ModelYear; CarDTO.Color = car.Color; CarDTO.EngineCapacity = car.EngineCapacity; CarDTO.EngineNumber = car.EngineNumber; CarDTO.FuelType = car.FuelType; CarDTO.KeyCode = car.KeyCode; CarDTO.LicenseOwnder = car.LicenseOwnder; CarDTO.SasiNo = car.SasiNo; CarDTO.BrandID = car.Model_.BrandID; CarDTO.ModelName = car.Model_.Name; CarDTO.BrandName = car.Model_.Brand.Name; CarDTO.CarTypeName = car.CarType.Name; return(CarDTO); }
public async Task <IHttpActionResult> Put([FromBody] DTOCar carDTO) { var result = await _carService.EditAsync(carDTO); if (!result.HasErrors) { var successResult = SuccessResult(result.Target); return(Ok(successResult)); } var errorResult = ErrorResult(result.Errors); return(Content(HttpStatusCode.InternalServerError, errorResult)); }
public Task <DataResult <DTOCar> > GetCarByIdAsync(string carId) { return(Task.Run(() => { var carDTO = new DTOCar(); var carRepository = _unitOfWork.GetRepository <Car>(); var car = _unitOfWork.GetRepository <Car>().GetById(carId); if (car != null) { carDTO = _mapper.Map <DTOCar>(car); } else { var identityNumber = carRepository.Identity(x => x.GenerateId) != null ? carRepository.Identity(x => x.GenerateId).GenerateId : 0; carDTO.Id = IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Car.ToDefaultValue() }, NumberUnitType.Large); } return new DataResult <DTOCar> { Errors = new List <ErrorDescriber>(), Target = carDTO }; })); }
public Task <DataResult <DTOCar> > GetSpecifyCarByCustomerIdAsync(string customerId) { return(Task.Run(() => { var carDTO = new DTOCar(); var carRepository = _unitOfWork.GetRepository <Car>(); Expression <Func <CustomerExchange, object> >[] includes = { x => x.Car, x => x.Customer }; var customerExchange = _unitOfWork.GetRepository <CustomerExchange>().Get(x => x.CustomerId == customerId && !x.Transferred.HasValue && !x.Transferred.Value && string.IsNullOrEmpty(x.TransfereeId) && string.IsNullOrEmpty(x.Transferee) && !x.TransferDate.HasValue).SingleOrDefault(); var car = customerExchange.Car; if (car != null) { carDTO = _mapper.Map <DTOCar>(car); } return new DataResult <DTOCar> { Errors = new List <ErrorDescriber>(), Target = carDTO }; })); }