예제 #1
0
        public ActionResult CadastrarComponente(ComponenteViewModel viewModel, FormCollection collection)
        {
            Componente model = null;

            try
            {
                if (BL.Componente.Get(a => a.CH == viewModel.CH && a.Nome == viewModel.Nome).Any())
                {
                    TempData["Error"]        = true;
                    TempData["ErrorMessage"] = "Erro ao cadastrar Componente. Já existe um componente com o mesmo nome e carga horária.";
                    return(RedirectToAction("Index"));
                }
                var   teste = collection["tipoAmbiente"].Split(',');
                var   arrayIdAreasAtuacao = Array.ConvertAll(collection["idsAreaAtuacao"].Split(';'), t => int.Parse(t));
                int[] idTipoAmbiente      = Array.ConvertAll(teste, s => int.Parse(s));
                model = ComponenteViewModel.MapToModel(viewModel);
                var areas      = BL.AreaAtuacao.Get(a => arrayIdAreasAtuacao.Contains(a.IdAreaAtuacao), null, "").ToList();
                var componente = BL.Componente.InserirComponente(model, idTipoAmbiente);
                BL.Componente.AtualizarAreAtuacaoComponente(componente, areas);

                TempData["Sucesso"]        = true;
                TempData["SucessoMessage"] = "Cadastro de Componente realizado com sucesso.";
            }
            catch (Exception ex)
            {
                TempData["Error"]        = true;
                TempData["ErrorMessage"] = (ex.GetType().Name == "CustomException") ? ex.Message : "Erro ao cadastrar Componente.";

                Logging.getInstance().Error(TempData["ErrorMessage"].ToString(), ex);
            }

            return(RedirectToAction("Index"));
        }
예제 #2
0
        public ActionResult EditarComponente(ComponenteViewModel viewModel, FormCollection collection)
        {
            try
            {
                var   tiposAmbientesId    = collection["tipoAmbiente"].Split(',');
                int[] idTipoAmbiente      = Array.ConvertAll(tiposAmbientesId, s => int.Parse(s));
                var   arrayIdAreasAtuacao = Array.ConvertAll(collection["idsAreaAtuacao"].Split(';'), t => int.Parse(t));

                var model = ComponenteViewModel.MapToModel(viewModel);
                var areas = BL.AreaAtuacao.Get(a => arrayIdAreasAtuacao.Contains(a.IdAreaAtuacao), null, "").ToList();
                BL.Componente.AtualizarComponente(model, idTipoAmbiente);
                BL.Componente.AtualizarAreAtuacaoComponente(model, areas);

                TempData["Sucesso"]        = true;
                TempData["SucessoMessage"] = "Edição de Componente realizada com sucesso.";
            }
            catch (Exception ex)
            {
                TempData["Error"]        = true;
                TempData["ErrorMessage"] = (ex.GetType().Name == "CustomException") ? ex.Message : "Erro ao editar Componente.";
                Logging.getInstance().Error(TempData["ErrorMessage"].ToString(), ex);
            }

            return(RedirectToAction("Index"));
        }
예제 #3
0
        public ActionResult ModalCadastrarComponente(ComponenteViewModel viewModel)
        {
            Componente          inserido          = new Componente();
            Componente          model             = null;
            ComponenteViewModel retornoComponente = new ComponenteViewModel();

            try
            {
                var idTipoAmbiente = Array.ConvertAll(viewModel.TipoAmbienteId.Split(','), a => int.Parse(a));
                var idAreaAtuacao  = Array.ConvertAll(viewModel.AreaAtuacaoId.Split(','), a => int.Parse(a));

                List <AreaAtuacao> listaAreaAtuacao = BL.AreaAtuacao.Get(a => idAreaAtuacao.Contains(a.IdAreaAtuacao)).ToList();

                model    = ComponenteViewModel.MapToModel(viewModel);
                inserido = BL.Componente.InserirComponente(model, idTipoAmbiente);
                BL.Componente.AtualizarAreAtuacaoComponente(inserido, listaAreaAtuacao);

                inserido = BL.Componente.GetById(inserido.IdComponente);

                retornoComponente = ComponenteViewModel.MapToViewModel(inserido);
                retornoComponente.TipoAmbiente = null;
                retornoComponente.AreaAtuacao  = null;


                TempData["Sucesso"]        = true;
                TempData["SucessoMessage"] = "Cadastro de Componente realizado com sucesso.";
            }
            catch (Exception ex)
            {
                bool validation = (ex.GetType().Name == "CustomException");
                if (!validation)
                {
                    TempData["Error"] = true;
                }
                TempData["ErrorMessage"] = validation ? ex.Message : "Erro ao cadastrar Componente.";
                Logging.getInstance().Error(TempData["ErrorMessage"].ToString(), ex);

                return(Json("false", JsonRequestBehavior.AllowGet));
            }

            return(Json(retornoComponente, JsonRequestBehavior.AllowGet));
        }