/// <summary> /// Método que obtiene un registro /// </summary> /// <param name="ds"></param> /// <returns></returns> internal static UsuarioGrupoInfo ObtenerPorDescripcion(DataSet ds) { try { Logger.Info(); DataTable dt = ds.Tables[ConstantesDAL.DtDatos]; UsuarioGrupoInfo entidad = (from info in dt.AsEnumerable() select new UsuarioGrupoInfo { UsuarioGrupoID = info.Field <int>("UsuarioGrupoID"), Usuario = new UsuarioInfo { UsuarioID = info.Field <int>("UsuarioID"), UsuarioActiveDirectory = info.Field <string>("UsuarioActiveDirectory") }, Grupo = new GrupoInfo { GrupoID = info.Field <int>("GrupoID"), Descripcion = info.Field <string>("Grupo") }, Activo = info.Field <bool>("Activo").BoolAEnum(), }).First(); return(entidad); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un registro de UsuarioGrupo /// </summary> /// <param name="descripcion">Descripción de la UsuarioGrupo</param> /// <returns></returns> internal UsuarioGrupoInfo ObtenerPorDescripcion(string descripcion) { try { Logger.Info(); Dictionary <string, object> parameters = AuxUsuarioGrupoDAL.ObtenerParametrosPorDescripcion(descripcion); DataSet ds = Retrieve("UsuarioGrupo_ObtenerPorDescripcion", parameters); UsuarioGrupoInfo result = null; if (ValidateDataSet(ds)) { result = MapUsuarioGrupoDAL.ObtenerPorDescripcion(ds); } return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Crear un registro de UsuarioGrupo /// </summary> /// <param name="info">Valores de la entidad que será creada</param> internal int Crear(UsuarioGrupoInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxUsuarioGrupoDAL.ObtenerParametrosCrear(info); int result = Create("UsuarioGrupo_Crear", parameters); return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar/Modificar una entidad UsuarioGrupo /// </summary> /// <param name="info"></param> internal int Guardar(UsuarioGrupoInfo info) { try { Logger.Info(); var usuarioGrupoDAL = new UsuarioGrupoDAL(); int result = info.UsuarioGrupoID; if (info.UsuarioGrupoID == 0) { result = usuarioGrupoDAL.Crear(info); } else { usuarioGrupoDAL.Actualizar(info); } return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public UsuarioGrupoInfo ToUsuarioGrupoInfo() { UsuarioGrupoInfo lRetorno = new UsuarioGrupoInfo(); lRetorno.NomeUsuarioGrupo = this.Nome; lRetorno.CodigoUsuarioGrupo = this.Id; return(lRetorno); }
public string ResponderAtualizar() { string lretorno = string.Empty; string lObjetoJson = Request["ObjetoJson"]; TransporteSegurancaGrupo lDadosGrupo = null; MensagemResponseBase lResponse = null; SalvarUsuarioGrupoRequest lRequest = new SalvarUsuarioGrupoRequest(); try { lDadosGrupo = JsonConvert.DeserializeObject <TransporteSegurancaGrupo>(lObjetoJson); ReceberUsuarioGrupoRequest lRequestGrupo = new ReceberUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuarioGrupo = lDadosGrupo.Id }; UsuarioGrupoInfo lUsuarioGrupoInfo = ((ReceberUsuarioGrupoResponse)this.ServicoSeguranca.ReceberUsuarioGrupo(lRequestGrupo)).UsuarioGrupo; lUsuarioGrupoInfo.NomeUsuarioGrupo = lDadosGrupo.Nome; lRequest.UsuarioGrupo = lUsuarioGrupoInfo; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.SalvarUsuarioGrupo(lRequest); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { lretorno = RetornarSucessoAjax("Grupo alterado com sucesso"); base.RegistrarLogAlteracao(); } else { lretorno = RetornarErroAjax(lResponse.DescricaoResposta); } } catch (Exception ex) { lretorno = RetornarErroAjax(ex.Message); } return(lretorno); }
/// <summary> /// Obtiene una entidad por su Id /// </summary> /// <param name="usuarioGrupoID"></param> /// <returns></returns> public UsuarioGrupoInfo ObtenerPorID(int usuarioGrupoID) { try { Logger.Info(); var usuarioGrupoBL = new UsuarioGrupoBL(); UsuarioGrupoInfo result = usuarioGrupoBL.ObtenerPorID(usuarioGrupoID); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar/Modificar una entidad UsuarioGrupo /// </summary> /// <param name="info">Representa la entidad que se va a grabar</param> public int Guardar(UsuarioGrupoInfo info) { try { Logger.Info(); var usuarioGrupoBL = new UsuarioGrupoBL(); int result = usuarioGrupoBL.Guardar(info); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad UsuarioGrupo por su descripción /// </summary> /// <param name="descripcion"></param> /// <returns></returns> internal UsuarioGrupoInfo ObtenerPorDescripcion(string descripcion) { try { Logger.Info(); var usuarioGrupoDAL = new UsuarioGrupoDAL(); UsuarioGrupoInfo result = usuarioGrupoDAL.ObtenerPorDescripcion(descripcion); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene parametros para crear /// </summary> /// <param name="info">Valores de la entidad</param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosCrear(UsuarioGrupoInfo info) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@Usuario", info.Usuario.UsuarioID }, { "@Grupo", info.Grupo.GrupoID }, { "@UsuarioCreacionID", info.UsuarioCreacionID }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public string ResponderCadastrar() { string lretorno = string.Empty; string lObjetoJson = Request["ObjetoJson"]; MensagemResponseBase lResponse = null; TransporteSegurancaGrupo lDadosGrupo = null; SalvarUsuarioGrupoRequest lRequest = new SalvarUsuarioGrupoRequest(); UsuarioGrupoInfo lUsuarioGrupoInfo = new UsuarioGrupoInfo(); try { lDadosGrupo = JsonConvert.DeserializeObject <TransporteSegurancaGrupo>(lObjetoJson); lRequest.UsuarioGrupo = lDadosGrupo.ToUsuarioGrupoInfo(); lRequest.UsuarioGrupo.CodigoUsuarioGrupo = "0"; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.SalvarUsuarioGrupo(lRequest); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(); lretorno = RetornarSucessoAjax(new TransporteRetornoDeCadastro(lUsuarioGrupoInfo.CodigoUsuarioGrupo), "Grupo cadastrado com sucesso"); } else { lretorno = RetornarErroAjax(lResponse.DescricaoResposta); } } catch (Exception ex) { lretorno = RetornarErroAjax(ex.Message); } return(lretorno); }
private static void testesPersistenciaSeguranca() { IServicoPersistencia servicoPersistencia = Ativador.Get <IServicoPersistencia>(); UsuarioGrupoInfo usuarioGrupo = new UsuarioGrupoInfo() { CodigoUsuarioGrupo = "grupo1", NomeUsuarioGrupo = "grupo1", Permissoes = new List <PermissaoAssociadaInfo>() { new PermissaoAssociadaInfo() { CodigoPermissao = "9C5DA26B-8C30-4c1d-AA7A-B7A22CF2CA8F", Status = PermissaoAssociadaStatusEnum.Permitido }, new PermissaoAssociadaInfo() { CodigoPermissao = "D31AD6D1-FCA6-4529-ACBE-B5B9D60E5755", Status = PermissaoAssociadaStatusEnum.Negado } } }; SalvarObjetoResponse <UsuarioGrupoInfo> resposta1 = servicoPersistencia.SalvarObjeto <UsuarioGrupoInfo>( new SalvarObjetoRequest <UsuarioGrupoInfo>() { Objeto = usuarioGrupo }); ReceberObjetoResponse <UsuarioGrupoInfo> resposta0 = servicoPersistencia.ReceberObjeto <UsuarioGrupoInfo>( new ReceberObjetoRequest <UsuarioGrupoInfo>() { CodigoObjeto = "grupo1" }); }
/// <summary> /// Metodo para actualizar un registro de UsuarioGrupo /// </summary> /// <param name="info">Valores de la entidad que se actualizarán</param> internal void Actualizar(UsuarioGrupoInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxUsuarioGrupoDAL.ObtenerParametrosActualizar(info); Update("UsuarioGrupo_Actualizar", parameters); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal ResultadoInfo <UsuarioGrupoInfo> ObtenerPorPagina(PaginacionInfo pagina, UsuarioGrupoInfo filtro) { try { Logger.Info(); var usuarioGrupoDAL = new UsuarioGrupoDAL(); ResultadoInfo <UsuarioGrupoInfo> result = usuarioGrupoDAL.ObtenerPorPagina(pagina, filtro); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene parametros para obtener lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina, UsuarioGrupoInfo filtro) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@Nombre", filtro.Usuario.Nombre }, { "@GrupoID", filtro.Grupo.GrupoID }, { "@Activo", filtro.Activo }, { "@Inicio", pagina.Inicio }, { "@Limite", pagina.Limite } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public string ResponderSalvar() { string lRetorno = string.Empty; string lObjetoJson = Request.Params["ObjetoJson"]; string TipoDeObjeto = Request["TipoDeObjetoPai"]; TransporteSegurancaItemFilho lDados; MensagemRequestBase lRequest; MensagemResponseBase lResponse; try { lDados = JsonConvert.DeserializeObject <TransporteSegurancaItemFilho>(lObjetoJson); switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest(); ((ReceberUsuarioRequest)lRequest).CodigoUsuario = lDados.ParentId; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest(); ((ReceberUsuarioGrupoRequest)lRequest).CodigoUsuarioGrupo = lDados.ParentId; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; default: return(RetornarErroAjax("Não é possível associar um tipo de item que não seja Usuários ou Grupos.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { MensagemResponseBase lSalvarResponse; MensagemRequestBase lSalvarRequest = null; if (lResponse is ReceberUsuarioResponse) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lUsuario.Perfis.Add(lDados.Item); lSalvarRequest = new SalvarUsuarioRequest() { CodigoSessao = this.CodigoSessao, Usuario = lUsuario }; lSalvarResponse = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lSalvarRequest); } else { UsuarioGrupoInfo lGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lGrupo.Perfis.Add(lDados.Item); lSalvarRequest = new SalvarUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, UsuarioGrupo = lGrupo }; lSalvarResponse = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lSalvarRequest); } if (lSalvarResponse.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(); return(RetornarSucessoAjax(new TransporteRetornoDeCadastro(lDados.ParentId + "|" + lDados.Item + "|" + TipoDeObjeto), "Dados associados com sucesso")); } else { return(RetornarErroAjax(lSalvarResponse.DescricaoResposta)); } } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } } catch (Exception ex) { return(RetornarErroAjax(ex.Message)); } }
/// <summary> /// Obtiene un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal ResultadoInfo <UsuarioGrupoInfo> ObtenerPorPagina(PaginacionInfo pagina, UsuarioGrupoInfo filtro) { try { Dictionary <string, object> parameters = AuxUsuarioGrupoDAL.ObtenerParametrosPorPagina(pagina, filtro); DataSet ds = Retrieve("UsuarioGrupo_ObtenerPorPagina", parameters); ResultadoInfo <UsuarioGrupoInfo> result = null; if (ValidateDataSet(ds)) { result = MapUsuarioGrupoDAL.ObtenerPorPagina(ds); } return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public string ResponderExcluir() { string lIdItemPermissao = Request["Id"]; string lItemPaiID = lIdItemPermissao.Split('|')[0]; string lPerfilID = lIdItemPermissao.Split('|')[1]; string lTipoDeObjeto = lIdItemPermissao.Split('|')[2]; MensagemRequestBase lRequest; MensagemResponseBase lResponse; switch (lTipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest() { CodigoUsuario = lItemPaiID, CodigoSessao = this.CodigoSessao }; lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest() { CodigoUsuarioGrupo = lItemPaiID, CodigoSessao = this.CodigoSessao }; lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; default: return(RetornarErroAjax("Só é permitido listar os perfis se o tipo de objeto for Usuário ou Grupo.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { MensagemRequestBase lSalvarRequest; MensagemResponseBase lSalvarResponse; if (lResponse is ReceberUsuarioResponse) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lUsuario.Perfis.Remove(lPerfilID); lSalvarRequest = new SalvarUsuarioRequest() { CodigoSessao = this.CodigoSessao, Usuario = lUsuario }; lSalvarResponse = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lSalvarRequest); } else { UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lUsuarioGrupo.Perfis.Remove(lPerfilID); lSalvarRequest = new SalvarUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, UsuarioGrupo = lUsuarioGrupo }; lSalvarResponse = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lSalvarRequest); } if (lSalvarResponse.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogExclusao(); return(RetornarSucessoAjax("Perfil excluido com sucesso.")); } else { return(RetornarErroAjax("Erro ao excluir o perfil")); } } else { return(RetornarErroAjax("Erro ao excluir o perfil")); } }
public string ResponderCarregarHtmlComDados() { string Id = Request["Id"]; string TipoDeObjeto = Request["TipoDeObjeto"]; MensagemRequestBase lRequest; MensagemResponseBase lResponse; switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuario = Id }; var lRequestUsuario = new UsuarioPermissaoInfo(); lRequestUsuario.CodigoUsuario = Convert.ToInt32(Id); lResponse = new UsuarioPermissoesDbLib().ListarIntranetPermissoesUsuario(lRequestUsuario); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuarioGrupo = Id }; lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; case "Perfil": lRequest = new ReceberPerfilRequest() { CodigoSessao = this.CodigoSessao, CodigoPerfil = Id }; lResponse = this.ServicoSeguranca.ReceberPerfil((ReceberPerfilRequest)lRequest); break; default: return(RetornarErroAjax("Só é possível mostrar permissões para Grupos, usuários e perfis.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { TransporteSegurancaPermissao lLista = new TransporteSegurancaPermissao(); if (lResponse is ReceberUsuarioResponse) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lLista = ReceberLista(lUsuario.Permissoes, Id, TipoDeObjeto); } else if (lResponse is ReceberUsuarioGrupoResponse) { UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lLista = ReceberLista(lUsuarioGrupo.Permissoes, Id, TipoDeObjeto); } else { PerfilInfo lPerfil = ((ReceberPerfilResponse)lResponse).Perfil; lLista = ReceberLista(lPerfil.Permissoes, Id, TipoDeObjeto); } this.hidSeguranca_Permissoes_ListaJson.Value = JsonConvert.SerializeObject(lLista.Permissoes.ToArray()); } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } return(string.Empty); }
public string ResponderCarregarHtmlComDados() { string lCodigoItem = Request["Id"]; string TipoDeObjeto = Request["TipoDeObjeto"]; List <TransporteSegurancaItemFilho> lItensRetorno = new List <TransporteSegurancaItemFilho>(); MensagemRequestBase lRequest; MensagemResponseBase lResponse; switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuario = lCodigoItem }; lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuarioGrupo = lCodigoItem }; lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; default: return(RetornarErroAjax("Só é permitido listar os perfis se o tipo de objeto for Usuário ou Grupo.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { ListarPerfisRequest lPerfisRequest = new ListarPerfisRequest() { CodigoSessao = this.CodigoSessao }; ListarPerfisResponse lPerfisResponse = this.ServicoSeguranca.ListarPerfis(lPerfisRequest); if (lRequest is ReceberUsuarioRequest) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lItensRetorno = RetornarItens(lUsuario.Perfis, lPerfisResponse.Perfis, lCodigoItem, TipoDeObjeto); } else { UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lItensRetorno = RetornarItens(lUsuarioGrupo.Perfis, lPerfisResponse.Perfis, lCodigoItem, TipoDeObjeto); } hidSeguranca_Perfis_ListaJson.Value = JsonConvert.SerializeObject(lItensRetorno); } else { return(RetornarErroAjax("Erro: " + lResponse.DescricaoResposta)); } return(string.Empty); }
public string Salvar() { string lObjetoJson = Request.Params["ObjetoJson"]; try { TransporteSegurancaDadosAssociados lDados = JsonConvert.DeserializeObject <TransporteSegurancaDadosAssociados>(lObjetoJson); MensagemRequestBase lRequestItem; MensagemRequestBase lRequestSalvarItem; MensagemResponseBase lResponseItem, lResponseSalvar; UsuarioGrupoInfo lUsuarioGrupo = null; UsuarioInfo lUsuario = null; if (lDados.EhGrupo) { lRequestItem = new ReceberUsuarioGrupoRequest(); lRequestSalvarItem = new SalvarUsuarioGrupoRequest(); lRequestSalvarItem.CodigoSessao = this.CodigoSessao; lRequestItem.CodigoSessao = this.CodigoSessao; ((ReceberUsuarioGrupoRequest)lRequestItem).CodigoUsuarioGrupo = lDados.Grupo; lResponseItem = ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequestItem); } else if (lDados.EhUsuario) { lRequestItem = new ReceberUsuarioRequest(); lRequestSalvarItem = new SalvarUsuarioRequest(); lRequestSalvarItem.CodigoSessao = this.CodigoSessao; lRequestItem.CodigoSessao = this.CodigoSessao; ((ReceberUsuarioRequest)lRequestItem).CodigoUsuario = lDados.Usuario; lResponseItem = ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequestItem); } else { return(RetornarErroAjax("Selecione um grupo ou usuário para associar as permissões")); } if (lResponseItem.StatusResposta != MensagemResponseStatusEnum.OK) { return(RetornarErroAjax(lResponseItem.DescricaoResposta)); } if (lResponseItem is ReceberUsuarioGrupoResponse) { lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponseItem).UsuarioGrupo; } else { lUsuario = ((ReceberUsuarioResponse)lResponseItem).Usuario; } string nomePermissao = string.Empty; nomePermissao = lDados.Interface.Trim() + "Consultar"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Consultar); nomePermissao = lDados.Interface.Trim() + "Salvar"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Salvar); nomePermissao = lDados.Interface.Trim() + "Excluir"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Excluir); nomePermissao = lDados.Interface.Trim() + "Executar"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Executar); if (lDados.EhGrupo) { ((SalvarUsuarioGrupoRequest)lRequestSalvarItem).UsuarioGrupo = lUsuarioGrupo; lResponseSalvar = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lRequestSalvarItem); } else { ((SalvarUsuarioRequest)lRequestSalvarItem).Usuario = lUsuario; lResponseSalvar = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lRequestSalvarItem); } if (lResponseSalvar.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(); return(RetornarSucessoAjax("Itens Associados com sucesso")); } else { return(RetornarErroAjax(lResponseSalvar.DescricaoResposta)); } } catch (Exception ex) { logger.Error(ex.Message, ex); return(RetornarErroAjax(ex.Message, ex)); } }
public string ResponderSalvar() { string lRetorno = string.Empty; string lObjetoJson = Request.Params["ObjetoJson"]; string TipoDeObjeto = Request["TipoDeObjetoPai"]; MensagemRequestBase lRequest; MensagemResponseBase lResponse; bool lTinhaGTI = false; bool lTinhaStock = false; try { TransporteSegurancaPermissao lDados = JsonConvert.DeserializeObject <TransporteSegurancaPermissao>(lObjetoJson); switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuario = lDados.ParentId }; lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuarioGrupo = lDados.ParentId }; lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; case "Perfil": lRequest = new ReceberPerfilRequest() { CodigoSessao = this.CodigoSessao, CodigoPerfil = lDados.ParentId }; lResponse = this.ServicoSeguranca.ReceberPerfil((ReceberPerfilRequest)lRequest); break; default: return(RetornarErroAjax("Só é possível salvar permissões para grupos, usuários e perfis.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { MensagemRequestBase lRequestBase; MensagemResponseBase lResponseBase = new MensagemResponseBase(); if (lResponse is ReceberUsuarioResponse) { PermissaoAssociadaInfo lPermissao; UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; //precisa verificar todas que tinha antes pra não re-enviar o email quando uma outra permissão que não a do GTI ou Stock forem adicionadas foreach (Gradual.OMS.Seguranca.Lib.PermissaoAssociadaInfo lPerm in lUsuario.Permissoes) { if (lPerm.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_GTI.ToUpper()) { lTinhaGTI = true; } if (lPerm.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_Stock.ToUpper()) { lTinhaStock = true; } } lUsuario.Permissoes.Clear(); var lCount = default(int); do { lPermissao = new PermissaoAssociadaInfo() { CodigoPermissao = lDados.Permissoes.Count > 0 ? lDados.Permissoes[lCount] : string.Empty, Status = PermissaoAssociadaStatusEnum.Permitido }; lUsuario.Permissoes.Add(lPermissao); lRequestBase = new SalvarUsuarioRequest() { CodigoSessao = this.CodigoSessao, Usuario = lUsuario }; lResponseBase = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lRequestBase); if (lResponseBase.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(new LogIntranetInfo() { CdBovespaClienteAfetado = lUsuario.CodigoUsuario.DBToInt32(), DsObservacao = string.Format("Cód. Usuário logado: {0}; Nome do cliente: {1}; e-Mail:", base.UsuarioLogado.Id, lUsuario.Nome, lUsuario.Email), }); if (TipoDeObjeto == "Usuario") { if (!lTinhaGTI && lPermissao.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_GTI.ToUpper()) { EnviarEmailDePermissaoGTI(lUsuario.CodigoUsuario.DBToInt32(), "Gradual Trader Interface (GTI)"); } if (!lTinhaStock && lPermissao.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_Stock.ToUpper()) { EnviarEmailDePermissaoGTI(lUsuario.CodigoUsuario.DBToInt32(), "Stock Market"); } } } lCount++; } while (lDados.Permissoes.Count > lCount); } else if (lResponse is ReceberUsuarioGrupoResponse) { PermissaoAssociadaInfo lPermissao; UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; foreach (string itemPermissao in lDados.Permissoes) { lPermissao = new PermissaoAssociadaInfo() { CodigoPermissao = itemPermissao, Status = PermissaoAssociadaStatusEnum.Permitido }; lUsuarioGrupo.Permissoes.Add(lPermissao); lRequestBase = new SalvarUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, UsuarioGrupo = lUsuarioGrupo }; lResponseBase = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lRequestBase); } } else { PermissaoAssociadaInfo lPermissao; PerfilInfo lPerfil = ((ReceberPerfilResponse)lResponse).Perfil; lPerfil.Permissoes.Clear(); foreach (string itemPermissao in lDados.Permissoes) { lPermissao = new PermissaoAssociadaInfo() { CodigoPermissao = itemPermissao, Status = PermissaoAssociadaStatusEnum.Permitido }; lPerfil.Permissoes.Add(lPermissao); lRequestBase = new SalvarPerfilRequest() { CodigoSessao = this.CodigoSessao, Perfil = lPerfil }; lResponseBase = ServicoSeguranca.SalvarPerfil((SalvarPerfilRequest)lRequestBase); } } if (lResponseBase.StatusResposta == MensagemResponseStatusEnum.OK) { return(RetornarSucessoAjax("Permissão associada com sucesso.")); } else { return(RetornarErroAjax(lResponseBase.DescricaoResposta)); } } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } } catch (Exception ex) { return(RetornarErroAjax(ex.Message)); } }
public TransporteSegurancaGrupo(UsuarioGrupoInfo pUsuarioGrupoInfo) { this.Id = pUsuarioGrupoInfo.CodigoUsuarioGrupo; this.Nome = pUsuarioGrupoInfo.NomeUsuarioGrupo; }