Beispiel #1
0
        public ActionResult Cadastrar([Bind(Include = "Descricao, Status, RecintoAlfandegado, Operador, Redex, ServicosSelecionados")] ServicoViewModel viewModel)
        {
            var servicoBusca = _servicoRepositorio.ObterServicoPorDescricao(viewModel.Descricao);

            if (servicoBusca != null)
            {
                ModelState.AddModelError(string.Empty, "Já existe um serviço cadastrado com a mesma descrição.");
            }

            if (ModelState.IsValid)
            {
                var servico = new Servico(
                    viewModel.Descricao,
                    viewModel.Status,
                    viewModel.RecintoAlfandegado,
                    viewModel.Operador,
                    viewModel.Redex);

                foreach (var servicoSelecionado in viewModel.ServicosSelecionados)
                {
                    servico.AdicionarServicoVinculado(new ServicoFaturamento(servicoSelecionado));
                }

                if (Validar(servico))
                {
                    servico.Id          = _servicoRepositorio.Cadastrar(servico);
                    TempData["Sucesso"] = true;

                    GravarLogAuditoria(TipoLogAuditoria.INSERT, servico);
                }
            }

            PopularServicos(viewModel);
            PopularServicosVinculados(viewModel);

            return(View(viewModel));
        }