public async Task <IActionResult> _ViewAcoes(int?id, EnumStatusAcoes EnumAcao)
        {
            var action = ObtenhaActionController(EnumAcao);

            if (id.HasValue)
            {
                var viewModel = await _departmentService.FindById(id);

                if (viewModel.Equals(null))
                {
                    throw new ApplicationException(String.Format("Id informamado ({0}) não existe na base de dados!", id));
                }

                if (ObtenhaViewDatas(ViewData, EnumAcao, id, action, true, true).Count > 0)
                {
                    return(PartialView(viewModel));
                }
            }
            else
            {
                if (ObtenhaViewDatas(ViewData, EnumAcao, id, action, false, false).Count > 0)
                {
                    return(PartialView());
                }
            }

            throw new ApplicationException("Falha ao obter dados para abertura da tela!");
        }
Ejemplo n.º 2
0
        public static ViewDataDictionary ObtenhaViewDatas(ViewDataDictionary ViewData,
                                                          EnumStatusAcoes EnumAcao, int?id,
                                                          string nameAction, Boolean modelRegistrado, Boolean possuiID)
        {
            ViewData["ehModelInvalid"] = false;

            if (!possuiID && EnumAcao.Equals(EnumStatusAcoes.CREATE))
            {
                ViewData["Title"]    = "CREATE NEW";
                ViewData["acao"]     = EnumAcao;
                ViewData["acaoForm"] = nameAction;
            }
            else if (possuiID)
            {
                if (modelRegistrado)
                {
                    if (EnumAcao.Equals(EnumStatusAcoes.EDIT))
                    {
                        ViewData["Title"]    = "EDIT";
                        ViewData["acao"]     = EnumAcao;
                        ViewData["acaoForm"] = nameAction;
                    }
                    else if (EnumAcao.Equals(EnumStatusAcoes.DELETE))
                    {
                        ViewData["Title"]    = "DELETE";
                        ViewData["acao"]     = EnumAcao;
                        ViewData["acaoForm"] = nameAction;
                    }
                    else if (EnumAcao.Equals(EnumStatusAcoes.DETAILS))
                    {
                        ViewData["Title"]    = "DETAILS";
                        ViewData["acao"]     = EnumAcao;
                        ViewData["acaoForm"] = "#";
                    }
                    else
                    {
                        ViewData.Clear();
                    }
                }
            }
            else
            {
                ViewData.Clear();
            }

            return(ViewData);
        }
 private string ObtenhaActionController(EnumStatusAcoes enumAcao)
 {
     if (enumAcao.Equals(EnumStatusAcoes.CREATE))
     {
         return(nameof(Create));
     }
     else if (enumAcao.Equals(EnumStatusAcoes.EDIT))
     {
         return(nameof(Edit));
     }
     else if (enumAcao.Equals(EnumStatusAcoes.DELETE))
     {
         return(nameof(Delete));
     }
     else if (enumAcao.Equals(EnumStatusAcoes.DETAILS))
     {
         return("#");
     }
     else
     {
         return(null);
     }
 }