public ActionResult Detalles() { CatEmpresas Empresa = new CatEmpresas(); try { CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario == null || Usuario.U_IdTipoUsuario != 2) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } Empresa = LogicaEmpresa.L_DetallesEmpresa(Usuario.U_IdEmpresa); if (Empresa.E_CodigoPostal == "") { Empresa.E_CodigoPostal = null; } return(View(Empresa)); } catch (Exception ex) { TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "Empresa: Detalles"); return(View("Index", "Home")); } }
public RespuestaClienteWS CreNotificacion(string IdGlobalMacroTramite, int idEmpresa, int idProyecto, int idRL) { var empresa = logicaempresas.L_DetallesEmpresa(idEmpresa); var RL = logicaRL.L_DetallesRepresentanteLegal(idRL); var proyecto = logicaproyectos.L_DetallesProyectos(idProyecto); var proxy = new NotificacionesIOP.NotificacionDeInteroperabilidadClient(); var request = new NotificacionesIOP.NotificacionDeInteroperabilidadRequest() { HeaderInteroperabilidad = ObtenerHeaderInteroperabilidad(proyecto, RL), InformacionDeNegocio = ObtenerInformacionDeNegocio(proyecto, empresa, RL), DocumentosAdjuntos = new NotificacionesIOP.DocumentosAdjuntos() }; var response = proxy.Notificacion(request); //Serializamos el payload o request para poder almacenarlo en la B.D. var payload = Serializar.SerializarToXml(request); Respuesta.FolioPeticion = response.FolioPeticion; Respuesta.FolioRespuesta = response.FolioRespuesta; Respuesta.Codigo = response.EstatusEntregaMensaje.Codigo; Respuesta.Descripcion = response.EstatusEntregaMensaje.Descripcion; Respuesta.XML = payload; LogicaENRELRespuestasWS logicaWS = new LogicaENRELRespuestasWS(); if (Respuesta.Codigo == 1) { int codResp = Respuesta.Codigo; var fpeticion = Respuesta.FolioPeticion; var fResp = Respuesta.FolioRespuesta; var fmensaje = Respuesta.Descripcion; var xml = Respuesta.XML; MetodoGeneral.RegistroDeError("Respuesta Interop Sincrona- CodigoRespuesta: " + codResp + ", foliopeticion: " + fpeticion + ", foliorespuesta: " + fResp + ", Descripcion: " + fmensaje + ", XML: " + xml + "", "-Invocacion WSCRE"); var insertarRespuesta = logicaWS.L_InsertarNotificacionIOP(fpeticion, fResp, codResp, fmensaje, IdGlobalMacroTramite, xml); } else { int codResp = Respuesta.Codigo; var fpeticion = Respuesta.FolioPeticion; var fResp = Respuesta.FolioRespuesta; var fmensaje = Respuesta.Descripcion; var xml = Respuesta.XML; MetodoGeneral.RegistroDeError("Respuesta Interop Sincrona- CodigoRespuesta: " + codResp + ", foliopeticion: " + fpeticion + ", foliorespuesta: " + fResp + ", Descripcion: " + fmensaje + ", XML: " + xml + "", "-Invocacion WSCRE"); var insertarRespuesta = logicaWS.L_InsertarNotificacionIOP(fpeticion, fResp, codResp, fmensaje, IdGlobalMacroTramite, xml); var notificar = NotificarEnvioTramite("CRE-15-022", idProyecto.ToString(), RL.RL_RFC); } return(Respuesta); }
public ActionResult ValidarSolicitud(int IdRepresentante) { CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario != null && Usuario.U_IdUsuario > 0 && Usuario.U_IdTipoUsuario == 4) { try { LogicaUsuarios LogicaUsuarios = new LogicaUsuarios(); LogicaEmpresas LogicaEmpresa = new LogicaEmpresas(); LogicaRepresentantesLegales LogicaRepresentante = new LogicaRepresentantesLegales(); CatRepresentantesLegales Representante = LogicaRepresentante.L_DetallesRepresentanteLegal(IdRepresentante); CatEmpresas Empresa = LogicaEmpresa.L_DetallesEmpresa(Representante.RL_IdEmpresa); CatUsuarios UsuarioRepresentante = LogicaUsuarios.L_DetallesUsuarioPorRepresentante(IdRepresentante); ViewBag.DatosEmpresa = Empresa; string ruta = @"C:\\inetpub\\RepositorioVER\\Representantes\\" + Representante.RL_IdRepresentanteLegal.ToString(); DirectoryInfo di = new DirectoryInfo(ruta); DateTime FechaPoderNotarial = DateTime.Parse("01/01/1900"); DateTime FechaCedulaRFC = DateTime.Parse("01/01/1900"); DateTime FechaActaConstitutiva = DateTime.Parse("01/01/1900"); DateTime FechaIdentificacionOficial = DateTime.Parse("01/01/1900"); foreach (var fi in di.GetFiles()) { try { string[] Varibales = fi.Name.Split('_'); string TipoDocumento = Varibales[0]; try { FechaDocumento = Varibales[2].Substring(0, 19).Replace('-', '/').Replace('.', ':'); } catch (Exception ex) { } DateTime Fecha = DateTime.Parse(FechaDocumento); switch (TipoDocumento) { case "PoderNotarial": if (FechaPoderNotarial < Fecha) { FechaPoderNotarial = Fecha; } break; case "CedulaRFC": if (FechaCedulaRFC < Fecha) { FechaCedulaRFC = Fecha; } break; case "ActaConstitutiva": if (FechaActaConstitutiva < Fecha) { FechaActaConstitutiva = Fecha; } break; case "NumIdenOficial": if (FechaIdentificacionOficial < Fecha) { FechaIdentificacionOficial = Fecha; } break; default: break; } } catch (Exception exc) { } } ViewBag.PoderNotarial = ruta + "\\PoderNotarial_PDF_" + FechaPoderNotarial.ToString("yyyy-MM-dd HH.mm.ss") + ".pdf"; ViewBag.CedulaRFC = ruta + "\\CedulaRFC_PDF_" + FechaCedulaRFC.ToString("yyyy-MM-dd HH.mm.ss") + ".pdf"; ViewBag.ActaConstitutiva = ruta + "\\ActaConstitutiva_PDF_" + FechaActaConstitutiva.ToString("yyyy-MM-dd HH.mm.ss") + ".pdf"; ViewBag.IdentificacionOficial = ruta + "\\NumIdenOficial_PDF_" + FechaIdentificacionOficial.ToString("yyyy-MM-dd HH.mm.ss") + ".pdf"; ViewBag.DatosRepresentante = Representante; if (Empresa.E_RFC.Length == 12) { ViewBag.MostrarCarta = true; } else { ViewBag.MostrarCarta = false; } return(View()); } catch (Exception ex) { TempData["notice"] = "Se produjo un error en la consulta"; Session["TipoAlerta"] = "Error"; return(RedirectToAction("GestionarSolicitudesRegistro")); } } else { return(RedirectToAction("Logout", "Home")); } }
public ActionResult RechazarRepresentanteLegal(FormCollection form) { LogicaUsuarios LogicaUsuarios = new LogicaUsuarios(); int IdRepresentante = Int32.Parse(form["IdRepresentante"]); string Observaciones = form["Observaciones"]; LogicaRepresentantesLegales LogicaRepresentantesLegales = new LogicaRepresentantesLegales(); CatRepresentantesLegales Representante = new CatRepresentantesLegales(); Representante = LogicaRepresentantesLegales.L_DetallesRepresentanteLegal(IdRepresentante); string CorreoRepresentante = Representante.RL_CorreoElectronico; Representante.RL_Observaciones = Observaciones; Representante.RL_IdEstatusSolicitudRepresentante = 2; Representante.RL_Activo = true; LogicaRepresentantesLegales.L_ActualizarRepresentanteLegal(Representante); try { new Task(() => { try { MailMessage email = new MailMessage("*****@*****.**", CorreoRepresentante); email.To.Add(new MailAddress(ConfigurationManager.AppSettings["CorreoAdministrador"].ToString())); email.Subject = "Solicitud ENREL no aprobada"; //Obtener la plantilla en HTML: string path = ConfigurationManager.AppSettings["Html_RechazarSolicitud"].ToString(); string ContenidoCorreo = System.IO.File.ReadAllText(path); string NombreRepresentanteLegal = Representante.RL_Nombre + " " + Representante.RL_PrimerApellido + " " + Representante.RL_SegundoApellido; ContenidoCorreo = ContenidoCorreo.Replace("#NombreRL#", NombreRepresentanteLegal); ContenidoCorreo = ContenidoCorreo.Replace("#Observaciones#", Observaciones); 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.Body = ContenidoCorreo; 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(); return(RedirectToAction("GestionarSolicitudesRegistro", "Administrador")); } catch (Exception ex) { Representante.RL_Observaciones = "Ha ocurrido un error en el servicio y no se pudo enviar el correo con estatus rechazado."; Representante.RL_IdEstatusSolicitudRepresentante = 1; LogicaRepresentantesLegales.L_ActualizarRepresentanteLegal(Representante); LogicaEmpresas LogicaEmpresa = new LogicaEmpresas(); CatEmpresas Empresa = LogicaEmpresa.L_DetallesEmpresa(Representante.RL_IdEmpresa); ViewBag.DatosEmpresa = Empresa; ViewBag.DatosRepresentante = Representante; TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "RepresentantesLegales: Insertar"); return(RedirectToAction("GestionarSolicitudesRegistro", "Administrador")); } }
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 })); } }
public ActionResult ProyectoTramites() { string IdEstatusProyecto = "NO CAPTURADO"; string resultado = ""; bool ErrorBPM = false; try { CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario == null || Usuario.U_IdTipoUsuario != 2) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } int Idproyecto = Convert.ToInt32(Request.Form["IdProyecto"]); CatProyectos Proyecto = LogicaProyecto.L_DetallesProyectos(Idproyecto); string IdProyectoBPM = Idproyecto.ToString(); string Tecnologia = Proyecto.P_Tecnologia.ToLower(); //Crea la instancia de los WS de BPM que vaya a utilizar WSBPM_Nivel0.ProcessNivel0PortTypeClient CrearProyectos = new WSBPM_Nivel0.ProcessNivel0PortTypeClient(); WSBPM_Nivel3.ProcessNivel3PortTypeClient EnviarEstatus = new WSBPM_Nivel3.ProcessNivel3PortTypeClient(); IdEstatusProyecto = LogicaProyecto.L_SeleccionarProyectoSeguimiento(Idproyecto); if (IdEstatusProyecto == "CAPTURADO") { //COMUNICACIÓN: Enviar proyecto a BPM CrearProyectos.InicioNivel0(Idproyecto.ToString(), Proyecto.P_Tecnologia.ToLower()); LogicaProyecto.L_ActualizarProyectoSeguimiento(Idproyecto, 2); MetodoGeneral.RegistroDeError("Datos {IdProyecto: " + Idproyecto.ToString() + ", Tecnología: " + Proyecto.P_Tecnologia.ToLower() + "}", "Invocación Nivel 0 -"); MetodoGeneral.RegistroDeError(CrearProyectos.Endpoint.Address.ToString(), "Invocación Nivel 0 -"); } IdEstatusProyecto = LogicaProyecto.L_SeleccionarProyectoSeguimiento(Idproyecto); if (IdEstatusProyecto == "ENVIADOBPM") { //COMUNICACIÓN: Enviar proyecto a gobmx resultado = MetodoGeneral.RegistrarReferenciaMacroTramite(Proyecto.P_IdGlobal, Usuario.U_RFCRepresentanteAsociado); LogicaProyecto.L_ActualizarProyectoSeguimiento(Idproyecto, 3); LogicaProyecto.L_ActualizarProyectoSeguimiento(Idproyecto, 4); } IdEstatusProyecto = LogicaProyecto.L_SeleccionarProyectoSeguimiento(Idproyecto); if (IdEstatusProyecto == "INICIADO" || IdEstatusProyecto == "SUSPENDIDO") { //Preguntar estatus GOBMX RespuestaConsultaMacroTramite Resultado = MetodoGeneral.ConsultarMacroTramite(Proyecto.P_IdGlobal); //Guardar estatus de GOBMX en BD ENREL if (Resultado.cadenaInteroperabilidad != null && Resultado.cadenaInteroperabilidad.Count > 0) { LogicaTramite.L_ActualizarEstatusTramite(Resultado, Proyecto.P_IdProyecto); } //Obtener estatus de los trámites ya en la base de datos que tienen que ser actualizados en BPM: List <CatTramites> ListaTramitesActualizarBPM = LogicaTramite.L_SeleccionarProyectoTramitesParaEnviarBPM(Idproyecto); //COMUNICACIÓN: Reporta estatus a BPM try { foreach (CatTramites Tramite in ListaTramitesActualizarBPM) { if (Tramite.T_ConfirmacionBPM == false) { EnviarEstatus.receiveTask(Idproyecto.ToString(), Tramite.T_HomoClave, Tramite.T_Estatus.ToLower(), Tramite.T_Prorroga); MetodoGeneral.RegistroDeError("IDPROYECTO = '" + Idproyecto.ToString() + "', HOMOCLAVE ='" + Tramite.T_HomoClave + "', ESTATUS = '" + Tramite.T_Estatus.ToLower() + "'", "Invocación Nivel 3 - "); MetodoGeneral.RegistroDeError(EnviarEstatus.Endpoint.Address.ToString(), "Invocación Nivel 3 - "); } Thread.Sleep(100); } } catch (Exception ex) { Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "ProyectoTramites"); ErrorBPM = true; } } IdEstatusProyecto = LogicaProyecto.L_SeleccionarProyectoSeguimiento(Idproyecto); switch (IdEstatusProyecto) { case "CAPTURADO": Session["TipoAlerta"] = "Error"; TempData["notice"] = "El proyecto se registró en ENREL pero no ha sido sido enviado al gestor de trámites."; return(RedirectToAction("Index")); case "ENVIADOBPM": Session["TipoAlerta"] = "Error"; TempData["notice"] = "El proyecto no ha sido registrado en Gobmx."; return(RedirectToAction("Index")); case "ENVIADOGOBMX": Session["TipoAlerta"] = "Error"; TempData["notice"] = "El proyecto ha sido registrado en Gobmx pero ocurrió un error inesperado"; return(RedirectToAction("Index")); case "CONCLUIDO": bool Resultado = MetodoGeneral.NotificarEstatusMacroTramite(Proyecto.P_IdGlobal, "1", "1"); if (Resultado) { LogicaProyecto.L_ActualizarProyectoSeguimiento(Idproyecto, 7); } break; default: break; } //Obtener estatus de los trámites ya en la base de datos: Thread.Sleep(1000); List <CatTramites> ListaTramites = LogicaTramite.L_SeleccionarProyectoTramites(Idproyecto, Proyecto.P_IdGlobal, Usuario.U_RFCRepresentanteAsociado, Session["OpenId"].ToString()); CatEmpresas Empresa = LogicaEmpresa.L_DetallesEmpresa(Proyecto.P_IdEmpresa); int IdRepresentante = (Int32)Session["IdRepresentanteActual"]; CatRepresentantesLegales RepresentanteLegal = LogicaRepresentanteLegal.L_DetallesRepresentanteLegal(IdRepresentante); List <CatEstatusTramite> TablaEstatus = LogicaTramite.L_TablaEstatusTramite(); CatAvanceTramites AvanceTramites = LogicaTramite.L_AvanceTramites(ListaTramites); CargarDatosProyecto(AvanceTramites, Proyecto, Empresa, RepresentanteLegal); if (ErrorBPM) { Session["TipoAlerta"] = "Error"; TempData["notice"] = "La información podría no estar actualizada"; } return(View(ListaTramites)); } catch (Exception ex) { Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "ProyectoTramites"); switch (IdEstatusProyecto) { case "CAPTURADO": TempData["notice"] = "El proyecto se registró en ENREL pero no ha sido sido enviado al gestor de trámites."; return(RedirectToAction("Index")); case "ENVIADOBPM": TempData["notice"] = "El proyecto no ha sido registrado en Gobmx."; return(RedirectToAction("Index")); case "ENVIADOGOBMX": TempData["notice"] = "El proyecto ha sido registrado en Gobmx pero ocurrió un error inesperado"; return(RedirectToAction("Index")); default: TempData["notice"] = "Error inesperado, por favor consulte a un administrador de la aplicación."; return(RedirectToAction("Index")); } } }
public ActionResult InsertarPrimerusuario(IEnumerable <HttpPostedFileBase> files, FormCollection form) { LogicaUsuarios Logicausuarios = new LogicaUsuarios(); LogicaEmpresas LogicaEmpresas = new LogicaEmpresas(); LogicaRepresentantesLegales LogicaRepresentantesLegales = new LogicaRepresentantesLegales(); LogicaHome LogicaHome = new LogicaHome(); string FechaActual = DateTime.Now.ToString("yyyy-MM-dd HH.mm.ss"); try { if (Session["Registrando"] == null) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } Empresa = (CatEmpresas)Session["NuevoAcceso_Empresa"]; Representante = (CatRepresentantesLegales)Session["NuevoAcceso_Representante"]; string ClavePrivada = form["RL_ClavePrivada"]; string Validacion = MetodoGeneral.ValidarFIEL(files, ClavePrivada, Representante.RL_RFC); if (Validacion == "Validación exitosa") { CatEmpresas EmpresaSession = (CatEmpresas)Session["NuevoAcceso_Empresa"]; EmpresaSession.E_CompartirDatos = false; if (form["CompartirDatos"].Equals("2")) { EmpresaSession.E_CompartirDatos = true; } CatUsuarios UsuarioOperativoSession = (CatUsuarios)Session["NuevoAcceso_Usuario"]; //LogicaHome.L_InsertarRegistroSolicitud(EmpresaSession, Representante, UsuarioOperativoSession); string GUID = LogicaHome.L_InsertarRegistroSolicitud(Empresa, Representante, UsuarioOperativoSession); string ext = ""; X509Certificate2 CertificadoParaFirma = new X509Certificate2(); CatRepresentantesLegales NuevoRepresentante = (CatRepresentantesLegales)Session["NuevoAcceso_Representante"]; if (!Directory.Exists(@"C:\inetpub\RepositorioVER\Representantes\" + NuevoRepresentante.RL_IdRepresentanteLegal.ToString())) { DirectoryInfo di = Directory.CreateDirectory(@"C:\inetpub\RepositorioVER\Representantes\" + NuevoRepresentante.RL_IdRepresentanteLegal.ToString()); } int num_archivo = 0; foreach (string inputTagName in Request.Files) { HttpPostedFileBase file = Request.Files[num_archivo]; num_archivo = num_archivo + 1; ext = Path.GetExtension(file.FileName); if (ext != ".cer" && ext != ".key") { bool PdfValido = MetodoGeneral.ReadByteArrayFromFile(file); if ((file.ContentType.ToString().ToLower() == "application/pdf" && PdfValido) || file.ContentType.ToString().ToLower() == "application/x-zip-compressed") { string path = @"C:\inetpub\RepositorioVER\Representantes\" + NuevoRepresentante.RL_IdRepresentanteLegal.ToString() + "\\" + inputTagName + "_PDF_" + FechaActual + ext; using (Stream fs = file.InputStream) { fs.Flush(); fs.Position = 0; CertificadoParaFirma = MetodoGeneral.ObtenerCertificadoParaFirmar(files, ClavePrivada); MetodoGeneral.SignWithThisCert(CertificadoParaFirma, fs, path); } } } } TempData["notice"] = "Los datos han sido registrados exitosamente."; Session.Clear(); Session["TipoAlerta"] = "Correcto"; string target = @"C:\inetpub\RepositorioVER\Representantes\" + NuevoRepresentante.RL_IdRepresentanteLegal.ToString() + "\\" + "AcuseRegistroInversionista_PDF_" + FechaActual; CatRepresentantesLegales DatosRepresentante = LogicaRepresentantesLegales.L_DetallesRepresentanteLegal(NuevoRepresentante.RL_IdRepresentanteLegal); CatEmpresas DatosEmpresa = LogicaEmpresas.L_DetallesEmpresa(DatosRepresentante.RL_IdEmpresa); CrearAcuseRegistroInversionista(GUID, target, DatosEmpresa, DatosRepresentante); //Enviar acuse: new System.Threading.Tasks.Task(() => { try { string CorreoRepresentante = Representante.RL_CorreoElectronico; Representante.RL_FechaRegistro = DateTime.Now.ToString(); Representante.RL_Observaciones = "Solicitud de registro enviada"; //CatRepresentantesLegales DatosRepresentante = LogicaRepresentantesLegales.L_DetallesRepresentanteLegal(NuevoRepresentante.RL_IdRepresentanteLegal); //CatEmpresas DatosEmpresa = LogicaEmpresas.L_DetallesEmpresa(DatosRepresentante.RL_IdEmpresa); System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage("*****@*****.**", CorreoRepresentante); email.To.Add(new MailAddress(ConfigurationManager.AppSettings["CorreoAdministrador"].ToString())); email.Subject = "Acuse de registro"; email.Attachments.Add(new Attachment(target + ".pdf")); //Obtener la plantilla en HTML: string pathCorreo = ConfigurationManager.AppSettings["Html_AcuseRegistroENREL"].ToString(); string ContenidoCorreo = System.IO.File.ReadAllText(pathCorreo); //Reemplazar información string ContactoEmpresa = "Teléfono (" + DatosEmpresa.E_Lada + ") " + DatosEmpresa.E_TelefonoFijo.ToString(); string NombreRepresentante = DatosRepresentante.RL_Nombre + " " + DatosRepresentante.RL_PrimerApellido + " " + DatosRepresentante.RL_SegundoApellido; string ContactoRepresentanteLegal = "Teléfono (" + DatosRepresentante.RL_Lada + ") " + DatosRepresentante.RL_TelefonoFijo.ToString() + " Ext. " + DatosRepresentante.RL_ExtensionTelefonica + ", Teléfono móvil: " + DatosRepresentante.RL_TelefonoCelular; string EmpresaNumeroInterior = ""; try { EmpresaNumeroInterior = DatosEmpresa.E_NumeroInterior.ToString(); } catch { } string EmpresaCodigoPostal = ""; try { EmpresaCodigoPostal = DatosEmpresa.E_CodigoPostal.ToString(); } catch { } string RepresentanteNumeroInterior = ""; try { RepresentanteNumeroInterior = DatosRepresentante.RL_NumeroInterior.ToString(); } catch { } string RepresentanteCodigoPostal = ""; try { RepresentanteCodigoPostal = DatosRepresentante.RL_CodigoPostal.ToString(); } catch { } ContenidoCorreo = ContenidoCorreo.Replace("#NombreEmpresa#", DatosEmpresa.E_NombreComercial); ContenidoCorreo = ContenidoCorreo.Replace("#RFCEmpresa#", DatosEmpresa.E_RFC); ContenidoCorreo = ContenidoCorreo.Replace("#ContactoEmpresa#", ContactoEmpresa); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioEmpresaCalle#", DatosEmpresa.E_Calle); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioEmpresaNExterior#", DatosEmpresa.E_NumeroExterior.ToString()); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioEmpresaNInterior#", EmpresaNumeroInterior); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioEmpresaColonia#", DatosEmpresa.E_Colonia); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioEmpresaCP#", EmpresaCodigoPostal); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioEmpresaMunicipio#", DatosEmpresa.E_Municipio); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioEmpresaEstado#", DatosEmpresa.E_EntidadFederativa); ContenidoCorreo = ContenidoCorreo.Replace("#NombreRepresentanteLegal#", NombreRepresentante); ContenidoCorreo = ContenidoCorreo.Replace("#RFCRepresentanteLegal#", DatosRepresentante.RL_RFC); ContenidoCorreo = ContenidoCorreo.Replace("#ContactoRepresentanteLegal#", ContactoRepresentanteLegal); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioRepresentanteCalle#", DatosRepresentante.RL_Calle); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioRepresentanteNExterior#", DatosRepresentante.RL_NumeroExterior.ToString()); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioRepresentanteNInterior#", RepresentanteNumeroInterior); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioRepresentanteColonia#", DatosRepresentante.RL_Colonia); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioRepresentanteCP#", RepresentanteCodigoPostal); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioRepresentanteMunicipio#", DatosRepresentante.RL_Municipio); ContenidoCorreo = ContenidoCorreo.Replace("#DomicilioRepresentanteEstado#", DatosRepresentante.RL_EntidadFederativa); 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(); return(View()); } else { TempData["notice"] = Validacion; Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(Validacion, "Registro de inversionista: Quinto Paso"); Representante = (CatRepresentantesLegales)Session["NuevoAcceso_Representante"]; ViewBag.RFCRepresentante = Representante.RL_RFC; if (Empresa.E_RFC.Length == 12) { ViewBag.MostrarDocumento = true; } else { ViewBag.MostrarDocumento = false; } return(View("DatosAcreditacion")); } } catch (Exception ex) { TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.InnerException.ToString(), "Registro de inversionista: Quinto Paso"); if (Empresa.E_IdEmpresa > 0) { LogicaHome.L_EliminarIntentoRegistro(Empresa.E_IdEmpresa); } ViewBag.RFCRepresentante = Representante.RL_RFC; if (Empresa.E_RFC.Length == 12) { ViewBag.MostrarDocumento = true; } else { ViewBag.MostrarDocumento = false; } return(View("DatosAcreditacion")); } }
public ActionResult EliminarRepresentanteLegal(CatRepresentantesLegales Representante, string Accion, IEnumerable <HttpPostedFileBase> files) { CatEmpresas Empresa = new CatEmpresas(); MetodosGenerales MetodoGeneral = new MetodosGenerales(); CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario == null || Usuario.U_IdTipoUsuario != 2) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } try { LogicaEmpresas LogicaEmpresa = new LogicaEmpresas(); Empresa = LogicaEmpresa.L_DetallesEmpresa(Usuario.U_IdEmpresa); string Validacion = ""; string RFCAsociado = ""; RFCAsociado = Session["RFCAsociado"].ToString(); Validacion = MetodoGeneral.ValidarFIEL(files, Representante.RL_ClavePrivada, RFCAsociado); if (Validacion == "Validación exitosa") { if (LogicaRepresentanteLegal.L_EliminarRepresentanteLegal(Representante.RL_IdRepresentanteLegal)) { CatUsuarios UsuarioDelRepresentante = new CatUsuarios(); LogicaUsuarios LogicaUsuario = new LogicaUsuarios(); UsuarioDelRepresentante = LogicaUsuario.L_DetallesUsuarioPorRepresentante(Representante.RL_IdRepresentanteLegal); if (Usuario.U_IdUsuario == UsuarioDelRepresentante.U_IdUsuario) { TempData["notice"] = "El representante ha sido eliminado de manera existosa."; Session["TipoAlerta"] = "Correcto"; return(RedirectToAction("Logout", "Home")); } else { TempData["notice"] = "Se ha deshabilitado un representante legal para esta empresa."; Session["TipoAlerta"] = "Correcto"; Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario == null || Usuario.U_IdTipoUsuario != 2) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } else { List <CatRepresentantesLegales> ListaRepresentantesLegales = new List <CatRepresentantesLegales>(); ListaRepresentantesLegales = LogicaRepresentanteLegal.L_SeleccionarRepresentantesLegalesPorEmpresa(Usuario.U_IdEmpresa); ViewBag.CantidadRL = ListaRepresentantesLegales.Count(); return(View("Index", ListaRepresentantesLegales)); } } } else { TempData["notice"] = "Operación no concluida, favor de comunicarse con un administrador de SENER."; Session["TipoAlerta"] = "Error"; return(View("Eliminar", Representante)); } } else { TempData["notice"] = Validacion; Session["TipoAlerta"] = "Error"; return(View("Eliminar", Representante)); } } catch (Exception ex) { TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "RepresentantesLegales: EliminarRepresentanteLegal"); return(View("Eliminar", Representante)); } }
public ActionResult ActualizarRepresentanteLegal(CatRepresentantesLegales Representante, string Accion, IEnumerable <HttpPostedFileBase> files) { CatEmpresas Empresa = new CatEmpresas(); MetodosGenerales MetodoGeneral = new MetodosGenerales(); CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario == null || Usuario.U_IdTipoUsuario != 2) { TempData["notice"] = "La sesión ha expirado."; RedirectToAction("Logout", "Home"); } try { LogicaEmpresas LogicaEmpresa = new LogicaEmpresas(); Empresa = LogicaEmpresa.L_DetallesEmpresa(Usuario.U_IdEmpresa); string Validacion = ""; string RFCAsociado = ""; RFCAsociado = Session["RFCAsociado"].ToString(); Validacion = MetodoGeneral.ValidarFIEL(files, Representante.RL_ClavePrivada, RFCAsociado); if (Validacion == "Validación exitosa") { Representante.RL_IdEstatusSolicitudRepresentante = 1; Representante.RL_Activo = true; if (LogicaRepresentanteLegal.L_ActualizarRepresentanteLegal(Representante)) { try { string ext = ""; int num_archivo = 0; foreach (string inputTagName in Request.Files) { HttpPostedFileBase file = Request.Files[num_archivo]; num_archivo = num_archivo + 1; ext = Path.GetExtension(file.FileName); if (ext != ".cer" && ext != ".key") { if (file.ContentType.ToString().ToLower() == "application/pdf") { var fileName = Path.GetFileName(file.FileName); //string path = @"C:\Users\jesusalejandro.ramos\Desktop\repositorio\" + Representante.RL_IdRepresentanteL.ToString() + "-" + inputTagName + ext; string path = @"C:\inetpub\RepositorioVER\" + Representante.RL_IdRepresentanteLegal.ToString() + "-" + inputTagName + ext; file.SaveAs(path); } } } TempData["notice"] = "El representante ha sido actualizado, deberá esperar un correo con el resultado de la nueva validación."; Session["TipoAlerta"] = "Correcto"; } catch (Exception ex) { TempData["notice"] = "La información se ha actualizado pero uno o varios archivos no han sido enviados, comunícate con algun administrador de SENER."; Session["TipoAlerta"] = "Error"; } } else { TempData["notice"] = "El representante no ha sido actualizado, por favor revise la información."; Session["TipoAlerta"] = "Error"; } } else { TempData["notice"] = Validacion; Session["TipoAlerta"] = "Error"; } //Despliegue de vista if (Session["TipoAlerta"] == "Error") { CargarListasDesplegables(Representante.RL_CodigoPostal, Representante.RL_IdEntidadFederativa, Representante.RL_IdMunicipio, Representante.RL_IdLocalidad); return(View("Actualizar", Representante)); } else { return(RedirectToAction("Logout", "Home")); } } catch (Exception ex) { TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "RepresentantesLegales: ActualizarRepresentanteLegal"); return(View("Actualizar", Representante)); } }
public ActionResult InsertarRepresentanteLegal(CatRepresentantesLegales Representante, string Accion, IEnumerable <HttpPostedFileBase> files) { CatEmpresas Empresa = new CatEmpresas(); MetodosGenerales MetodoGeneral = new MetodosGenerales(); string FechaActual = DateTime.Now.ToString("yyyy-MM-dd HH.mm.ss"); CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario == null || Usuario.U_IdTipoUsuario != 2) { TempData["notice"] = "La sesión ha expirado."; RedirectToAction("Logout", "Home"); } try { LogicaEmpresas LogicaEmpresa = new LogicaEmpresas(); Empresa = LogicaEmpresa.L_DetallesEmpresa(Usuario.U_IdEmpresa); string Validacion = ""; string RFCAsociado = ""; RFCAsociado = Session["RFCAsociado"].ToString(); Validacion = MetodoGeneral.ValidarFIEL(files, Representante.RL_ClavePrivada, RFCAsociado); if (Validacion == "Validación exitosa") { int IdRepresentanteLegal = LogicaRepresentanteLegal.L_InsertarRepresentanteLegal(Representante, Usuario.U_IdEmpresa); if (IdRepresentanteLegal > 0) { string ext = ""; if (!Directory.Exists(@"C:\inetpub\RepositorioVER\Representantes\" + IdRepresentanteLegal.ToString())) { DirectoryInfo di = Directory.CreateDirectory(@"C:\inetpub\RepositorioVER\Representantes\" + IdRepresentanteLegal.ToString()); } int num_archivo = 0; foreach (string inputTagName in Request.Files) { HttpPostedFileBase file = Request.Files[num_archivo]; num_archivo = num_archivo + 1; ext = Path.GetExtension(file.FileName); if (ext != ".cer" && ext != ".key") { var fileName = Path.GetFileName(file.FileName); bool PdfValido = MetodoGeneral.ReadByteArrayFromFile(file); if (file.ContentType.ToString().ToLower() == "application/pdf" && PdfValido) { string path = @"C:\inetpub\RepositorioVER\Representantes\" + IdRepresentanteLegal.ToString() + "\\" + inputTagName + "_PDF_" + FechaActual + ext; //string path = @"C:\inetpub\RepositorioVER\" + IdRepresentanteLegal.ToString() + "-" + inputTagName + ext; file.SaveAs(path); } } } TempData["notice"] = "Se ha solicitado la autorización de un nuevo representante al cual, se le hará llegar un correo con la resolución del administrador. "; Session["TipoAlerta"] = "Correcto"; } else { TempData["notice"] = "No se pudo registrar el representante legal, por favor revise la información."; Session["TipoAlerta"] = "Error"; } } else { TempData["notice"] = Validacion; Session["TipoAlerta"] = "Error"; } //Despliegue de vista if (Session["TipoAlerta"] == "Error") { CargarListasDesplegables(Representante.RL_CodigoPostal, Representante.RL_IdEntidadFederativa, Representante.RL_IdMunicipio, Representante.RL_IdLocalidad); return(View("Insertar", Representante)); } else { Usuario = (CatUsuarios)Session["Usuario"]; if (Usuario == null || Usuario.U_IdTipoUsuario != 2) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } List <CatRepresentantesLegales> ListaRepresentantesLegales = new List <CatRepresentantesLegales>(); ListaRepresentantesLegales = LogicaRepresentanteLegal.L_SeleccionarRepresentantesLegalesPorEmpresa(Usuario.U_IdEmpresa); ViewBag.CantidadRL = ListaRepresentantesLegales.Count(); return(View("Index", ListaRepresentantesLegales)); } } catch (Exception ex) { TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "RepresentantesLegales: InsertarRepresentanteLegal"); return(View("Insertar", Representante)); } }
//[HttpPost] public ActionResult EjecutarAccionUsuarioSENER(CatUsuarios UsuarioPorEditar, string Accion, int IdUsuarioPorEditar, bool IdEstatusUsuario) { CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; CatEmpresas Empresa = new CatEmpresas(); MetodosGenerales MetodoGeneral = new MetodosGenerales(); try { if (Usuario == null || Usuario.U_IdTipoUsuario != 4) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } LogicaEmpresas LogicaEmpresa = new LogicaEmpresas(); LogicaUsuarios LogicaUsuario = new LogicaUsuarios(); Empresa = LogicaEmpresa.L_DetallesEmpresa(Usuario.U_IdEmpresa); switch (Accion) { case "Insertar": CatUsuarios UsuarioExistente = LogicaUsuario.L_DetallesUsuarioPorNombreUnicamente(UsuarioPorEditar.U_Nombre); if (UsuarioExistente.U_IdUsuario != null && UsuarioExistente.U_IdUsuario > 0) { TempData["notice"] = "Ya existe una usuario con el mismo nombre, por favor elige otro."; Session["TipoAlerta"] = "Error"; CargarListasDesplegables(null, null); return(View("InsertarUsuarioSENER", UsuarioPorEditar)); } else { if (UsuarioPorEditar.U_Password != UsuarioPorEditar.U_ConfirmarPassword) { TempData["notice"] = "La contraseñas no coinciden."; Session["TipoAlerta"] = "Error"; CargarListasDesplegables(null, null); return(View("InsertarUsuarioSENER", UsuarioPorEditar)); } else { UsuarioPorEditar.U_Activo = true; if (LogicaUsuario.L_InsertarUsuarioSENER(UsuarioPorEditar, Usuario.U_IdEmpresa)) { TempData["notice"] = "El usuario ha sido creado."; Session["TipoAlerta"] = "Correcto"; return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } else { TempData["notice"] = "Error de sistema."; Session["TipoAlerta"] = "Error"; CargarListasDesplegables(null, null); return(View("InsertarUsuarioSENER", UsuarioPorEditar)); } } } case "CambiarEstatus": UsuarioPorEditar.U_IdUsuario = IdUsuarioPorEditar; UsuarioPorEditar.U_Activo = !IdEstatusUsuario; if (LogicaUsuario.L_ActualizarEstatusUsuarioSENER(UsuarioPorEditar.U_IdUsuario, UsuarioPorEditar.U_Activo)) { if (UsuarioPorEditar.U_IdUsuario == Usuario.U_IdUsuario) { return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } else { TempData["notice"] = "Se realizó el cambio de estatus."; Session["TipoAlerta"] = "Correcto"; return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } } else { TempData["notice"] = "Operación no concluida."; Session["TipoAlerta"] = "Error"; return(RedirectToAction("Eliminar", new { IdUsuario = UsuarioPorEditar.U_IdUsuario })); } default: return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } } catch (Exception ex) { TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "Usuarios: EjecutarAccionUsuario(" + Accion + ")"); return(RedirectToAction("Actualizar", "Administrador")); } }