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"));
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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"));
            }
        }
Exemple #4
0
        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"));
            }
        }
Exemple #5
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 }));
            }
        }
        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"));
                }
            }
        }
Exemple #7
0
        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"));
            }
        }
Exemple #8
0
        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));
            }
        }
Exemple #9
0
        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));
            }
        }
Exemple #10
0
        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));
            }
        }
Exemple #11
0
        //[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"));
            }
        }