Exemple #1
0
        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);
        }
Exemple #2
0
        //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));
                }
            }
        }