public bool ModificarNotasRapidas(NotasRapidas NotasRapidas) { NotasRapidas Notas = GetNotasRapidasByNotaRapidaId(NotasRapidas.NotaRapidaId); if (Notas != null) { try { Notas.FechaPublicacion = UtilitiesCommons.ObtenerHorayFechaActualLocal(); Notas.FechaFinalizacion = NotasRapidas.FechaFinalizacion; Notas.Titulo = NotasRapidas.Titulo; Notas.Mensaje = NotasRapidas.Mensaje; //NotasRapidas.UsuarioPublica = ;// No se puede modificar nunca Notas.Estado = (byte)NotasRapidas.Estado; BD.Entry(Notas).State = EntityState.Modified; BD.SaveChanges(); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }
// metodo para crear una NotasRapidas public bool GuardarNotaRapida(NotasRapidas NotasRapidas) { if (NotasRapidas != null) {// si el objeto es diferente de nulo try { Bll_Personas Bll_Personas = new Bll_Personas(); NotasRapidas.FechaPublicacion = UtilitiesCommons.ObtenerHorayFechaActualLocal(); var IdUsuario = (int)System.Web.HttpContext.Current.Session["IdUsuarioTesis"]; NotasRapidas.UsuarioPublica = Bll_Personas.GetPersonaByPersonaId(IdUsuario).PersonaId; BD.NotasRapidas.Add(NotasRapidas); BD.SaveChanges(); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }
public bool GuardarCalificacion(ListaPreguntas ListaPreguntas) { try { int CursoId = ListaPreguntas.ListaRespuestas[0].CursoId; int EstudianteEnSesionId = (int)HttpContext.Current.Session["IdUsuarioTesis"]; foreach (var item in ListaPreguntas.ListaRespuestas) { CalificacionDocenteCursoEstudiante CalificacionDocenteCursoEstudiante = new CalificacionDocenteCursoEstudiante(); CalificacionDocenteCursoEstudiante.CursoId = item.CursoId; CalificacionDocenteCursoEstudiante.EstudianteId = EstudianteEnSesionId; CalificacionDocenteCursoEstudiante.PreguntasCalificacionCursoId = item.PreguntasCalificacionCursoId; CalificacionDocenteCursoEstudiante.RespuestaPregunta = item.RespuestaPregunta; CalificacionDocenteCursoEstudiante.FechaEvaluacion = UtilitiesCommons.ObtenerHorayFechaActualLocal(); BD.CalificacionDocenteCursoEstudiante.Add(CalificacionDocenteCursoEstudiante); BD.SaveChanges(); } // Se deshabilita el boton de caliifcacion y se activa la opcion de descargar certificado para el estudiante CursoEstudiante CursoEstudiante = BD.CursoEstudiante.Where(x => x.CursoId == CursoId && x.EstudianteId == EstudianteEnSesionId).FirstOrDefault(); CursoEstudiante.EstadoEvaluacionCursoyDocente = (byte)EnumEstadoEvaluacionCursoyDocente.Realizada; BD.Entry(CursoEstudiante).State = EntityState.Modified; BD.SaveChanges(); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } }
public bool MarcarCorreoComoLeidoBySistemaCorreoId(SistemaCorreo SistemaCorreo) { try { if (SistemaCorreo != null) { if (SistemaCorreo.EstadoLectura == (byte)EnumEstadoLecturaCorreo.SinLeer && SistemaCorreo.DestinoId == (int)HttpContext.Current.Session["IdUsuarioTesis"]) { SistemaCorreo.EstadoLectura = (byte)EnumEstadoLecturaCorreo.Leido; SistemaCorreo.FechaLectura = UtilitiesCommons.ObtenerHorayFechaActualLocal(); BD.Entry(SistemaCorreo).State = EntityState.Modified; BD.SaveChanges(); ObtenerCorreosSinLeerByPersonaId(); return(true); } } return(false); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } }
public bool GuardarForoTema(ForoTema ForoTema) { if (ForoTema != null) {// si el objeto es diferente de nulo try { ForoTema.DocenteId = (int)HttpContext.Current.Session["IdUsuarioTesis"]; ForoTema.FechaRegistro = UtilitiesCommons.ObtenerHorayFechaActualLocal(); ForoTema.Estado = (byte)EnumEstados.Activo; BD.ForoTema.Add(ForoTema); BD.SaveChanges(); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }
public bool Matricularse(int CursoId, string Nombre, string Codigo) { if (CursoId > 0 && Nombre.Length > 3 && Codigo.Length > 0) {// si el objeto es diferente de nulo try { int EstudianteId = (int)HttpContext.Current.Session["IdUsuarioTesis"]; CursoEstudiante CursoEstudiante = new CursoEstudiante(); CursoEstudiante.CursoId = CursoId; CursoEstudiante.EstudianteId = EstudianteId; CursoEstudiante.FechaMatricula = UtilitiesCommons.ObtenerHorayFechaActualLocal(); CursoEstudiante.AprobacionCurso = (byte)EnumAprobacionCurso.Cursando; CursoEstudiante.EstadoEvaluacionCursoyDocente = (byte)EnumEstadoEvaluacionCursoyDocente.Pendiente; CursoEstudiante.Nota1 = 0; CursoEstudiante.Nota2 = 0; CursoEstudiante.Nota3 = 0; CursoEstudiante.Estado = (byte)EnumEstados.Activo; BD.CursoEstudiante.Add(CursoEstudiante); BD.SaveChanges(); HttpContext.Current.Session["CursosMatriculadosActivos"] = (int)HttpContext.Current.Session["CursosMatriculadosActivos"] + 1; string Mesnaje = $"Buen dia señor(a): { HttpContext.Current.Session["NombreUsuarioTesis"]}.\n" + $"Se informa que su matricula en el curso [ {Nombre} ] con codigo: [ { Codigo} ], se ha realizado de manera exitosa. \n" + $"Fecha Matricula: {UtilitiesCommons.ObtenerHorayFechaActualLocal()} \n " + "Gracias por su pago, le deseamos exito en este nuevo curso. \n " + "Despues de 24 horas, el curso estara disponible en su perfil. \n" + "Feliz resto de dia."; string Email = new Bll_Personas().GetEmailByPersonaId(EstudianteId); Bll_Email Bll_Email = new Bll_Email(); Bll_Email.EnviarCorreo(Email, "Matricula Exitosa", Mesnaje); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }
// Metodo para listar las NotasRapidas existentes que se encentren en estado activo y la fecha este vigente public List <NotasRapidas> VisualizarNotas() { try { DateTime HoraActual = UtilitiesCommons.ObtenerHorayFechaActualLocal(); List <NotasRapidas> ListNotasRapidas = BD.NotasRapidas.Where(c => c.Estado == (byte)EnumEstados.Activo).Where(c => c.FechaFinalizacion >= HoraActual).Include(x => x.Personas).ToList(); return(ListNotasRapidas); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(null); } }
// metodo que permite resgitar las excepciones en un archivo txt public static void EscribirLog(string log) { string ruta_logs = String.Format(@"" + ConfigurationManager.AppSettings.Get("Ruta_Logs"));// lee la propiedad ruta_logs del webconfig; if (!System.IO.File.Exists(ruta_logs)) { if (!Directory.Exists(ruta_logs)) { Directory.CreateDirectory(ruta_logs);// se crea el directorio // se crea el archivo using (StreamWriter mylogs = System.IO.File.AppendText(ruta_logs + "LOGS_TESIS.txt")) //se crea el archivo { mylogs.Close(); } } } string Mesnaje = $"Se ha presentado el siguiente error en Cortec: \n\n" + $"ERROR: {log} \n" + $"Hora: {UtilitiesCommons.ObtenerHorayFechaActualLocal()} \n\n" + $"Usuario en sesion: {HttpContext.Current.Session["NombreUsuarioTesis"]} \n"; Bll_Email Bll_Email = new Bll_Email(); Bll_Email.EnviarCorreo(ConfigurationManager.AppSettings.Get("EmailDestinoErrores"), "Error en sistema Cortec", Mesnaje); try { //Pass the filepath and filename to the StreamWriter Constructor StreamWriter sw = new StreamWriter(ruta_logs + "LOGS_TESIS.txt", true); //Write a line of text sw.WriteLine("\n"); sw.WriteLine("-------------------------------------------------------------------------------------------------"); sw.WriteLine("ERROR TESIS [ " + UtilitiesCommons.ObtenerHorayFechaActualLocal() + " ] : "); sw.WriteLine("\n"); sw.WriteLine(log); sw.Close(); } catch (Exception e) { // throw; } }
public bool EnviarCorreo(SistemaCorreo SistemaCorreo) { try { SistemaCorreo.FechaEnvio = UtilitiesCommons.ObtenerHorayFechaActualLocal(); SistemaCorreo.RemitenteId = (int)HttpContext.Current.Session["IdUsuarioTesis"]; BD.SistemaCorreo.Add(SistemaCorreo); BD.SaveChanges(); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } }
public static void VerificarPeriodoDeEvaluacion() { try { DateTime fechaQuemada = DateTime.ParseExact("31-12-2021", "dd-MM-yyyy", CultureInfo.InvariantCulture);// Permite Convertir de forma Excata la el formato de fecha DateTime FechActual = UtilitiesCommons.ObtenerHorayFechaActualLocal().Date; if (fechaQuemada < FechActual) // Si la fecha quemada es menor a la fecha actual { HttpContext.Current.Response.Redirect("Login/Expiracion"); // si la sesion no existe, lo direcciona al login } } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); } }
public bool GuardarParticipacionEnForoTema(int ForoTemaId, string Mensaje, string NombreDocente, string DocenteId, string Curso, string Tema) { if (ForoTemaId > 0 && Mensaje != null) {// si el objeto es diferente de nulo try { ParticipacionEnForoTema ParticipacionEnForoTema = new ParticipacionEnForoTema(); ParticipacionEnForoTema.ParticipanteId = (int)HttpContext.Current.Session["IdUsuarioTesis"]; ParticipacionEnForoTema.ForoTemaId = ForoTemaId; ParticipacionEnForoTema.Mensaje = Mensaje; ParticipacionEnForoTema.FechaRegistro = UtilitiesCommons.ObtenerHorayFechaActualLocal(); BD.ParticipacionEnForoTema.Add(ParticipacionEnForoTema); BD.SaveChanges(); string Mesnaje = $"Buen dia Docente: {NombreDocente}.\n\n" + $"Se informa que se ha registrado una participacion en uno de los foros bajo su direccion, los datos son : \n\n" + $"Nombre Curso: {Curso}\n" + $"Nombre Participante: {HttpContext.Current.Session["NombreUsuarioTesis"]} \n" + $"Tema Tratado: {Tema}\n" + $"Hora de la participacion: {UtilitiesCommons.ObtenerHorayFechaActualLocal()}\n" + $"Mensaje: {Mensaje}\n\n" + "Feliz resto de dia. \n\n" + "Nota: Este mensaje es enviado por el sistema de forma automatica, favor No responderlo."; string Email = new Bll_Personas().GetEmailByPersonaId(Int32.Parse(DocenteId)); Bll_Email Bll_Email = new Bll_Email(); Bll_Email.EnviarCorreo(Email, "Nueva Participacion en foro", Mesnaje); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }
// Metodo para registrar los intentos de accesos al sistema public void RegistroIngresoAlSitema(string UsuarioRed, EnumEstadoAcceso Estado) { try { IngresosAlSistema IngresosAlSistema = new IngresosAlSistema(); IngresosAlSistema.Usuario = UsuarioRed; IngresosAlSistema.FechaIntento = UtilitiesCommons.ObtenerHorayFechaActualLocal(); IngresosAlSistema.IP_Origen = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; IngresosAlSistema.EstadoAcceso = (byte)Estado; BD.IngresosAlSistema.Add(IngresosAlSistema); BD.SaveChanges(); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); } }
public bool GuardarMaterialDidactico(MaterialDidactico MaterialDidactico, HttpPostedFileBase file) { if (MaterialDidactico.CursoId > 0) {// si el objeto es diferente de nulo if (file != null && file.ContentLength > 0) { BinaryReader bx = new BinaryReader(file.InputStream); byte[] contenido = bx.ReadBytes(file.ContentLength); string filename_con_extension = file.FileName; // string filename = Path.GetFileNameWithoutExtension(filename_con_extension); string ContentType = file.ContentType; string extencion = Path.GetExtension(file.FileName); MaterialDidactico.CursoId = MaterialDidactico.CursoId; MaterialDidactico.DocenteId = (int)System.Web.HttpContext.Current.Session["IdUsuarioTesis"]; MaterialDidactico.Contenido = contenido; MaterialDidactico.Filename = MaterialDidactico.Filename + extencion; MaterialDidactico.ContentType = ContentType; MaterialDidactico.Version = 1; MaterialDidactico.FechaRegistro = UtilitiesCommons.ObtenerHorayFechaActualLocal(); MaterialDidactico.Estado = (byte)EnumEstados.Activo; } try { BD.MaterialDidactico.Add(MaterialDidactico); BD.SaveChanges(); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }
public bool GuardarCronogramaActividadesCurso(CronogramaActividadesCurso CronogramaActividadesCurso) { if (CronogramaActividadesCurso != null) {// si el objeto es diferente de nulo try { CronogramaActividadesCurso.FechaPublicacion = UtilitiesCommons.ObtenerHorayFechaActualLocal(); BD.CronogramaActividadesCurso.Add(CronogramaActividadesCurso); BD.SaveChanges(); return(true); } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }
// Metodo que arma el Email y lo envia public bool EnviarCorreo(string EmailDestino, string Asunto, string Mensaje) { string EmailRemitente = ConfigurationManager.AppSettings.Get("EmailRemitente"); string PasswordEmailRemitente = ConfigurationManager.AppSettings.Get("PasswordEmailRemitente"); int PuertoEmail = int.Parse(ConfigurationManager.AppSettings.Get("EmailPuerto")); string EmailHost = ConfigurationManager.AppSettings.Get("EmailHost"); // para enviar correos electronicos, se debe crear una cuenta de gmail (preferiblemente), iniciar sesion en ella y luego dirigirse a esta direccion // www.google.com/settings/security/lesssecureapps // y darle en la opcion Permitir el acceso de aplicaciones menos seguras: SÍ // luego colocar los datos de la cuenta y la clave MailMessage mensaje = new System.Net.Mail.MailMessage(); mensaje.To.Add("*****@*****.**"); mensaje.To.Add(EmailDestino); mensaje.Subject = Asunto; mensaje.SubjectEncoding = System.Text.Encoding.UTF8; mensaje.Body = Mensaje; mensaje.BodyEncoding = System.Text.Encoding.UTF8; mensaje.IsBodyHtml = false; mensaje.From = new MailAddress(EmailRemitente, "Sistema - TESIS", System.Text.Encoding.UTF8); mensaje.Priority = MailPriority.Normal; System.Net.Mail.SmtpClient SmtpClient = new System.Net.Mail.SmtpClient(); SmtpClient.UseDefaultCredentials = false; SmtpClient.Credentials = new System.Net.NetworkCredential(EmailRemitente, PasswordEmailRemitente); // ususario y clave de la cuenta desde la que se envian los msj SmtpClient.Port = PuertoEmail; SmtpClient.EnableSsl = true; SmtpClient.Host = EmailHost; // se llenan los datos de evidencia de correo EvidenciaCorreo EvidenciaCorreo = new EvidenciaCorreo(); EvidenciaCorreo.Asunto = Asunto; EvidenciaCorreo.EmailDestino = EmailDestino; EvidenciaCorreo.EmailRemitente = EmailRemitente; EvidenciaCorreo.Fecha = UtilitiesCommons.ObtenerHorayFechaActualLocal(); EvidenciaCorreo.Mensaje = Mensaje; /*-------------------------ENVIO DE CORREO----------------------*/ try { //Se envia el mensaje SmtpClient.Send(mensaje); SmtpClient.Dispose(); EvidenciaCorreo.EstadoEnvio = "Enviado Exitoso"; Bll_EvidenciaCorreo.GuardarEvidenciaCorreo(EvidenciaCorreo); return(true); } catch (System.Net.Mail.SmtpException Error)// no puede detener el proceso por lo tanto no se coloca un Throw { EvidenciaCorreo.EstadoEnvio = "Enviado Fallido"; Bll_EvidenciaCorreo.GuardarEvidenciaCorreo(EvidenciaCorreo); //Bll_File.EscribirLog(Error.ToString()); return(true); } }
public bool ImprimirCertificado(int CursoId, int EstudianteId = 0) { try { Bll_Login Bll_Login = new Bll_Login(); Bll_Cursos Bll_Cursos = new Bll_Cursos(); Bll_Personas Bll_Personas = new Bll_Personas(); int DuracionCookie = 15; Personas Persona = null; CertificadoEstudianteCurso CertificadoEstudianteCurso = null; if (EstudianteId == 0) { EstudianteId = (int)HttpContext.Current.Session["IdUsuarioTesis"]; } CertificadoEstudianteCurso = ObtenerCertificadoEstudianteCursoByEstudianteIdCursoId(CursoId, EstudianteId); if (CertificadoEstudianteCurso != null) { Bll_Login.CrearCookie("Respuesta", "true", DuracionCookie); Bll_Login.CrearCookie("NombreCurso", CertificadoEstudianteCurso.Cursos.Nombre, DuracionCookie); Bll_Login.CrearCookie("CodigoCurso", CertificadoEstudianteCurso.Cursos.Codigo, DuracionCookie); Bll_Login.CrearCookie("NombreEstudiante", CertificadoEstudianteCurso.Personas.NombreCompleto, DuracionCookie); Bll_Login.CrearCookie("TipoDocumentoEstudiante", CertificadoEstudianteCurso.Personas.TipoDocumento.ToString(), DuracionCookie); Bll_Login.CrearCookie("NumeroDocumentoEstudiante", CertificadoEstudianteCurso.Personas.NumDocumento, DuracionCookie); Bll_Login.CrearCookie("DuracionHoras", CertificadoEstudianteCurso.Cursos.DuracionHoras.ToString(), DuracionCookie); return(true); } else { Cursos Curso = Bll_Cursos.GetCursoByCursoId(CursoId); Persona = Bll_Personas.GetPersonaByPersonaId(EstudianteId); EnumTipoDocumento TipoDocumento = (EnumTipoDocumento)Persona.TipoDocumento; if (Curso != null && Persona != null) { CertificadoEstudianteCurso certificadoEstudianteCurso = new CertificadoEstudianteCurso(); certificadoEstudianteCurso.CursoId = Curso.CursoId; certificadoEstudianteCurso.EstudianteId = EstudianteId; certificadoEstudianteCurso.FechaAprobacion = UtilitiesCommons.ObtenerHorayFechaActualLocal(); BD.CertificadoEstudianteCurso.Add(certificadoEstudianteCurso); BD.SaveChanges(); Bll_Login.CrearCookie("Respuesta", "true", DuracionCookie); Bll_Login.CrearCookie("NombreCurso", Curso.Nombre, DuracionCookie); Bll_Login.CrearCookie("CodigoCurso", Curso.Codigo, DuracionCookie); Bll_Login.CrearCookie("NombreEstudiante", Persona.NombreCompleto, DuracionCookie); Bll_Login.CrearCookie("TipoDocumentoEstudiante", TipoDocumento.ToString(), DuracionCookie); Bll_Login.CrearCookie("NumeroDocumentoEstudiante", Persona.NumDocumento, DuracionCookie); return(true); } else { Bll_Login.CrearCookie("Respuesta", "false", DuracionCookie);// si NO encontro el codigo se envia false return(false); } } } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } }
public bool GuardarPersona(Personas Persona) { if (Persona != null) {// si el objeto es diferente de nulo try { if (!ValidaEmailExiste(Persona.Email)) { Bll_Codigo Bll_Codigo = new Bll_Codigo(); int Codigo = Bll_Codigo.ObtenerCodigo(); Persona.CodigoInstitucional = "Cod-" + Codigo; Persona.Clave = Persona.Clave.ComputeHash(HashType.SHA256); Persona.FechaIngreso = UtilitiesCommons.ObtenerHorayFechaActualLocal().Date; Persona.Estado = (byte)EnumEstados.Activo; Persona.RolAcademico = (byte)EnumRolAcademico.Estudiante; // ----------- Aca se guarda la imagen por defecto de Usuario sin Foto ----------- string dataFile = HttpContext.Current.Server.MapPath("~/Imagenes/Sin Foto.jpg"); FileStream foto = new FileStream(dataFile, FileMode.OpenOrCreate, FileAccess.ReadWrite); Byte[] arreglo = new Byte[foto.Length]; BinaryReader reader = new BinaryReader(foto); arreglo = reader.ReadBytes(Convert.ToInt32(foto.Length)); Persona.Imagen = arreglo; // --------------------------------------------------------------------------------- BD.Personas.Add(Persona); Bll_Codigo.GuardarCodigo(Codigo); BD.SaveChanges(); AgregaRolAlaPersona(Persona.PersonaId, 3);// Toda nueva persona ingresa con Rol Estudiante string Mesnaje = $"Buen dia señor(a): {Persona.NombreCompleto}." + "\n Se informa que su inscripcion fue realizada de manera exitosa en la plataforma TESIS. \n" + "Sus datos de acceso son : \n " + $"Usuario: {Persona.Email} \n" + $"Clave: ************ \n\n" + "Desde este momento puede disfrutar de nuestros cursos Online \n" + "Feliz resto de dia."; Bll_Email Bll_Email = new Bll_Email(); Bll_Email.EnviarCorreo(Persona.Email, "Inscripcion Exitosa Tesis", Mesnaje); return(true); } else { return(false); } } catch (Exception error) { Bll_File.EscribirLog(error.ToString()); return(false); } } else { return(false); } }