Esempio n. 1
0
        public ActionResult CadastrarMatriz(MatrizViewModel matrizviewmodel)
        {
            Matriz model = null;

            matrizviewmodel.IdResponsavel = LoggedUser().Id;
            try
            {
                if (Session["Modulos"] != null)
                {
                    model = MatrizViewModel.MapToModel(matrizviewmodel);
                    var matriz = BL.Matriz.InserirMatriz(model);
                    foreach (var item in (List <ModuloComponenteViewModel>)Session["Modulos"])
                    {
                        item.IdMatriz = matriz.IdMatriz;

                        var teste = (Session["Modulos"] as List <ModuloComponenteViewModel>).Where(e => e.Nome == item.Nome);
                        if (teste.Count() > 1)
                        {
                            throw new CustomException("Erro ao cadastrar Matriz. Existem módulos com o mesmo nome", 1);
                        }
                    }

                    var modulo = ModuloViewModel.MapToModel((List <ModuloComponenteViewModel>)Session["Modulos"]);
                    BL.Modulo.VinculoModuloComponentes(modulo, matrizviewmodel.Nome, matrizviewmodel.CH.ToString());
                }
                else
                {
                    model = MatrizViewModel.MapToModel(matrizviewmodel);
                    var matriz = BL.Matriz.InserirMatriz(model);
                }

                matrizviewmodel.IdResponsavel = (int)Session["usuarioId"];
                TempData["Sucesso"]           = true;
                TempData["SucessoMessage"]    = "Cadastro de Matriz realizado com sucesso.";
                Session["Modulos"]            = null;
            }
            catch (Exception ex)
            {
                TempData["Error"]        = true;
                TempData["ErrorMessage"] = (ex.GetType().Name == "CustomException") ? ex.Message : "Erro ao cadastrar Matriz.";

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

                if (ex.GetType().Name == "CustomException")
                {
                    if ((ex as CustomException).ErrorCode == 1)
                    {
                        return(RedirectToAction("CadastrarMatriz"));
                    }
                }
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        public ActionResult EditarMatriz(MatrizViewModel matrizviewmodel)
        {
            try
            {
                var usuario = BL.Usuario.Get(a => a.IdUsuario == matrizviewmodel.IdResponsavel).FirstOrDefault();
                //matrizviewmodel.ReprovacaoMatriz.Observacao = Request.Form["descricao"];
                matrizviewmodel.Aprovado = (!string.IsNullOrEmpty(Request.Form["aprovarMatriz"])) ? Convert.ToInt16(Request.Form["aprovarMatriz"]) : new Nullable <short>();

                var modulo = ModuloViewModel.MapToModel((List <ModuloComponenteViewModel>)Session["Modulos"]);
                BL.Modulo.VinculoModuloComponentes(modulo, matrizviewmodel.Nome, matrizviewmodel.CH.ToString());

                if (matrizviewmodel.Aprovado == 0 && matrizviewmodel.ReprovacaoMatriz.observacao != null)
                {
                    BL.Matriz.AtualizarReprovacaoMatriz(MatrizViewModel.MapToModel(matrizviewmodel), DateTime.Now, matrizviewmodel.ReprovacaoMatriz.observacao);
                    EmailHelper.DispararEmail(usuario.Nome, "Reprovação de matriz", usuario.Email, "", "A Matriz foi reprovada pelo seguinte motivo: " + matrizviewmodel.ReprovacaoMatriz.observacao);
                }
                else if (matrizviewmodel.Aprovado != 1)
                {
                    matrizviewmodel.Aprovado = null;
                    BL.Matriz.AtualizarMatriz(MatrizViewModel.MapToModel(matrizviewmodel));
                }
                else if (matrizviewmodel.Aprovado == 1)
                {
                    if (string.IsNullOrEmpty(matrizviewmodel.ReprovacaoMatriz.observacao))
                    {
                        matrizviewmodel.ReprovacaoMatriz.observacao = "";
                    }
                    BL.Matriz.AtualizarReprovacaoMatriz(MatrizViewModel.MapToModel(matrizviewmodel), DateTime.Now, matrizviewmodel.ReprovacaoMatriz.observacao);
                }



                if (Session["Sucesso"] != null)
                {
                    if ((bool)Session["Sucesso"])
                    {
                        var model = MatrizViewModel.MapToModel(matrizviewmodel);
                        BL.Matriz.AtualizarMatriz(model);

                        TempData["Sucesso"]        = true;
                        TempData["SucessoMessage"] = "Edição de Matriz realizada com sucesso.";
                    }
                    Session["Sucesso"] = null;
                }
                else
                {
                    TempData["Error"]        = true;
                    TempData["ErrorMessage"] = Session["ErrorMessage"];
                    Session["ErrorMessage"]  = null;
                }
            }
            catch (Exception ex)
            {
                TempData["Error"]        = true;
                TempData["ErrorMessage"] = "Erro ao editar Matriz.";

                Logging.getInstance().Error("Erro ao editar Matriz", ex);
            }

            return(RedirectToAction("Index"));
        }