public MenuResponse Carregar(int MenuId, int IdiomaId, bool FiltrarPrivacidade = true) { MenuResponse resposta = new MenuResponse(); Menu menu; try { using (ConexaoDB objetoConexao = new ConexaoDB()) { objetoConexao.AdicionarParametro("@MenuId", SqlDbType.Int, MenuId); objetoConexao.AdicionarParametro("@IdiomaId", SqlDbType.Int, IdiomaId); objetoConexao.AdicionarParametro("@FiltrarPrivacidade", SqlDbType.Bit, FiltrarPrivacidade); using (DataTable dt = objetoConexao.RetornarTabela("USP_SEL_Menu")) { if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; menu = new Menu(); CarregarDTO(menu, dr); resposta.Menu = menu; } } } } catch (Exception ex) { //logBLL.Error(ex); throw; } return resposta; }
public MenuResponse Excluir(int MenuId) { MenuResponse resposta = new MenuResponse(); try { using (ConexaoDB objetoConexao = new ConexaoDB()) { objetoConexao.AdicionarParametro("@MenuId", SqlDbType.Int, MenuId); using (DataTable dt = objetoConexao.RetornarTabela("USP_DEL_Menu")) { if (dt != null && dt.Rows.Count > 0) { resposta.Resposta.Erro = (bool)dt.Rows[0]["indErro"]; resposta.Resposta.Mensagem = (string)dt.Rows[0]["msgErro"]; resposta.Menu = null; } } } } catch (Exception ex) { resposta.Resposta.Erro = true; resposta.Resposta.Mensagem = ex.Message; //logBLL.Error(ex); } return resposta; }
public MenuResponse Gravar(Menu Menu, Menu MenuOld, List<MenuIdiomaExcecao> Extras, List<MenuIdiomaExcecao> ExtrasOld, string ListaUsuarioGrupo, string ListaUsuario) { MenuResponse resposta = new MenuResponse(); try { using (ConexaoDB objetoConexao = new ConexaoDB()) { objetoConexao.AdicionarParametro("@MenuId", SqlDbType.Int, Menu.MenuId); objetoConexao.AdicionarParametro("@MenuPaiId", SqlDbType.Int, Menu.MenuPaiId); objetoConexao.AdicionarParametro("@SiteId", SqlDbType.Int, Menu.SiteId); objetoConexao.AdicionarParametro("@MenuTipoId", SqlDbType.Int, Menu.MenuTipoId); objetoConexao.AdicionarParametro("@MenuTipoAcaoId", SqlDbType.Int, Menu.MenuTipoAcaoId); objetoConexao.AdicionarParametro("@PublicacaoId", SqlDbType.Int, Menu.PublicacaoId); objetoConexao.AdicionarParametro("@LinkURL", SqlDbType.VarChar, Menu.LinkURL); objetoConexao.AdicionarParametro("@ImageURL", SqlDbType.VarChar, Menu.ImageURL); objetoConexao.AdicionarParametro("@TargetId", SqlDbType.VarChar, Menu.TargetId); objetoConexao.AdicionarParametro("@Privado", SqlDbType.Bit, Menu.Complemento.Privado); objetoConexao.AdicionarParametro("@ListaUsuarioGrupo", SqlDbType.VarChar, ListaUsuarioGrupo); objetoConexao.AdicionarParametro("@ListaUsuario", SqlDbType.VarChar, ListaUsuario); using (DataTable dt = objetoConexao.RetornarTabela("USP_INS_Menu")) { if (dt != null && dt.Rows.Count > 0) { resposta.Resposta.Erro = false;// (bool)dt.Rows[0]["indErro"]; resposta.Resposta.Mensagem = "";// (string)dt.Rows[0]["msgErro"]; resposta.Menu = Menu; resposta.Menu.MenuId = (int)dt.Rows[0]["MenuId"]; } } } //using (ConexaoDB objetoConexao = new ConexaoDB()) //{ // objetoConexao.AdicionarParametro("@PublicacaoId", SqlDbType.Int, resposta.Publicacao.PublicacaoId); // objetoConexao.AdicionarParametro("@Privado", SqlDbType.Bit, false); // using (DataTable dt = objetoConexao.RetornarTabela("USP_INS_PublicacaoRestricao")) // { // if (dt != null && dt.Rows.Count > 0) // { // resposta.Resposta.Erro = false;// (bool)dt.Rows[0]["indErro"]; // resposta.Resposta.Mensagem = "";// (string)dt.Rows[0]["msgErro"]; // resposta.Publicacao = Publicacao; // //resposta.Publicacao.PublicacaoId = (int)dt.Rows[0]["PublicacaoRestricaoId"]; // } // } //} using (ConexaoDB objetoConexao = new ConexaoDB()) { objetoConexao.AdicionarParametro("@MenuIdiomaExcecaoId", SqlDbType.Int, 0); objetoConexao.AdicionarParametro("@MenuId", SqlDbType.Int, resposta.Menu.MenuId); objetoConexao.AdicionarParametro("@IdiomaId", SqlDbType.Int, Menu.Detalhe.IdiomaId); objetoConexao.AdicionarParametro("@Rotulo", SqlDbType.VarChar, Menu.Detalhe.Rotulo); using (DataTable dt = objetoConexao.RetornarTabela("USP_INS_MenuIdiomaExcecao")) { if (dt != null && dt.Rows.Count > 0) { resposta.Resposta.Erro = false;// (bool)dt.Rows[0]["indErro"]; resposta.Resposta.Mensagem = "";// (string)dt.Rows[0]["msgErro"]; resposta.Menu = Menu; //resposta.Publicacao.PublicacaoId = (int)dt.Rows[0]["PublicacaoRestricaoId"]; } } } foreach (var Extra in Extras) { using (ConexaoDB objetoConexao = new ConexaoDB()) { objetoConexao.AdicionarParametro("@MenuIdiomaExcecaoId", SqlDbType.Int, 0); objetoConexao.AdicionarParametro("@MenuId", SqlDbType.Int, resposta.Menu.MenuId); objetoConexao.AdicionarParametro("@IdiomaId", SqlDbType.Int, Extra.IdiomaId); objetoConexao.AdicionarParametro("@Rotulo", SqlDbType.VarChar, Extra.Rotulo); using (DataTable dt = objetoConexao.RetornarTabela("USP_INS_MenuIdiomaExcecao")) { if (dt != null && dt.Rows.Count > 0) { resposta.Resposta.Erro = false;// (bool)dt.Rows[0]["indErro"]; resposta.Resposta.Mensagem = "";// (string)dt.Rows[0]["msgErro"]; resposta.Menu = Menu; //resposta.Publicacao.PublicacaoId = (int)dt.Rows[0]["PublicacaoRestricaoId"]; } } } } } catch (Exception ex) { resposta.Resposta.Erro = true; resposta.Resposta.Mensagem = ex.Message; //logBLL.Error(ex); } return resposta; }
public ActionResult GravarMenu(string Menu, string MenuOld, string ListaUsuarioGrupo, string ListaUsuario) { var form = (JObject)JsonConvert.DeserializeObject(Menu); Menu _anterior = new Menu(); Menu _novo = new Menu(); _novo.MenuId = (int)Util.GetValue<int>(form, "MenuId"); _novo.MenuPaiId = (int?)Util.GetValue<int?>(form, "MenuPaiId"); _novo.SiteId = GetCurrentSite(); _novo.MenuTipoAcaoId = (int)Util.GetValue<int>(form, "MenuTipoAcao"); ; _novo.MenuTipoId = (int)Util.GetValue<int>(form, "MenuTipo"); _novo.TargetId = (int)Util.GetValue<int>(form, "Target"); _novo.LinkURL = (string)Util.GetValue<string>(form, "LinkURL"); _novo.Detalhe.IdiomaId = (int)Util.IDIOMA.PORTUGUES; _novo.Detalhe.Rotulo = (string)Util.GetValue<string>(form, "Rotulo"); _novo.Complemento.Privado = Convert.ToBoolean((int?)Util.GetValue<int?>(form, "Privado")); #region --> Validação MenuResponse resp = new MenuResponse(); if (string.IsNullOrEmpty(_novo.Detalhe.Rotulo) || string.IsNullOrWhiteSpace(_novo.Detalhe.Rotulo)) { resp.Resposta.Erro = true; resp.Resposta.Mensagem += "- Informar um Rótulo"; } if (_novo.MenuTipoAcaoId == null || _novo.MenuTipoAcaoId == 0) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Selecionar o Tipo de Ação"; } if (_novo.TargetId == null || _novo.TargetId == 0) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Selecionar o Target"; } if (_novo.MenuTipoAcaoId == 2) // 2-Conteúdo = Link ou Publicacao! { if (string.IsNullOrEmpty(_novo.LinkURL) || string.IsNullOrEmpty(_novo.LinkURL.Trim())) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Informar o link"; } } if (_novo.Complemento.Privado == true && string.IsNullOrEmpty(ListaUsuarioGrupo) && string.IsNullOrEmpty(ListaUsuario)) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Informar pelo menos um Usuário ou Grupo para publicação privada."; } if (resp.Resposta.Erro) { return Json(resp, JsonRequestBehavior.AllowGet); } #endregion #region --> PublicacaoId if (_novo.MenuTipoAcaoId == 2) // 2-Conteúdo = Link ou Publicacao! { var _index = -1; int _publicacaoID = 0; if (_novo.LinkURL.IndexOf("/Eventos/") > -1) { _index = _novo.LinkURL.IndexOf("/Eventos/"); var _posIniID = _index + ("/Eventos/").Length; var _posFimID = _novo.LinkURL.IndexOf("/", (_index + ("/Eventos/").Length)); int.TryParse(_novo.LinkURL.Substring(_posIniID, _posFimID - _posIniID), out _publicacaoID); } else if (_novo.LinkURL.IndexOf("/Noticias/") > -1) { _index = _novo.LinkURL.IndexOf("/Noticias/"); var _posIniID = _index + ("/Noticias/").Length; var _posFimID = _novo.LinkURL.IndexOf("/", (_index + ("/Noticias/").Length)); int.TryParse(_novo.LinkURL.Substring(_posIniID, _posFimID - _posIniID), out _publicacaoID); } else if (_novo.LinkURL.IndexOf("/Materia/") > -1) { _index = _novo.LinkURL.IndexOf("/Materia/"); var _posIniID = _index + ("/Materia/").Length; var _posFimID = _novo.LinkURL.IndexOf("/", (_index + ("/Materia/").Length)); int.TryParse(_novo.LinkURL.Substring(_posIniID, _posFimID - _posIniID), out _publicacaoID); } else if (_novo.LinkURL.IndexOf("/Interna/") > -1) { _index = _novo.LinkURL.IndexOf("/Interna/"); var _posIniID = _index + ("/Interna/").Length; var _posFimID = _novo.LinkURL.IndexOf("/", (_index + ("/Interna/").Length)); int.TryParse(_novo.LinkURL.Substring(_posIniID, _posFimID - _posIniID), out _publicacaoID); } _novo.PublicacaoId = _publicacaoID == 0 ? new Nullable<int>(): _publicacaoID; } #endregion List<MenuIdiomaExcecao> Extras = new List<MenuIdiomaExcecao>(); List<MenuIdiomaExcecao> ExtrasOld = new List<MenuIdiomaExcecao>(); #region -> Idiomas Extras //-- EN MenuIdiomaExcecao ExtraEN = new MenuIdiomaExcecao(); ExtraEN.IdiomaId = (int)Util.IDIOMA.ENGLISH; ExtraEN.Rotulo = (string)Util.GetValue<string>(form, "RotuloEN"); Extras.Add(ExtraEN); //-- ES MenuIdiomaExcecao ExtraES = new MenuIdiomaExcecao(); ExtraES.IdiomaId = (int)Util.IDIOMA.ESPANHOL; ExtraES.Rotulo = (string)Util.GetValue<string>(form, "RotuloES"); Extras.Add(ExtraES); //-- FR MenuIdiomaExcecao ExtraFR = new MenuIdiomaExcecao(); ExtraFR.IdiomaId = (int)Util.IDIOMA.FRANCES; ExtraFR.Rotulo = (string)Util.GetValue<string>(form, "RotuloFR"); Extras.Add(ExtraFR); #endregion if (MenuOld != null && MenuOld != "null") { var formOld = (JObject)JsonConvert.DeserializeObject(MenuOld); _anterior.MenuId = (int)Util.GetValue<int>(formOld, "MenuId"); _anterior.MenuPaiId = (int)Util.GetValue<int>(formOld, "MenuPaiId"); _anterior.MenuTipoId = (int)Util.GetValue<int>(formOld, "MenuTipo"); _anterior.LinkURL = (string)Util.GetValue<string>(formOld, "LinkURL"); _anterior.Detalhe.IdiomaId = (int)Util.IDIOMA.PORTUGUES; _anterior.Detalhe.Rotulo = (string)Util.GetValue<string>(formOld, "Rotulo"); #region -> Idiomas Extras (Dados anterior a alteração) //-- EN MenuIdiomaExcecao ExtraENOld = new MenuIdiomaExcecao(); ExtraENOld.IdiomaId = (int)Util.IDIOMA.ENGLISH; ExtraENOld.Rotulo = (string)Util.GetValue<string>(formOld, "RotuloEN"); ExtrasOld.Add(ExtraENOld); //-- ES MenuIdiomaExcecao ExtraESOld = new MenuIdiomaExcecao(); ExtraESOld.IdiomaId = (int)Util.IDIOMA.ESPANHOL; ExtraESOld.Rotulo = (string)Util.GetValue<string>(formOld, "RotuloES"); ExtrasOld.Add(ExtraESOld); //-- FR MenuIdiomaExcecao ExtraFROld = new MenuIdiomaExcecao(); ExtraFROld.IdiomaId = (int)Util.IDIOMA.FRANCES; ExtraFROld.Rotulo = (string)Util.GetValue<string>(formOld, "RotuloFR"); ExtrasOld.Add(ExtraFROld); #endregion } return Json(new MenuDAL().Gravar(_novo, _anterior, Extras, ExtrasOld, ListaUsuarioGrupo, ListaUsuario), JsonRequestBehavior.AllowGet); }