Ejemplo n.º 1
0
        private async Task CrearParticipante(int ProyectoId,
                                             Ekilibrate.Model.Entity.Participante.clsParticipante item,
                                             List <Ekilibrate.Model.Entity.Proyecto.clsGrupo> ListaGrupos)
        {
            Ekilibrate.ad.Participante.clsParticipante objParticipante             = new Ekilibrate.ad.Participante.clsParticipante(_lifetimeScope);
            Ekilibrate.Model.Entity.Participante.clsParticipanteBase dParticipante = await objParticipante.GetById(item.Id, ProyectoId);

            if (dParticipante == null)
            {
                dParticipante            = new Model.Entity.Participante.clsParticipanteBase();
                dParticipante.Id         = item.Id;
                dParticipante.ProyectoId = ProyectoId;
                dParticipante.GrupoId    = ListaGrupos.Where(x => x.Nombre == item.Grupo).First().Id;
                await objParticipante.Insert(dParticipante);
            }
            else
            {
                dParticipante.ProyectoId = ProyectoId;
                dParticipante.GrupoId    = ListaGrupos.Where(x => x.Nombre == item.Grupo).First().Id;
                await objParticipante.Update(dParticipante);
            }
        }
Ejemplo n.º 2
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);
            }
        }