public static void UpdateEvento(int Id, string Descripcion, DateTime FechaInicio, DateTime FechaTermino,
                                        int Status, string Asunto, string Ubicacion, int Etiqueta, int Tipo, int InstId, bool Borrado)
        {
            if (Tipo == 0)
            {
                Factory            fac        = new Factory();
                Entidad.Calendario calendario = new Entidad.Calendario();
                if (Descripcion == null)
                {
                    Descripcion = "Sin descripción";
                }
                calendario.Id           = Id;
                calendario.Asunto       = Asunto;
                calendario.Descripcion  = Descripcion;
                calendario.Etiqueta     = Etiqueta;
                calendario.FechaInicio  = FechaInicio;
                calendario.FechaTermino = FechaTermino;
                //ver como sacar la institucion
                calendario.InstId = InstId;
                calendario.Status = Status;
                calendario.Tipo   = Tipo;
                if (Ubicacion == null)
                {
                    Ubicacion = "";
                }
                calendario.Ubicacion = Ubicacion;
                calendario.Url       = "";

                calendario.Nuevo      = false;
                calendario.Modificado = true;
                fac.Update <Entidad.Calendario>(calendario, setCnsWebLun);
                if (NegocioMySQL.Utiles.ENVIA_CORREO_EVENTO(InstId) == "1")
                {
                    List <UsuariosCorreos> correos = UsuariosCorreos.ListaUsuariosCorreosPorInstId(InstId);

                    List <string> listaCorreos = new List <string>();
                    if (correos != null && correos.Count > 0)
                    {
                        foreach (UsuariosCorreos us in correos)
                        {
                            listaCorreos.Add(us.Correo);
                        }
                    }
                    if (listaCorreos != null && listaCorreos.Count > 0)
                    {
                        NegocioMySQL.ServidorCorreo cr          = new NegocioMySQL.ServidorCorreo();
                        Entidad.Institucion         institucion = NegocioMySQL.Institucion.ObtenerInstitucionPorId(InstId);
                        string      fecha1 = Utiles.ConstruyeFecha(FechaInicio);
                        string      fecha2 = Utiles.ConstruyeFecha(FechaTermino);
                        MailMessage mnsj   = NegocioMySQL.Utiles.ConstruyeMensajeCrearEvento(institucion.Nombre, Asunto, fecha1 + " " + fecha2, Ubicacion, listaCorreos, false);
                        cr.Enviar(mnsj);
                    }
                }
            }
            else
            {
                throw new Exception("No puede Modificar un Evento del Tipo Proyecto.");
            }
        }
        public static List <UsuariosCorreos> ListaUsuariosCorreosPorInstId(int instId)
        {
            List <UsuariosCorreos> retorno = new List <UsuariosCorreos>();

            try
            {
                List <Entidad.AutentificacionUsuario> listaUsuarios = NegocioMySQL.AutentificacionUsuario.ListarUsuariosPorInstId(instId);
                if (listaUsuarios != null && listaUsuarios.Count > 0)
                {
                    foreach (Entidad.AutentificacionUsuario au in listaUsuarios)
                    {
                        if (au.CorreoElectronico != "")
                        {
                            if (!retorno.Exists(p => p.Correo == au.CorreoElectronico))
                            {
                                UsuariosCorreos us = new UsuariosCorreos();
                                us.Correo = au.CorreoElectronico;
                                //us.Nombre = au.Persona.Nombres + " " + au.Persona.ApellidoPaterno + " " + au.Persona.ApellidoMaterno;
                                Entidad.Persona persona = NegocioMySQL.Persona.ObtenerPersonaPorUsuId(au.Id);
                                if (persona != null && persona.Id > 0)
                                {
                                    us.Nombre = persona.Nombres + " " + persona.ApellidoPaterno + " " + persona.ApellidoMaterno;
                                }
                                else
                                {
                                    us.Nombre = au.NombreUsuario;
                                }
                                retorno.Add(us);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Utiles.Log(ex);
            }

            return(retorno);
        }