예제 #1
0
        public void ActualizarEstadoYUsuarioEC(Empresa empresa, string correoUTPDe)
        {
            if (empresa.UsuarioEC == null) empresa.UsuarioEC = "";

            adUtp.ActualizarEstadoYUsuarioEC(empresa);

            #region Envio de correo:
            //Se completan los campos:
            //Se indica el nombre del estado:
            string estado = "";
            if (empresa.EstadoIdListaValor == "EMPRAC") estado = "Activa";
            if (empresa.EstadoIdListaValor == "EMPRNO") estado = "No Activa";
            if (empresa.EstadoIdListaValor == "EMPRRV") estado = "Pendiente de aprobación de registro";
            if (empresa.EstadoIdListaValor == "EMPRSU") estado = "Suspendida";

            //Obtener usuario empresa y su correo electronico.
            LNMensaje lnMensaje = new LNMensaje();
            DataTable dt = lnMensaje.ObtenerUsuarioEmpresaPorIdEmpresa(empresa.IdEmpresa);

            if (dt.Rows.Count > 0)
            {
                Mensaje mensaje = new Mensaje();
                mensaje.DeUsuarioCorreoElectronico = correoUTPDe; // empresa.Usuario; //Contiene el ticket del usuario UTP.
                mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dt.Rows[0]["CorreoElectronico"]);
                mensaje.Asunto = "Empresa actualizada";
                mensaje.MensajeTexto = "El estado de la empresa '" + empresa.NombreComercial + "' ha sido actualizado a: " + estado + "'";

                LNCorreo.EnviarCorreo(mensaje);
            }
            #endregion
        }
        public ActionResult Contacto(Mensaje mensaje)
        {
            LNMensaje lnMensaje = new LNMensaje();
            if (mensaje.Pantalla == Constantes.MENSAJES_EMPRESA_CONTACTO)
            {

                TicketEmpresa ticketEmpresa = (TicketEmpresa)Session["TicketEmpresa"];
                DataTable dtUsuarioAsignado = lnMensaje.ObtenerUsuarioUTPAsignadoAEmpresa(ticketEmpresa.IdEmpresa);

                if (dtUsuarioAsignado.Rows.Count > 0)
                {
                    mensaje.ParaUsuario = Convert.ToString(dtUsuarioAsignado.Rows[0]["Usuario"]);
                    mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioAsignado.Rows[0]["CorreoElectronico"]);
                    mensaje.CreadoPor = ticketEmpresa.Usuario;
                }
            }
            else
                if (mensaje.Pantalla == Constantes.MENSAJES_ALUMNO_CONTACTO)
                {
                    TicketAlumno ticketAlumno = (TicketAlumno)Session["TicketAlumno"];

                    //Obtener usuario administrador UTP.
                    DataTable dtUsuarioUTPAdmin = lnMensaje.ObtenerUsuarioAdministradorUTP();

                    mensaje.ParaUsuario = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["Usuario"]);
                    mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["CorreoElectronico"]);
                    mensaje.CreadoPor = ticketAlumno.Usuario;
                }
                else
                    if (mensaje.Pantalla == Constantes.MENSAJES_INICIO)
                    {
                        //Obtener usuario administrador UTP.
                        DataTable dtUsuarioUTPAdmin = lnMensaje.ObtenerUsuarioAdministradorUTP();

                        mensaje.ParaUsuario = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["Usuario"]);
                        mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["CorreoElectronico"]);
                        mensaje.DeUsuario = mensaje.DeUsuarioCorreoElectronico;
                        mensaje.CreadoPor = mensaje.DeUsuarioCorreoElectronico; //Se coloca el correo de la persona.
                    }

            mensaje.FechaEnvio = DateTime.Now;
            mensaje.IdEvento = 0;
            mensaje.EstadoMensaje = "MSJNOL";  //Pendiente de ser leido

            lnMensaje.Insertar(mensaje);

            TempData["MsjExitoCrearMensaje"] = "El mensaje se envió con éxito";

            return RedirectToAction("Contacto", new { pantalla = mensaje.Pantalla });
        }
예제 #3
0
        public void ActualizarEstadoYUsuarioEC(Empresa empresa, string correoUTPDe)
        {
            if (empresa.UsuarioEC == null)
            {
                empresa.UsuarioEC = "";
            }

            adUtp.ActualizarEstadoYUsuarioEC(empresa);

            #region Envio de correo:
            //Se completan los campos:
            //Se indica el nombre del estado:
            string estado = "";
            if (empresa.EstadoIdListaValor == "EMPRAC")
            {
                estado = "Activa";
            }
            if (empresa.EstadoIdListaValor == "EMPRNO")
            {
                estado = "No Activa";
            }
            if (empresa.EstadoIdListaValor == "EMPRRV")
            {
                estado = "Pendiente de aprobación de registro";
            }
            if (empresa.EstadoIdListaValor == "EMPRSU")
            {
                estado = "Suspendida";
            }

            //Obtener usuario empresa y su correo electronico.
            LNMensaje lnMensaje = new LNMensaje();
            DataTable dt        = lnMensaje.ObtenerUsuarioEmpresaPorIdEmpresa(empresa.IdEmpresa);

            if (dt.Rows.Count > 0)
            {
                Mensaje mensaje = new Mensaje();
                mensaje.DeUsuarioCorreoElectronico   = correoUTPDe; // empresa.Usuario; //Contiene el ticket del usuario UTP.
                mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dt.Rows[0]["CorreoElectronico"]);
                mensaje.Asunto       = "Empresa actualizada";
                mensaje.MensajeTexto = "El estado de la empresa '" + empresa.NombreComercial + "' ha sido actualizado a: " + estado + "'";

                LNCorreo.EnviarCorreo(mensaje);
            }
            #endregion
        }
        public ActionResult Registro(VistaRegistroEmpresa empresa)
        {
            LNUsuario lnUsuario = new LNUsuario();
            StringBuilder mensajeDeError = new StringBuilder();
            if (lnUsuario.ValidarNombreDeUsuario(empresa.CuentaUsuario))
            {
                mensajeDeError.Append("El Nombre de Usuario ya está Registrado<br />");
            }
            if (lnUsuario.ValidarExistenciaEmpresa(empresa.PaisIdListaValor, empresa.IdentificadorTributario))
            {
                mensajeDeError.Append("La Empresa ya se encuentra registrada, por favor comuníquese con nosotros<br />");
            }
            Regex rgx = new Regex(@"^\d{8}$");
            if (empresa.TipoDocumentoIdListaValor == "TDDNI")
            {
                if (!rgx.IsMatch(empresa.NumeroDocumento))
                {
                    mensajeDeError.Append("El Numero de Documento es inválido<br />");
                }
            }
            if (ModelState.IsValid && mensajeDeError.ToString() == "")
            {
                LNEmpresa lnEmpresa = new LNEmpresa();
                //Empresa
                empresa.CreadoPor = empresa.CuentaUsuario; //Usuario anónimo.
                empresa.EstadoIdListaValor = "EMPRRV"; //Estado de la empresa pendiente de aprobación.
                //Ubicación
                empresa.EstadoLocacionIdListaValor = "LOSTNO"; //Estado NO ACTIVA. Se debe activar al momento que UTP active la cuenta.

                if (empresa.PaisIdListaValor == "PAIPER")
                {
                    empresa.NombreLocacion = empresa.DireccionLocacion + ", " + empresa.TextDistrito + ", " + empresa.TextoCiudad + ", " + empresa.TextoDepartamento;

                }
                else
                {
                    empresa.NombreLocacion = empresa.DireccionLocacion + ", " + empresa.DireccionDistritoLocacion + ", " + empresa.DireccionCiudadLocacion + ", " + empresa.DireccionDepartamentoLocacion;
                }

                //validar si el pais es peru, si es asi entonces:

                //Usuario
                empresa.RolIdListaValor = "ROLEAD"; //La cuenta es creada como Rol: "Administrador de Empresa"
                empresa.EstadoUsuarioIdListaValor = "USEUTP"; //El usuario también se encuenta pendiente de activación. Se debe activar al momento que UTP active la cuenta.
                byte[] bytes = Encoding.Default.GetBytes(empresa.Contrasena);
                SHA1 sha = new SHA1CryptoServiceProvider();
                byte[] password = sha.ComputeHash(bytes);
                String spassword = Encoding.Default.GetString(password);
                empresa.Contrasena = spassword;
                lnEmpresa.Insertar(empresa);

                //Enviar mensaje de correo:
                LNMensaje lnMensaje = new LNMensaje();
                DataTable dtUsuarioUTPAdmin = lnMensaje.ObtenerUsuarioAdministradorUTP();

                if (dtUsuarioUTPAdmin.Rows.Count > 0)
                {
                    Mensaje mensaje = new Mensaje();
                    mensaje.DeUsuarioCorreoElectronico = empresa.EmailUsuario;
                    mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dtUsuarioUTPAdmin.Rows[0]["CorreoElectronico"]); //Administrador UTP
                    mensaje.Asunto = empresa.NombreComercial + " Empresa registrada en el Portal:";
                    mensaje.MensajeTexto = "La empresa '" + empresa.NombreComercial + "' se ha registrado en el portal y está a la espera de activación";
                    LNCorreo.EnviarCorreo(mensaje);
                }

                //Si el registro fue exitoso redireccionar a página de resultado.
                TempData["GuardaRegistroExitoso"] = "Estimado(a) <strong>" + empresa.NombresUsuario + " " + empresa.ApellidosUsuario
                + "</strong>, muchas gracias por enviarnos su información. En breve recibirá un correo de confirmación con sus datos.</br></br>Nuestro proceso de activación tomará un plazo no mayor a 1 día útil, antes del cual estaremos comunicándole la activación de su Usuario. ";
                //Aquí debería enviarse un correo
                return RedirectToAction("Index");
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                           .Where(y => y.Count > 0)
                           .ToList();
                //Variable temporal para poner el break
                int a = 0;
            }
            LNGeneral lnGeneral = new LNGeneral();
            ViewBag.PaisIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_PAIS), "IdListaValor", "Valor", empresa.PaisIdListaValor);
            ViewBag.SectorEmpresarial1IdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_SECTOR_EMPRESARIAL), "IdListaValor", "Valor", empresa.SectorEmpresarial1IdListaValor);
            ViewBag.TipoLocacionIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_LOCACION), "IdListaValor", "Valor", empresa.TipoLocacionIdListaValor);
            ViewBag.TipoDocumentoIdListaValor = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_TIPO_DOCUMENTO), "IdListaValor", "Valor", empresa.TipoDocumentoIdListaValor);

            ViewBag.DireccionDepartamentoLocacion = new SelectList(lnGeneral.ObtenerListaValor(Constantes.IDLISTA_Departamento), "IdListaValor", "Valor", empresa.DireccionDepartamentoLocacion);

            ViewBag.MensajeDeError = mensajeDeError;
            return View(empresa);
        }
        public ActionResult ObtenerNuevosMensajes()
        {
            Ticket ticket = (Ticket)Session["Ticket"];

            LNMensaje lnMensaje = new LNMensaje ();
            //Se envía 0 para que obtener los mensajes de todas las ofertas.
            List<Mensaje> lista = lnMensaje.ObtenerPorIdEmpresaIdOferta(ticket.IdEmpresa, 0);

            return PartialView("_VistaNuevosMensajes", lista);
        }
        public ActionResult VistaOfertaMensajes(Oferta oferta)
        {
            Ticket ticket = (Ticket)Session["Ticket"];

            LNMensaje lnMensaje = new LNMensaje();
            //Se envía 0 para que obtener los mensajes de todas las ofertas.
            List<Mensaje> mensajes = lnMensaje.ObtenerPorIdEmpresaIdOferta(ticket.IdEmpresa, oferta.IdOferta);

            return PartialView("_VistaOfertaMensajes", mensajes);
        }