예제 #1
0
        public int insertarUsuario(CuentaUsuario usuario)
        {
            string contrasena = CreatePassword(10);

            usuario.Contrasena = contrasena;

            string mensajeBienvenida = obtenerMensajeBienvenidaSistema(usuario, contrasena);

            int resultado = EmailSender.enviarEmail(usuario.Persona.Correo, "Bienvenida sistema Excellia", mensajeBienvenida);

            if (resultado < 0)
            {
                return(-4);
            }

            CuentaUsuarioDA cuentaUsuarioDA = new CuentaUsuarioDA();
            int             idCuenta        = cuentaUsuarioDA.insertarCuentaUsuario(usuario);

            if (idCuenta < 0)
            {
                return(-1);
            }

            PersonaDA personaDA = new PersonaDA();

            int idPersona = personaDA.insertarPersona(usuario.Persona, idCuenta);

            if (idPersona < 0)
            {
                return(-2);
            }

            if (usuario.Persona is Cliente)
            {
                ClienteDA clienteDA = new ClienteDA();
                int       idCliente = clienteDA.insertarCliente((Cliente)usuario.Persona, idPersona);
                if (idCliente < 0)
                {
                    return(-3);
                }
            }
            else if (usuario.Persona is Experto)
            {
                ExpertoDA expertoDA = new ExpertoDA();
                int       idExperto = expertoDA.insertarExperto((Experto)usuario.Persona, idPersona);
                if (idExperto < 0)
                {
                    return(-3);
                }
            }
            else if (usuario.Persona is JefeProyecto)
            {
                JefeProyectoDA jefeProyectoDA = new JefeProyectoDA();
                int            idJefeProyecto = jefeProyectoDA.insertarJefeProyecto((JefeProyecto)usuario.Persona, idPersona);
                if (idJefeProyecto < 0)
                {
                    return(-3);
                }
            }
            else if (usuario.Persona is KAM)
            {
                KamDA kamDA = new KamDA();
                int   idKam = kamDA.insertarKam((KAM)usuario.Persona, idPersona);
                if (idKam < 0)
                {
                    return(-3);
                }
            }
            else if (usuario.Persona is Operario)
            {
                OperarioDA operarioDA = new OperarioDA();
                int        idOperario = operarioDA.insertarOperario((Operario)usuario.Persona, idPersona);
                if (idOperario < 0)
                {
                    return(-3);
                }
            }

            return(1);
        }