示例#1
0
 public async Task FotoPerfil(int Id, byte[] Foto)
 {
     try
     {
         Ekilibrate.ad.General.clsPersona objPersona = new Ekilibrate.ad.General.clsPersona(_lifetimeScope);
         await objPersona.FotoPerfil(Id, Foto);
     }
     catch (Exception e)
     {
         throw new Exception("Error al registrar el participante", e);
     }
 }
示例#2
0
        private async Task <int> CrearPersona(Ekilibrate.Model.Entity.Participante.clsParticipante item)
        {
            Ekilibrate.ad.General.clsPersona objPersona = new Ekilibrate.ad.General.clsPersona(_lifetimeScope);
            var p = await objPersona.GetByCorreo(item.Correo);

            if (p == null)
            {
                return(await objPersona.Insert(item));
            }
            else
            {
                return(p.Id);
            }
        }
示例#3
0
        public async Task <string> CrearParticipante(Ekilibrate.Model.Entity.Participante.clsRegistroParticipante Data)
        {
            try
            {
                //Obtener información del proyecto
                Ekilibrate.BL.DataRetriever.clsProyecto           objProyecto = new Ekilibrate.BL.DataRetriever.clsProyecto(_lifetimeScope);
                Ekilibrate.Model.Entity.Administrador.clsProyecto dProyecto   = await objProyecto.GetProyecto(Data.CodigoRegistro);

                if (dProyecto != null)
                {
                    //Crear Participante
                    //Crear Persona
                    Ekilibrate.ad.General.clsPersona objPersona = new Ekilibrate.ad.General.clsPersona(_lifetimeScope);
                    Data.Id = await objPersona.Insert(Data);

                    //Insertar Participante
                    Ekilibrate.ad.Participante.clsParticipante objParticipante             = new Ekilibrate.ad.Participante.clsParticipante(_lifetimeScope);
                    Ekilibrate.Model.Entity.Participante.clsParticipanteBase dParticipante = new Model.Entity.Participante.clsParticipanteBase();
                    dParticipante.Id         = Data.Id;
                    dParticipante.ProyectoId = dProyecto.Id;
                    //dParticipante.GrupoId = ListaGrupos.Where(x => x.Nombre == item.Grupo).First().Id;
                    await objParticipante.Insert(dParticipante);

                    //if (dProyecto.Estado == EstadoProyectoEnEjecucion)
                    //{
                    //Insertar DiagnosticoBase
                    Ekilibrate.BL.ad.Participante.clsDiagnostico            objDiagnostico = new Ekilibrate.BL.ad.Participante.clsDiagnostico(_lifetimeScope);
                    Ekilibrate.Model.Entity.Participante.clsDiagnosticoBase dDiagnostico   = new Model.Entity.Participante.clsDiagnosticoBase();
                    dDiagnostico.ID_PARTICIPANTE = Data.Id;
                    dDiagnostico.PrimerNombre    = Data.PrimerNombre;
                    dDiagnostico.PrimerApellido  = Data.PrimerApellido;
                    dDiagnostico.Correo          = Data.Correo;
                    await objDiagnostico.Insert(dDiagnostico);

                    //}

                    //Insertar Usuario
                    Ekilibrate.ad.Administracion.clsUsuario objUsuario             = new Ekilibrate.ad.Administracion.clsUsuario(_lifetimeScope);
                    Ekilibrate.Model.Entity.Administracion.clsUsuarioBase dUsuario = new Model.Entity.Administracion.clsUsuarioBase();

                    string Usuario = await objUsuario.GetUserKey(Data.Correo, dProyecto.EmpresaNombre, Data.PrimerNombre, Data.PrimerApellido);

                    dUsuario.IdPersona     = Data.Id;
                    dUsuario.NombreUsuario = Usuario;
                    dUsuario.IdTipoUsuario = TipoUsuarioParticipante;
                    dUsuario.Activo        = true;
                    //Grabrar el usuario encriptado como contraseña de usuario
                    //dUsuario.Contraseña = BarcoSoftUtilidades.Utilidades.Cryptography.Encrypt(BarcoSoftUtilidades.Utilidades.Cryptography.Encrypt(item.Id.ToString(), sk));

                    dUsuario.Contraseña = BarcoSoftUtilidades.Utilidades.Cryptography.Encrypt(Data.Password);
                    int IdUsuario = await objUsuario.Insert(dUsuario);

                    //Insertar UsuarioPorRol
                    Ekilibrate.ad.Administracion.clsUsuarioPorRol objUsuarioRol             = new Ekilibrate.ad.Administracion.clsUsuarioPorRol(_lifetimeScope);
                    Ekilibrate.Model.Entity.Administracion.clsUsuarioPorRolBase dUsuarioRol = new Model.Entity.Administracion.clsUsuarioPorRolBase();
                    dUsuarioRol.IdUsuario       = IdUsuario;
                    dUsuarioRol.IdRol           = RolParticipante;
                    dUsuarioRol.TransacDateTime = DateTime.Now;
                    dUsuarioRol.TransacUser     = tranuser;
                    await objUsuarioRol.Insert(dUsuarioRol);

                    //Enviar Correo
                    Ekilibrate.BL.Common.clsMail ctrlMail = new Ekilibrate.BL.Common.clsMail(_lifetimeScope);
                    Ekilibrate.Model.Entity.General.clsMensajeCorreo MailNotifica = new Model.Entity.General.clsMensajeCorreo();
                    MailNotifica.Para    = Data.Correo;
                    MailNotifica.EsHTML  = "SI";
                    MailNotifica.EsLista = "NO";
                    MailNotifica.Asunto  = "Bienvenido a Ekilibrate";
                    MailNotifica.Mensaje = String.Format(HTMLCorreoRegistro, Data.PrimerNombre, Usuario, Data.Password);

                    await ctrlMail.DirectEmail(MailNotifica, dProyecto.Correo, dProyecto.PasswordCorreo, "Ekilibrate");

                    return(Usuario);
                }
                else
                {
                    throw new Exception("El Código ingresado no es válido favor verifique.");
                }
            }
            catch (Exception e)
            {
                throw new Exception("Error al registrar el participante", e);
            }
        }