/// <summary>
            /// Implementación de <see cref="IRequestHandler{TRequest, TResponse}.Handle(TRequest, CancellationToken)"/>
            /// </summary>
            public async Task <int> Handle(Request request, CancellationToken cancellationToken)
            {
                int response = 0;

                try
                {
                    CarModelModel model = await _CarModelRepository.Get(request.BrandId, request.Name);

                    if (model == null)
                    {
                        ModelInfo info = new ModelInfo
                        {
                            BrandId = request.BrandId,
                            Name    = request.Name
                        };
                        await _CarModelRepository.Create(info);

                        await _CarModelRepository.Save();

                        response = info.Id;
                    }
                    else
                    {
                        response = model.Id;
                    }
                }
                catch (Exception ex)
                {
                    CommandExceptionHandler.Handle(ex, request);
                }

                return(response);
            }
Beispiel #2
0
 public CarManufacturerViewModel()
 {
     CarManufacturers = new ObservableCollection <CarManufacturerModel>
     {
         CarManufacturerModel.Create("Audi", CarModelModel.Create(new string[] { "A1", "A2", "A3", "A4", "A5" })),
         CarManufacturerModel.Create("Mercedes", CarModelModel.Create(new string[] { "A-Class", "B-Class", "C-Class", "E-Class", "S-Class" })),
         CarManufacturerModel.Create("BMW", CarModelModel.Create(new string[] { "1-Serie", "2-Serie", "3-Serie", "4-Serie", "5-Serie" })),
         CarManufacturerModel.Create("Volkswagen", CarModelModel.Create(new string[] { "Golf", "Passat", "Arteon", "T-Cross", "Up!" })),
         CarManufacturerModel.Create("Volvo", CarModelModel.Create(new string[] { "V60", "V70", "XC60", "XC90", "S90" }))
     };
     //SelectedCarManufacturer = CarManufacturers.First();
 }
        /// <summary>
        /// Implementación de <see cref="ICarModelRepository.Get(int, string)"/>
        /// </summary>
        public async Task <CarModelModel> Get(int brandId, string name)
        {
            CarModelModel result = null;

            try
            {
                var query = from model in CarModelQuery(Context)
                            where
                            model.BrandId == brandId &&
                            model.Name == name
                            select model;

                result = await query.SingleOrDefaultAsync();
            }
            catch (Exception ex)
            {
                throw;
            }

            return(result);
        }