コード例 #1
0
        public ResultadoOperacionDto ActualizarParametroSistema(ParametroSistema dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = ParametroSistemaRepository.Obtener(dto.IdParametroSistema);
                if (entidad == null)
                {
                    throw new Exception("No se encontro el parametro buscado.");
                }

                entidad.Valor = dto.Valor;

                ParametroSistemaRepository.Guardar(entidad);

                var param = new List <object>()
                {
                    entidad.Nombre, entidad.IdParametroSistema
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Actualizar, ConstantsModulo.ParametrosSistema, MensajesServicios.ActualizarParametroSistema, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #2
0
        /// <summary>
        /// Elimina la consulta al repositorio para el identificador dado.
        /// </summary>
        /// <param name="idConsultaRepositorio">Identificador de la consulta al repositorio.</param>
        /// <param name="idUsuarioExec">Id del usuario que ejecuto el proceso.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto EliminaConsultaRepositorio(long idConsultaRepositorio, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = ConsultaRepositorioRepository.GetById(idConsultaRepositorio);
                var param   = new List <object>()
                {
                    entidad.Nombre, entidad.IdConsultaRepositorio
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Borrar, ConstantsModulo.ConsultasEspecializadas, MensajesServicios.BorrarConsultaRepositorio, param, idEmpresaExc);
                ConsultaRepositorioRepository.Delete(entidad);
                resultado.InformacionAuditoria = informacionAuditoria;
                resultado.Mensaje = entidad.Nombre;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #3
0
        /// <summary>
        /// Genera el registro de auditoría para bitacorizar la exportación a excel de los parametros del sistema.
        /// </summary>
        /// <param name="idUsuarioExec">Identificador del usuario que exporto la información.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto RegistrarAccionAuditoriaExportarExcel(long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var param = new List <object>();
                var informacionAuditoria = new InformacionAuditoriaDto(
                    idUsuarioExec,
                    ConstantsAccionAuditable.Exportar,
                    ConstantsModulo.ParametrosSistema,
                    MensajesServicios.ExportarExcelParametrosSistema,
                    param,
                    idEmpresaExc
                    );
                RegistrarAccionAuditoria(informacionAuditoria);
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }
            return(resultado);
        }
コード例 #4
0
        /// <summary>
        /// Ejucion del metodo auditable
        /// </summary>
        /// <param name="invocation">Datos de invocacion del metodo</param>
        /// <returns>Resultado de la operacion del metodo autitable</returns>
        public object Invoke(IMethodInvocation invocation)
        {
            object resultadoMetodo = invocation.Proceed();

            if (resultadoMetodo is ResultadoOperacionDto)
            {
                ResultadoOperacionDto   resultadoOperacionDto   = (ResultadoOperacionDto)resultadoMetodo;
                InformacionAuditoriaDto informacionAuditoriaDto = resultadoOperacionDto.InformacionAuditoria;
                RegistroAuditoria       registroAuditoria       = new RegistroAuditoria();
                if (informacionAuditoriaDto != null)
                {
                    registroAuditoria.IdEmpresa         = informacionAuditoriaDto.Empresa;
                    registroAuditoria.Registro          = informacionAuditoriaDto.Registro;
                    registroAuditoria.IdAccionAuditable = informacionAuditoriaDto.Accion;
                    registroAuditoria.IdModulo          = informacionAuditoriaDto.Modulo;
                    registroAuditoria.IdUsuario         = informacionAuditoriaDto.IdUsuario;
                    registroAuditoria.Fecha             = DateTime.Now;
                    if (HttpContext.Current != null)
                    {
                        var session = HttpContext.Current.Session;
                        if (session != null)
                        {
                            if (registroAuditoria.IdEmpresa == 0 && session[ConstantsWeb.IdEmpresaSession] != null)
                            {
                                registroAuditoria.IdEmpresa = long.Parse(session[ConstantsWeb.IdEmpresaSession].ToString());
                            }
                        }
                    }
                    RegistroAuditoriaRepository.GuardarRegistroAuditoria(registroAuditoria);
                }
            }
            return(resultadoMetodo);
        }
コード例 #5
0
        /// <summary>
        /// Genera el registro de auditoría para bitacorizar la exportación a excel de los destinatarios de una lista de notificación.
        /// </summary>
        /// <param name="idListaNotificacion">Identificador de la lista de notificación.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que exporto la información.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto RegistrarAccionAuditoriaExportarExcelDestinatarios(long idListaNotificacion, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var param = new List <object> {
                    ListaNotificacionRepository.Obtener(idListaNotificacion).Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(
                    idUsuarioExec,
                    ConstantsAccionAuditable.Exportar,
                    ConstantsModulo.ListasNotificacion,
                    MensajesServicios.ExportarExcelDestinatariosNotificacion,
                    param,
                    idEmpresaExc
                    );
                RegistrarAccionAuditoria(informacionAuditoria);
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }
            return(resultado);
        }
コード例 #6
0
        /// <summary>
        /// Elimina el grupo de empresa del repositorio.
        /// </summary>
        /// <param name="idGrupoEmpresa">Identificador del gurpo de empresas a eliminar.</param>
        /// <param name="idUsuarioExec">Id del usuario que ejecuto el proceso.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto EliminaGrupoEmpresa(long idGrupoEmpresa, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = GrupoEmpresaRepository.GetById(idGrupoEmpresa);
                var param   = new List <object>()
                {
                    entidad.Nombre, entidad.IdGrupoEmpresa
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Borrar, ConstantsModulo.GrupoEmpresa, MensajesServicios.BorrarGrupoEmpresa, param, idEmpresaExc);
                GrupoEmpresaRepository.Delete(entidad);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #7
0
        /// <summary>
        /// Agrega un nuevo grupo de empresa al catalogo general.
        /// </summary>
        /// <param name="dto">Dto con la información del grupo.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que realiza esta acción.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto GuardaGrupoEmpresa(GrupoEmpresaDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = new GrupoEmpresa()
                {
                    Nombre      = dto.Nombre,
                    Descripcion = dto.Descripcion,
                };
                GrupoEmpresaRepository.Add(entidad);

                var param = new List <object>()
                {
                    entidad.Nombre, entidad.IdGrupoEmpresa
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Insertar, ConstantsModulo.GrupoEmpresa, MensajesServicios.InsertarGrupoEmpresa, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #8
0
        public ResultadoOperacionDto GuardarListaNotificacion(ListaNotificacionDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                resultado = ListaNotificacionRepository.Guardar(dto);

                var param = new List <object>()
                {
                    dto.Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(
                    idUsuarioExec,
                    dto.IdListaNotificacion == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar,
                    ConstantsModulo.ListasNotificacion,
                    dto.IdListaNotificacion == 0 ? MensajesServicios.InsertarListaNotificacion : MensajesServicios.ActualizarListaNotificacion,
                    param,
                    idEmpresaExc
                    );
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #9
0
        public ResultadoOperacionDto ActualizaRelacionGrupoEmpresas(long idGrupoEmpresa, IList <long> idsEmpreas, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = GrupoEmpresaRepository.GetById(idGrupoEmpresa);
                var param   = new List <object>()
                {
                    entidad.Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Actualizar, ConstantsModulo.GrupoEmpresa, MensajesServicios.ActualizarRelacioesGrupoEmpresaAempresa, param, idEmpresaExc);

                GrupoEmpresaRepository.LimpiaRelacionesGrupoEmpresa(idGrupoEmpresa);
                foreach (var idEmpresa in idsEmpreas)
                {
                    GrupoEmpresaRepository.AgregaRelacionEmpresaGrupoEmpresa(idEmpresa, idGrupoEmpresa);
                }
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }
            return(resultado);
        }
コード例 #10
0
        public ResultadoOperacionDto ModificarPassword(ref Usuario usuarioParam, SeguridadDto objSeguridadDTO,
                                                       string password)
        {
            var resultado = new ResultadoOperacionDto();
            var usuario   = Repository.GetById(usuarioParam.IdUsuario);

            if (usuario != null && usuario.Password != null)
            {
                var passwEncriptado = SeguridadDto.EncriptarPassword(password);
                usuario.Password              = passwEncriptado;
                usuario.VigenciaPassword      = DateTime.Today.AddDays(60);
                usuario.Bloqueado             = false;
                usuario.IntentosErroneosLogin = 0;
                if (!String.IsNullOrEmpty(usuario.HistoricoPassword))
                {
                    var split = new string[1];
                    split[0] = "@@@";
                    var passwAnteriores = usuario.HistoricoPassword.Split(split, StringSplitOptions.None);
                    var queuePasswords  = new Queue <string>(passwAnteriores);
                    while (queuePasswords.Count >= Int32.Parse(objSeguridadDTO.NumeroPasswordCiclo))
                    {
                        queuePasswords.Dequeue(); //Elimina la contraseña mas antigua
                    }
                    queuePasswords.Enqueue(passwEncriptado);
                    usuario.HistoricoPassword = String.Empty;
                    foreach (var queuePassword in queuePasswords)
                    {
                        if (String.IsNullOrWhiteSpace(queuePassword))
                        {
                            continue;
                        }
                        usuario.HistoricoPassword += queuePassword + "@@@";
                    }
                }
                else
                {
                    usuario.HistoricoPassword = passwEncriptado;
                }
                Repository.Update(usuario);
                resultado.Resultado = true;
                resultado.Mensaje   = MensajesServicios.ContraseñaModificada;
                var informacionAuditoria = new InformacionAuditoriaDto
                {
                    Accion    = ConstantsAccionAuditable.Actualizar,
                    Empresa   = null,
                    IdUsuario = usuario.IdUsuario,
                    Modulo    = ConstantsModulo.Login,
                    Registro  = MensajesServicios.ContrasenaModificada
                };
                resultado.InformacionAuditoria = informacionAuditoria;
                return(resultado);
            }
            else
            {
                resultado.Resultado = false;
                resultado.Mensaje   = MensajesServicios.SinDatosUsuario;
            }
            return(resultado);
        }
コード例 #11
0
        public ResultadoOperacionDto GuardarTaxonomiaXbrl(TaxonomiaXbrlDto taxonomiaXbrl, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    taxonomiaXbrl.Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, taxonomiaXbrl.IdTaxonomiaXbrl == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar, ConstantsModulo.TaxonomiaXbrl, taxonomiaXbrl.IdTaxonomiaXbrl == 0 ? MensajesServicios.InsertarTaxonomiaXbrl : MensajesServicios.ActualizarTaxonomiaXbrl, param);
                var taxonomia            = TaxonomiaXbrlRepository.GetById(taxonomiaXbrl.IdTaxonomiaXbrl);

                if (taxonomia == null)
                {
                    taxonomia = new TaxonomiaXbrl
                    {
                        Nombre                  = taxonomiaXbrl.Nombre,
                        Descripcion             = taxonomiaXbrl.Descripcion,
                        Anio                    = taxonomiaXbrl.Anio,
                        Activa                  = taxonomiaXbrl.Activa,
                        EspacioNombresPrincipal = taxonomiaXbrl.EspacioNombresPrincipal
                    };
                }
                else
                {
                    taxonomia.Nombre                  = taxonomiaXbrl.Nombre;
                    taxonomia.Descripcion             = taxonomiaXbrl.Descripcion;
                    taxonomia.Anio                    = taxonomiaXbrl.Anio;
                    taxonomia.Activa                  = taxonomiaXbrl.Activa;
                    taxonomia.EspacioNombresPrincipal = taxonomiaXbrl.EspacioNombresPrincipal;
                }
                resultado = TaxonomiaXbrlRepository.Guardar(taxonomia);
                resultado.InformacionAuditoria = informacionAuditoria;

                if (resultado.Resultado)
                {
                    var id = Convert.ToInt64(resultado.InformacionExtra);

                    ArchivoTaxonomiaXbrlRepository.Borrar(id);

                    var archivo = new ArchivoTaxonomiaXbrl
                    {
                        IdTaxonomiaXbrl = id,
                        Href            = taxonomiaXbrl.PuntoEntrada
                    };

                    ArchivoTaxonomiaXbrlRepository.Guardar(archivo);
                }
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
コード例 #12
0
        /// <summary>
        /// Persiste la información de auditoria.
        /// </summary>
        /// <param name="inforAudit">Dto con la información a persistir.</param>
        /// <returns></returns>
        public void RegistrarAccionAuditoria(InformacionAuditoriaDto inforAudit)
        {
            RegistroAuditoria registroAuditoria = new RegistroAuditoria();

            registroAuditoria.IdEmpresa         = inforAudit.Empresa;
            registroAuditoria.Registro          = inforAudit.Registro;
            registroAuditoria.IdAccionAuditable = inforAudit.Accion;
            registroAuditoria.IdModulo          = inforAudit.Modulo;
            registroAuditoria.IdUsuario         = inforAudit.IdUsuario;
            registroAuditoria.Fecha             = DateTime.Now;
            registroAuditoria.IdEmpresa         = inforAudit.Empresa;
            RegistroAuditoriaRepository.GuardarRegistroAuditoria(registroAuditoria);
        }
コード例 #13
0
        /// <summary>
        /// Agrega un nuevo elemento al catalogo de ConsultaRepositorio..
        /// </summary>
        /// <param name="dto">Dto con la información de la entidad.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que realiza esta acción.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto ActualizarConsultaRepositorio(ConsultaRepositorioCnbvDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = ConsultaRepositorioRepository.GetById(dto.IdConsultaRepositorio);
                if (entidad == null)
                {
                    return(GuardaConsultaRepositorio(dto, idUsuarioExec, idEmpresaExc));
                }

                entidad.Nombre      = dto.Nombre;
                entidad.Descripcion = dto.Descripcion;
                entidad.Publica     = dto.Publica;
                entidad.Consulta    = dto.Consulta;

                ConsultaRepositorioRepository.Update(entidad);

                resultado.InformacionExtra = entidad;

                var param = new List <object>()
                {
                    entidad.Nombre, entidad.IdConsultaRepositorio
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Actualizar, ConstantsModulo.ConsultasEspecializadas, MensajesServicios.ActualizaConsultaRepositorio, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #14
0
        /// <summary>
        /// Agrega una nueva consulta al catalogo de consultas al repositorio.
        /// </summary>
        /// <param name="dto">Dto con la información a persitir.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que realiza esta acción.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto GuardaConsultaRepositorio(ConsultaRepositorioCnbvDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = new ConsultaRepositorio()
                {
                    Nombre        = dto.Nombre,
                    Descripcion   = dto.Descripcion,
                    Consulta      = dto.Consulta,
                    FechaCreacion = DateTime.Today,
                    IdUsuario     = idUsuarioExec,
                    Publica       = dto.Publica
                };

                ConsultaRepositorioRepository.Add(entidad);


                var param = new List <object>()
                {
                    entidad.Nombre, entidad.IdConsultaRepositorio
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Insertar, ConstantsModulo.ConsultasEspecializadas, MensajesServicios.InsertarConsultaRepositorio, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #15
0
        public ResultadoOperacionDto GuardarGrupoUsuariosRol(GrupoUsuariosRol grupoUsuariosRol, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    idUsuarioExec, grupoUsuariosRol.IdRol, grupoUsuariosRol.IdGrupoUsuario
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, grupoUsuariosRol.IdGrupoUsuariosRol == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar, ConstantsModulo.Grupos, MensajesServicios.InsertarGrupoUsuariosRol, param);
                resultado.InformacionExtra     = GrupoUsuariosRolRepository.GuardarGrupoUsuariosRol(grupoUsuariosRol);
                resultado.InformacionAuditoria = informacionAuditoria;
                resultado.Resultado            = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
コード例 #16
0
        public ResultadoOperacionDto GuardarEmpresa(Empresa empresa, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    empresa.NombreCorto
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, empresa.IdEmpresa == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar, ConstantsModulo.Empresa, empresa.IdEmpresa == 0 ? MensajesServicios.InsertarEmpresa : MensajesServicios.ActualizarEmpresa, param);
                resultado = EmpresaRepository.GuardarEmpresa(empresa);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception exception)
            {
                LogUtil.Error(exception);
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
コード例 #17
0
        public ResultadoOperacionDto GuardarUsuarioGrupoBulk(List <UsuarioGrupo> usuarioGrupo, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    GrupoUsuariosRepository.ObtenerGrupoUsuariosPorId(usuarioGrupo.First().IdGrupoUsuarios).Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Actualizar, ConstantsModulo.Grupos, MensajesServicios.AsignarUsuariosGrupo, param);
                resultado.InformacionExtra     = UsuarioGrupoRepository.GuardarUsuarioGrupoBulk(usuarioGrupo);
                resultado.Resultado            = true;
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
コード例 #18
0
        /// <summary>
        /// Obtiene los registros utilizados para generar el reporte de excel.
        /// </summary>
        /// <param name="idUsuarioExec">Identificador del usuario que ejecuta.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que ejecuta.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto ObtenRegistrosReporte(long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                resultado.InformacionExtra = GrupoEmpresaRepository.ObtenRegistrosReporte();
                var param = new List <object>();
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Exportar, ConstantsModulo.GrupoEmpresa, MensajesServicios.ExportarExcelGrupoEmpresas, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionExtra     = null;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #19
0
        /// <summary>
        /// Agrega un nuevo grupo de empresa al catalogo general.
        /// </summary>
        /// <param name="dto">Dto con la información del grupo.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que realiza esta acción.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto ActualizarGrupoEmpresa(GrupoEmpresaDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = GrupoEmpresaRepository.GetById(dto.IdGrupoEmpresa);
                if (entidad == null)
                {
                    return(GuardaGrupoEmpresa(dto, idUsuarioExec, idEmpresaExc));
                }

                entidad.Nombre      = dto.Nombre;
                entidad.Descripcion = dto.Descripcion;

                GrupoEmpresaRepository.Update(entidad);

                var param = new List <object>()
                {
                    entidad.Nombre, entidad.IdGrupoEmpresa
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Actualizar, ConstantsModulo.GrupoEmpresa, MensajesServicios.ActualizarGrupoEmpresa, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
コード例 #20
0
        public ResultadoOperacionDto GuardarUsuarioEmpresa(UsuarioEmpresa usuarioEmpresa, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    Repository.ObtenerUsuarioPorId(usuarioEmpresa.IdUsuario).CorreoElectronico
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Insertar, ConstantsModulo.Usuarios, usuarioEmpresa.IdUsuarioEmpresa == 0 ? MensajesServicios.InsertarUsuarioEmpresa : MensajesServicios.ActualizarUsuarioEmpresa, param);

                resultado.InformacionExtra     = UsuarioEmpresaRepository.GuardarUsuarioEmpresa(usuarioEmpresa);
                resultado.InformacionAuditoria = informacionAuditoria;
                resultado.Resultado            = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
コード例 #21
0
        public ResultadoOperacionDto GuardarUsuario(Usuario usuario, long idUsuarioExec, String url, String correoElectronico)
        {
            var esLoginActiveDirectory = bool.Parse(ConfigurationManager.AppSettings.Get("LoginActiveDirectory"));

            var resultado = new ResultadoOperacionDto();

            try
            {
                bool envio = false;
                var  pass  = String.Empty;
                if (usuario.IdUsuario == 0)
                {
                    usuario.Activo = true;

                    if (esLoginActiveDirectory)
                    {
                        usuario.VigenciaPassword = DateTime.Now.AddYears(50);
                    }
                    else
                    {
                        usuario.VigenciaPassword = DateTime.Now.AddDays(-1);
                    }

                    usuario.Bloqueado             = false;
                    usuario.HistoricoPassword     = String.Empty;
                    usuario.IntentosErroneosLogin = 0;
                    pass             = UtilAbax.GenerarCodigo();
                    usuario.Password = pass;
                    var salt =
                        usuario.Password.Substring(usuario.Password.Length -
                                                   PasswordHashGenerator.TAMANIO_B64_NUMERO_SALT);
                    usuario.Password = PasswordHashGenerator.CreatePasswordHash(usuario.Password, salt);
                    envio            = true;
                }

                var param = new List <object>()
                {
                    usuario.CorreoElectronico
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec,
                                                                       usuario.IdUsuario == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar,
                                                                       ConstantsModulo.Usuarios,
                                                                       usuario.IdUsuario == 0 ? MensajesServicios.InsertarUsuario : MensajesServicios.Actualizarusuario,
                                                                       param);
                resultado = Repository.GuardarUsuario(usuario);
                resultado.InformacionAuditoria = informacionAuditoria;



                if (resultado.Resultado && envio && (!esLoginActiveDirectory || UtilAbax.esCorreoValido(usuario.CorreoElectronico)))
                {
                    Repository.EnvioCorreoRegistro(usuario, pass, url);
                }
                else if (resultado.Resultado && envio && esLoginActiveDirectory && correoElectronico != null)
                {
                    Repository.EnvioCorreoRegistroLDAP(usuario, url, correoElectronico);
                }
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }