Esempio n. 1
0
        public ActionResult AceptarResprepresentanteLegal(int IdEmpresa, int IdRepresentante)
        {
            LogicaUsuarios LogicaUsuarios = new LogicaUsuarios();
            LogicaRepresentantesLegales LogicaRepresentantesLegales = new LogicaRepresentantesLegales();
            LogicaHome LogicaHome = new LogicaHome();


            try
            {
                CatUsuarios Usuario = (CatUsuarios)Session["Usuario"];
                if (Usuario == null || Usuario.U_IdTipoUsuario != 4)
                {
                    TempData["notice"] = "La sesión ha experiado.";
                    return(RedirectToAction("Logout", "Home"));
                }
                else
                {
                    CatUsuarios UsuarioRepresentante = LogicaUsuarios.L_DetallesUsuarioPorRepresentante(IdRepresentante);
                    UsuarioRepresentante.U_Activo = true;
                    CatRepresentantesLegales Representante = LogicaRepresentantesLegales.L_DetallesRepresentanteLegal(IdRepresentante);

                    string CorreoRepresentante = Representante.RL_CorreoElectronico;
                    Representante.RL_FechaRegistro = DateTime.Now.ToString();
                    Representante.RL_Observaciones = "Validado";
                    Representante.RL_IdEstatusSolicitudRepresentante = 3;
                    Representante.RL_Activo = true;

                    Guid DatoAleatorio = new Guid();
                    DatoAleatorio = Guid.NewGuid();

                    string clave = "C";
                    clave = clave + DatoAleatorio.ToString().Substring(0, 8);
                    clave = clave + DatoAleatorio.ToString().Substring(9, 4);

                    string ContraseniaUsuarioRepresentante = MetodoGeneral.EncriptarPassword(clave);

                    LogicaHome.L_ValidarRegistro(Representante, ContraseniaUsuarioRepresentante, clave);

                    new Task(() =>
                    {
                        try
                        {
                            MailMessage email = new MailMessage("*****@*****.**", CorreoRepresentante);
                            email.To.Add(new MailAddress(ConfigurationManager.AppSettings["CorreoAdministrador"].ToString()));

                            email.Subject = "Solicitud ENREL aprobada";

                            //Obtener la plantilla en HTML:
                            string path            = ConfigurationManager.AppSettings["Html_AceptarSolicitud"].ToString();
                            string ContenidoCorreo = System.IO.File.ReadAllText(path);

                            string NombreRepresentanteLegal = Representante.RL_Nombre + " " + Representante.RL_PrimerApellido + " " + Representante.RL_SegundoApellido;
                            ContenidoCorreo = ContenidoCorreo.Replace("#NombreRepresentanteLegal#", NombreRepresentanteLegal);
                            ContenidoCorreo = ContenidoCorreo.Replace("#UsuarioAcreditado#", UsuarioRepresentante.U_Nombre);
                            ContenidoCorreo = ContenidoCorreo.Replace("#Contraseña#", clave);

                            string Enlace          = ConfigurationManager.AppSettings["EnlaceENREL"].ToString();
                            ContenidoCorreo        = ContenidoCorreo.Replace("#EnlaceENREL#", Enlace);
                            AlternateView htmlView = AlternateView.CreateAlternateViewFromString(ContenidoCorreo, null, "text/html");


                            //Obtener imágenes:


                            LinkedResource Logotipo_SENER = new LinkedResource(ConfigurationManager.AppSettings["Logotipo_SENER"].ToString());
                            Logotipo_SENER.ContentId      = "Logotipo_SENER";
                            htmlView.LinkedResources.Add(Logotipo_SENER);

                            LinkedResource Logotipo_MEXICO = new LinkedResource(ConfigurationManager.AppSettings["Logotipo_MEXICO"].ToString());
                            Logotipo_MEXICO.ContentId      = "Logotipo_MEXICO";
                            htmlView.LinkedResources.Add(Logotipo_MEXICO);


                            email.AlternateViews.Add(htmlView);
                            email.IsBodyHtml = true;
                            email.Priority   = MailPriority.High;

                            SmtpClient smtp            = new SmtpClient();
                            smtp.Host                  = "172.16.70.110";
                            smtp.Port                  = 25;
                            smtp.EnableSsl             = false;
                            smtp.UseDefaultCredentials = false;
                            smtp.Send(email);
                            email.Dispose();
                        }
                        catch (Exception ex)
                        {
                            MetodoGeneral.RegistroDeError(ex.Message, "Registro de inversionista: Quinto Paso - Envío de correo");
                        }
                    }).Start();

                    TempData["notice"]    = "Se validó el registro";
                    Session["TipoAlerta"] = "Correcto";
                    return(RedirectToAction("GestionarSolicitudesRegistro", "Administrador"));
                }
            }
            catch (Exception ex)
            {
                CatRepresentantesLegales Representante = new CatRepresentantesLegales();
                Representante = LogicaRepresentantesLegales.L_DetallesRepresentanteLegal(IdRepresentante);

                Representante.RL_FechaRegistro = DateTime.Now.ToString();
                Representante.RL_IdEstatusSolicitudRepresentante = 1;
                Representante.RL_Activo        = true;
                Representante.RL_Observaciones = "Error, es necesario volver a validar";
                LogicaRepresentantesLegales.L_ActualizarRepresentanteLegal(Representante);
                LogicaEmpresas LogicaEmpresa = new LogicaEmpresas();
                CatEmpresas    Empresa       = LogicaEmpresa.L_DetallesEmpresa(Representante.RL_IdEmpresa);
                ViewBag.DatosEmpresa       = Empresa;
                ViewBag.DatosRepresentante = Representante;

                string ruta = @"C:\inetpub\RepositorioVER\" + Representante.RL_IdRepresentanteLegal.ToString() + "-";
                ViewBag.PoderNotarial         = ruta + "PoderNotarial.pdf";
                ViewBag.CedulaRFC             = ruta + "CedulaRFC.pdf";
                ViewBag.ActaConstitutiva      = ruta + "ActaConstitutiva.pdf";
                ViewBag.IdentificacionOficial = ruta + "Identificacion.pdf";
                ViewBag.DatosRepresentante    = Representante;

                TempData["notice"]    = ConfigurationManager.AppSettings["MensajeError"].ToString();
                Session["TipoAlerta"] = "Error";
                MetodoGeneral.RegistroDeError(ex.Message, "RepresentantesLegales: Insertar");
                return(View("ValidarSolicitud", new { IdRepresentante = IdRepresentante }));
            }
        }