public Guid Create(CreateTechnicalInspectionViewModel model)
        {
            _unitOfWork.BeginTransaction();

            var mechanic = _mechanicRepository.GetById(model.Mechanic.Id);

            if (mechanic == null)
            {
                _unitOfWork.Commit();
                throw new Exception(ExceptionMessages.MechanicException.NOT_FOUND);
            }

            var vehicle = _vehicleRepository.GetById(model.Vehicle.Id);

            if (vehicle == null)
            {
                _unitOfWork.Commit();
                throw new Exception(ExceptionMessages.VehicleException.NOT_FOUND);
            }
            var user = _userRepository.GetById(model.User.Id);

            if (user == null)
            {
                _unitOfWork.Commit();
                throw new Exception(ExceptionMessages.UserException.NOT_FOUND);
            }

            var inspection = new TechnicalInspection(mechanic, vehicle, user, model.UserNote);

            _technicalInspectionRepository.Add(inspection);

            _unitOfWork.Commit();
            return(inspection.Id);
        }
Beispiel #2
0
        public static TechnicalInspectionViewModel MapToViewModel(this TechnicalInspection inspection)
        {
            var model = new TechnicalInspectionViewModel();

            model.Id           = inspection.Id;
            model.Mechanic     = inspection.Mechanic.MapToViewModel();
            model.Vehicle      = inspection.Vehicle.MapToViewModel();
            model.UserNote     = inspection.UserNote;
            model.MechanicNote = inspection.MechanicNote;
            model.Status       = inspection.Status;
            model.Rating       = inspection.Rating;
            return(model);
        }
Beispiel #3
0
        public static TechnicalInspectionGridViewModel MapToGridViewModel(this TechnicalInspection inspection)
        {
            var model = new TechnicalInspectionGridViewModel();

            model.Id             = inspection.Id;
            model.MechanicName   = inspection.Mechanic.CompanyName;
            model.VehicleOwner   = inspection.Vehicle.Owner.Name;
            model.Status         = inspection.Status.ToString();
            model.Rating         = inspection.Rating;
            model.VehicleLicense = inspection.Vehicle.License;

            return(model);
        }