public ActionResult Edit(ManobristaViewModel dados)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Manobrista manobrista = _mapper.Map<ManobristaViewModel, Manobrista>(dados);

                    manobristaBLL.Atualizar(manobrista);

                    _toastNotification.AddSuccessToastMessage();
                    return RedirectToAction("Index", "Manobrista");
                }

                PreencheViewBag();
                _toastNotification.AddWarningToastMessage("Verifique se todos os campos estão preenchidos corretamente.");
                return View(dados);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
                _toastNotification.AddErrorToastMessage();
                return RedirectToAction("Index", "Manobrista");
            }
        }
        public async Task <IActionResult> Edit(Guid?id, [Bind("Id,Cpf,PrimeiroNome,Sobrenome,Nascimento")] ManobristaViewModel model)
        {
            if (id != model.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Manobrista ent = (await _domain.GetByIdAsync(id.Value));
                    if (ent == null)
                    {
                        return(NotFound());
                    }
                    ent = ent.Map(model);
                    _domain.Update(ent);
                    await _work.SaveChangesAsync();
                }
                catch (Exception)
                {
                    if (!ManobristaViewModelExists(model.Id))
                    {
                        return(NotFound());
                    }
                    throw;
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
        public async Task <IActionResult> Edit(Guid id, ManobristaViewModel manobristaViewModels)
        {
            if (id != manobristaViewModels.Id)
            {
                return(NotFound());
            }

            var manobristaAtualizacao = await ObterManobrista(id);

            if (!_manobristaService.ValidaData(manobristaViewModels.DataNascimento))
            {
                return(View(manobristaViewModels));
            }

            if (!ModelState.IsValid)
            {
                return(View(manobristaViewModels));
            }

            manobristaAtualizacao.Nome           = manobristaViewModels.Nome;
            manobristaAtualizacao.Cpf            = manobristaViewModels.Cpf;
            manobristaAtualizacao.DataNascimento = manobristaViewModels.DataNascimento;

            await _manobristaService.Atualizar(_mapper.Map <Manobrista>(manobristaAtualizacao));

            if (!OperacaoValida())
            {
                return(View(manobristaViewModels));
            }

            return(RedirectToAction(nameof(Index)));
        }
 /// <summary>
 /// Mapeia uma view-model de Manobrista para uma entidade existente
 /// </summary>
 /// <param name="ent">Entidade existente</param>
 /// <param name="model">View-model do Manobrista</param>
 public static Manobrista Map(this Manobrista ent, ManobristaViewModel model)
 {
     ent.Cpf          = model.Cpf;
     ent.PrimeiroNome = model.PrimeiroNome;
     ent.Sobrenome    = model.Sobrenome;
     ent.Nascimento   = model.Nascimento;
     return(ent);
 }
 /// <summary>
 /// Mapeia uma view-model de Manobrista para uma entidade nova
 /// </summary>
 /// <param name="model">Instância da view-model de Manobristas</param>
 public static Manobrista Map(this ManobristaViewModel model)
 {
     return(new Manobrista()
     {
         Cpf = model.Cpf,
         PrimeiroNome = model.PrimeiroNome,
         Sobrenome = model.Sobrenome,
         Nascimento = model.Nascimento
     });
 }
        public async Task <IActionResult> Create([Bind("Id,Cpf,PrimeiroNome,Sobrenome,Nascimento")] ManobristaViewModel model)
        {
            if (ModelState.IsValid)
            {
                await _domain.AddAsync(model.Map());

                await _work.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
        public ActionResult Create()
        {
            try
            {
                ManobristaViewModel dados = new ManobristaViewModel();

                return View(dados);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
                _toastNotification.AddErrorToastMessage();
                return RedirectToAction("Index", "Manobrista");
            }
        }
        /// <summary>
        /// Mapeia uma entidade para uma view-model de listagem
        /// </summary>
        /// <param name="entity">Instância da entidade</param>
        public static ManobraViewModel Map(this Manobra entity)
        {
            CarroViewModel      carroModel      = entity.Carro.Map();
            ManobristaViewModel manobristaModel = entity.Manobrista.Map();

            ManobraViewModel manobraModel = new ManobraViewModel()
            {
                Id           = entity.Id,
                Entrada      = entity.Entrada,
                Saida        = entity.Saida,
                CarroId      = entity.CarroId,
                ManobristaId = entity.ManobristaId,
                Carro        = carroModel,
                Manobrista   = manobristaModel
            };

            return(manobraModel);
        }
        public ActionResult Edit(int id)
        {
            try
            {
                Manobrista manobrista = manobristaBLL.ObterPorId(id);

                ManobristaViewModel dados = _mapper.Map<Manobrista, ManobristaViewModel>(manobrista);

                PreencheViewBag();

                return View(dados);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
                _toastNotification.AddErrorToastMessage();
                return RedirectToAction("Index", "Manobrista");
            }
        }
        public async Task <IActionResult> Create(ManobristaViewModel manobristaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(manobristaViewModel));
            }

            if (!_manobristaService.ValidaData(manobristaViewModel.DataNascimento))
            {
                return(View(manobristaViewModel));
            }

            var manobrista = _mapper.Map <Manobrista>(manobristaViewModel);
            await _manobristaService.Adicionar(manobrista);

            if (!OperacaoValida())
            {
                return(View(manobristaViewModel));
            }

            return(RedirectToAction(nameof(Index)));
        }