private List <AcaoModel> PegaListaPermissoes(int cd_menu_pai, int empresa) { List <AgroApp.Models.Menu> menu_list = PegaListaMenus(cd_menu_pai); // List <AcaoModel> acao_list = dbCooperativa.Acao.Where(a => a.Fl_Ativo.HasValue && a.Fl_Ativo.Value) .Select(s => new AcaoModel() { Cd_Acao = s.Cd_Acao, Ds_Acao = s.Ds_Acao, Ds_Acao_En = s.Ds_Acao_En, Ds_Acao_Es = s.Ds_Acao_Es //Fl_Ativo = s.Fl_Ativo }) .ToList(); // List <AcaoModel> acao_list_ret = new List <AcaoModel>(); int i = 1; // foreach (AgroApp.Models.Menu menu in menu_list) { foreach (AcaoModel acaomodel in acao_list) { AgroApp.Models.Menu_Acao menu_Acao = new AgroApp.Models.Menu_Acao(); // if (empresa != 0) { menu_Acao = dbCooperativa.Menu_Acao.Where(a => a.Cd_Acao == acaomodel.Cd_Acao && a.Cd_Menu == menu.Cd_Menu).FirstOrDefault(); } else { menu_Acao = dbCooperativa.Menu_Acao.Where(a => a.Cd_Acao == acaomodel.Cd_Acao && a.Cd_Menu == menu.Cd_Menu).FirstOrDefault(); } // if (menu_Acao != null) { if (menu_Acao.Cd_Menu == 27 && menu_Acao.Cd_Acao == 2) { } AcaoModel tmp = new AcaoModel(); tmp.Cd_ID = i; tmp.Cd_Acao = acaomodel.Cd_Acao; tmp.Ds_Acao_En = acaomodel.Ds_Acao_En; tmp.Ds_Acao_Es = acaomodel.Ds_Acao_Es; tmp.Fl_Ativo = acaomodel.Fl_Ativo; tmp.Fl_Concedida = acaomodel.Fl_Concedida; tmp.Fl_Especial = acaomodel.Fl_Especial; // tmp.Cd_Menu = menu.Cd_Menu; tmp.Ds_Acao = menu.Ds_Menu + " - " + acaomodel.Ds_Acao; tmp.Ds_Acao_En = menu.Ds_Menu_En + " - " + acaomodel.Ds_Acao_En; tmp.Ds_Acao_Es = menu.Ds_Menu_Es + " - " + acaomodel.Ds_Acao_Es; // tmp.Cd_MenuAcao = menu_Acao != null ? menu_Acao.Cd_MenuAcao : 0; acao_list_ret.Add(tmp); i++; } } } // return(acao_list_ret); }
//public JsonResult SetaPermissao(int empresa, int loja, int empresa_acao, int loja_acao, string usuario, int menu, int acao, bool ativa) //{ // int cd_menu_acao = PegaMenuAcaoId(menu, acao); // if (cd_menu_acao > 0) // { // AgroApp.Models.Usuario Usuario = PegaUsuario(empresa_acao, loja_acao, empresa_acao, loja_acao, usuario); // if (Usuario != null) // { // AgroApp.Models.Menu_AcaoUsuario menu_AcaoUsuario = dbCooperativa.Menu_AcaoUsuario // .Where(a => a.Cd_Empresa == empresa_acao && // a.Cd_Loja == loja_acao && // a.Cd_MenuAcao == cd_menu_acao && // a.Cd_Usuario.Trim().TrimEnd().Equals(usuario)) // .FirstOrDefault(); // // // if (menu_AcaoUsuario == null) // Insert // { // menu_AcaoUsuario = new AgroApp.Models.Menu_AcaoUsuario(); // if (ativa) // { // menu_AcaoUsuario.Fl_Ativo = true; // } // else // { // menu_AcaoUsuario.Fl_Ativo = false; // } // //menu_AcaoUsuario.Id = new Menu_AcaoUsuarioIdentifier(); // //menu_AcaoUsuario.Id.Cd_Empresa = empresa_acao; // //menu_AcaoUsuario.Id.Cd_Loja = loja_acao; // //menu_AcaoUsuario.Id.Cd_MenuAcao = cd_menu_acao; // //menu_AcaoUsuario.Id.Cd_Usuario = usuario; // } // else // Update // { // if (ativa) // { // menu_AcaoUsuario.Fl_Ativo = true; // } // else // { // menu_AcaoUsuario.Fl_Ativo = false; // } // } // // Salva // try // { // //dbElist.Menu_AcaoUsuario.Save(menu_AcaoUsuario); // } // catch (Exception exc) // { // } // // // return Json(new { data = "", results = 0, success = true }, JsonRequestBehavior.AllowGet); // } // else // { // return Json(new { data = "perfil", results = 0, success = true }, JsonRequestBehavior.AllowGet); // } // } // else // { // return Json(new { data = "cd_menu_acao", results = 0, success = true }, JsonRequestBehavior.AllowGet); // } //} public JsonResult SetaPermissaoCargo(int empresa, int loja, string usuario, string cultura, int ftCdEmpresa, int ftCdCargo, int cd_menu_acao, bool ativa, int acao, int menu) { if (cd_menu_acao > 0) { AgroApp.Models.Menu_AcaoCargo menu_AcaoCargo = dbCooperativa.Menu_AcaoCargo.Where(a => a.Cd_Empresa == ftCdEmpresa && a.Cd_Cargo == ftCdCargo && a.Cd_MenuAcao == cd_menu_acao) .FirstOrDefault(); // if (menu_AcaoCargo != null) { dbCooperativa.Menu_AcaoCargo.Remove(menu_AcaoCargo); dbCooperativa.SaveChanges(); return(Json(new { data = "ok", results = 0, success = true }, JsonRequestBehavior.AllowGet)); } else { if (ativa) { AgroApp.Models.Menu_AcaoCargo menu_AcaoCargo_temp = new AgroApp.Models.Menu_AcaoCargo(); menu_AcaoCargo_temp.Cd_Cargo = ftCdCargo; menu_AcaoCargo_temp.Cd_Empresa = ftCdEmpresa; // menu_AcaoCargo_temp.Cd_Loja = loja_acao; menu_AcaoCargo_temp.Cd_MenuAcao = cd_menu_acao; dbCooperativa.Menu_AcaoCargo.Add(menu_AcaoCargo_temp); // dbCooperativa.SaveChanges(); return(Json(new { data = "ok", results = 0, success = true }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { data = "perfil", results = 0, success = true }, JsonRequestBehavior.AllowGet)); } } } else { if (acao > 0 && menu > 0) { AgroApp.Models.Menu_Acao menu_Acao = new AgroApp.Models.Menu_Acao(); menu_Acao.Cd_Acao = acao; menu_Acao.Cd_Menu = menu; dbCooperativa.Menu_Acao.Add(menu_Acao); dbCooperativa.SaveChanges(); // menu_Acao = dbCooperativa.Menu_Acao.Where(a => a.Cd_Menu == menu && a.Cd_Acao == acao).FirstOrDefault(); if (menu_Acao != null) { AgroApp.Models.Menu_AcaoCargo menu_AcaoCargo_temp = new AgroApp.Models.Menu_AcaoCargo(); menu_AcaoCargo_temp.Cd_Cargo = ftCdCargo; menu_AcaoCargo_temp.Cd_Empresa = ftCdEmpresa; menu_AcaoCargo_temp.Cd_MenuAcao = menu_Acao.Cd_MenuAcao; dbCooperativa.Menu_AcaoCargo.Add(menu_AcaoCargo_temp); // dbCooperativa.SaveChanges(); return(Json(new { data = "ok", results = 0, success = true }, JsonRequestBehavior.AllowGet)); } // return(Json(new { data = "cd_menu_acao_novo", results = 0, success = true }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { data = "cd_menu_acao", results = 0, success = true }, JsonRequestBehavior.AllowGet)); } } }