public JsonResult NotificarEnvioTramite(string HomoclaveEnviada, string ProyectoEnviado, string RFCRL)
        {
            try
            {
                EstatusTramite EstatusTramiteEnviado = new EstatusTramite();
                EstatusTramiteEnviado.estatus       = "ENVIADO";
                EstatusTramiteEnviado.fechaRegistro = DateTime.Now.ToString();
                EstatusTramiteEnviado.nota          = "Enviado a dependencia desde ENREL";
                EstatusTramiteEnviado.resolucion    = "PENDIENTE";

                int IdProyecto = Convert.ToInt32(ProyectoEnviado);

                LogicaTramite.L_ActualizarEstatusTramiteDesdeENREL(IdProyecto, HomoclaveEnviada);
                WSBPM_Nivel3.ProcessNivel3PortTypeClient EnviarEstatus = new WSBPM_Nivel3.ProcessNivel3PortTypeClient();
                EnviarEstatus.receiveTask(ProyectoEnviado, HomoclaveEnviada, "enviado", 0);
                MetodoGeneral.RegistroDeError("IDPROYECTO = '" + IdProyecto.ToString() + "', HOMOCLAVE ='" + HomoclaveEnviada + "', ESTATUS = 'enviado'", "Invocación Nivel 3 - ");
                MetodoGeneral.RegistroDeError(EnviarEstatus.Endpoint.Address.ToString(), "Invocación Nivel 3 - ");
                string FechaHora = DateTime.Now.ToString("dd / MMM / yyy hh:mm:ss");

                //Enviar correo a dependencia y RL:
                int IdProyectoRecibido = Convert.ToInt32(IdProyecto);
                NotificacionInicioTramite DatosNotificacion = new NotificacionInicioTramite();
                DatosNotificacion = LogicaProyecto.L_SeleccionarDatosNotificacionInicioTramite(IdProyecto, HomoclaveEnviada, RFCRL);

                //Primer Correo (Dependencia):
                MailMessage email = new MailMessage("*****@*****.**", DatosNotificacion.CorreoResponsable);
                email.To.Add(new MailAddress(ConfigurationManager.AppSettings["CorreoAdministrador"].ToString()));
                email.Subject = "Notificación de inicio de trámite desde ENREL";

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

                //Primer Correo - Datos del correo
                ContenidoCorreo = ContenidoCorreo.Replace("#IdGlobalMacro#", DatosNotificacion.IdGlobal);
                ContenidoCorreo = ContenidoCorreo.Replace("#FechaHora#", FechaHora);
                ContenidoCorreo = ContenidoCorreo.Replace("#Tecnologia#", DatosNotificacion.Tecnologia);
                ContenidoCorreo = ContenidoCorreo.Replace("#Homoclave#", DatosNotificacion.HomoclaveGeneral);
                ContenidoCorreo = ContenidoCorreo.Replace("#Dependencia#", DatosNotificacion.Dependencia);
                ContenidoCorreo = ContenidoCorreo.Replace("#RFCRL#", RFCRL);

                AlternateView htmlView = AlternateView.CreateAlternateViewFromString(ContenidoCorreo, null, "text/html");

                //Primer Correo - 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();

                //Segundo Correo (RL):
                email = new MailMessage("*****@*****.**", DatosNotificacion.CorreoRL);
                email.To.Add(new MailAddress(ConfigurationManager.AppSettings["CorreoAdministrador"].ToString()));
                email.Subject = "Notificación de inicio de trámite desde ENREL";

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

                //Segundo Correo - Datos del correo
                ContenidoCorreo = ContenidoCorreo.Replace("#IdGlobalMacro#", DatosNotificacion.IdGlobal);
                ContenidoCorreo = ContenidoCorreo.Replace("#FechaHora#", FechaHora);
                ContenidoCorreo = ContenidoCorreo.Replace("#Tecnologia#", DatosNotificacion.Tecnologia);
                ContenidoCorreo = ContenidoCorreo.Replace("#Homoclave#", DatosNotificacion.HomoclaveGeneral);
                ContenidoCorreo = ContenidoCorreo.Replace("#Dependencia#", DatosNotificacion.Dependencia);
                ContenidoCorreo = ContenidoCorreo.Replace("#NombreRL#", DatosNotificacion.NombreRL);

                htmlView = AlternateView.CreateAlternateViewFromString(ContenidoCorreo, null, "text/html");

                //Segundo Correo - Obtener imágenes:

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

                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;

                smtp                       = new SmtpClient();
                smtp.Host                  = "172.16.70.110";
                smtp.Port                  = 25;
                smtp.EnableSsl             = false;
                smtp.UseDefaultCredentials = false;
                smtp.Send(email);
                email.Dispose();

                return(new JsonResult
                {
                    Data = "ok"
                });
            }
            catch (Exception ex)
            {
                MetodoGeneral.RegistroDeError(ex.Message, "Proyectos: Enviar Trámite a BPM");
                return(new JsonResult
                {
                    Data = "error"
                });
            }
        }
Ejemplo n.º 2
0
        public int D_ActualizarEstatusTramite(EstatusTramite EstatusTramite, int IdProyecto, string HomoclaveAsignada, string idGlobalTramite)
        {
            int IdTecnologia;

            DtAuxiliar.Rows.Clear();
            DtAuxiliar.Columns.Clear();
            SqlConnection Conexion = MetodoGeneral.EstablecerConexionBD();
            int           IdEstatusTramiteENREL;
            string        Observacion;
            int           Prorroga;

            switch (EstatusTramite.estatus)
            {
            case "ENVIADO":
                IdEstatusTramiteENREL = 3;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;

            case "RECIBIDO":
                IdEstatusTramiteENREL = 4;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;

            case "INICIADO":
                IdEstatusTramiteENREL = 5;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;

            case "RECHAZADO":
                IdEstatusTramiteENREL = 11;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;

            case "EN PROCESO":
                IdEstatusTramiteENREL = 6;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;

            case "DETENIDO":
                IdEstatusTramiteENREL = 7;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;

            case "CANCELADO":
                IdEstatusTramiteENREL = 12;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;

            case "TERMINADO":
                string opcion = EstatusTramite.resolucion.ToUpper();
                switch (opcion)
                {
                case "ACEPTADO": IdEstatusTramiteENREL = 9; break;

                case "RECHAZADO": IdEstatusTramiteENREL = 16; break;

                default: IdEstatusTramiteENREL = 14; break;
                }
                Observacion = EstatusTramite.nota;
                Prorroga    = 0;
                break;

            case "PREVENCION":
                IdEstatusTramiteENREL = 8;
                Observacion           = "Se agregaron " + EstatusTramite.nota + " días de prórroga";
                Prorroga = 0;
                //Prorroga = Convert.ToInt16(EstatusTramite.nota);
                break;

            case "PRORROGA":
                IdEstatusTramiteENREL = 13;
                Observacion           = "Se agregaron " + EstatusTramite.nota + " días de prórroga";
                Prorroga = 0;
                try { Prorroga = Convert.ToInt32(EstatusTramite.nota); }
                catch { }
                break;

            default:
                IdEstatusTramiteENREL = 14;
                if (EstatusTramite.nota != null)
                {
                    Observacion = EstatusTramite.nota;
                }
                else
                {
                    Observacion = "Sin información";
                };
                Prorroga = 0;
                break;
            }

            SQLComandoAuxiliar = MetodoGeneral.CrearLlamadaStoredProcedure("SpActualizarEstatusTramite", Conexion);
            SQLComandoAuxiliar.Parameters.AddWithValue("@IdProyecto", IdProyecto);
            SQLComandoAuxiliar.Parameters.AddWithValue("@HomoclaveAsignada", HomoclaveAsignada);
            SQLComandoAuxiliar.Parameters.AddWithValue("@IdEstatus", IdEstatusTramiteENREL);
            SQLComandoAuxiliar.Parameters.AddWithValue("@Resolutivo", EstatusTramite.resolucion);
            string Fecha = (Convert.ToDateTime(EstatusTramite.fechaRegistro)).ToString("dd-MM-yyyy HH:mm:ss");

            SQLComandoAuxiliar.Parameters.AddWithValue("@FechaRealDeActividad", Fecha);
            //SQLComandoAuxiliar.Parameters.AddWithValue("@FechaRealDeActividad", DateTime.ParseExact(EstatusTramite.fechaRegistro,"dd-MM-yyyy HH:mm:ss",System.Globalization.CultureInfo.InvariantCulture));
            SQLComandoAuxiliar.Parameters.AddWithValue("@Observacion", Observacion);
            SQLComandoAuxiliar.Parameters.AddWithValue("@DiasAgregados", Prorroga);
            SQLComandoAuxiliar.Parameters.AddWithValue("@IdGlobalTramite", idGlobalTramite);

            SQLComandoAuxiliar.ExecuteNonQuery();
            SqlDataAdapter adp = new SqlDataAdapter(SQLComandoAuxiliar);

            SQLComandoAuxiliar.Connection.Dispose();
            return(1);
        }