public ActividadRegistrada RegistrarNuevaActividad(CrearActividad crearActividad) { var actividad = new Actividad() { Estado = crearActividad.Estado, HoraDeFin = crearActividad.HoraFin, HoraInicio = crearActividad.HoraInicio, Nombre = crearActividad.Nombre, Observacion = crearActividad.Observacion, PersonaId = crearActividad.IdPersona, ProyectoId = crearActividad.IdProyecto }; using (var db = new PersonalDb()) { if (hayCruceDeHorarios(crearActividad, db)) { throw new ExcepcionControlada("El trabajador tienes algo programado a esa hora");; } db.Actividades.Add(actividad); db.SaveChanges(); return(new ActividadRegistrada() { EstadoDeLaActividad = actividad.Estado.ToString(), NombreDeLaActividad = actividad.Nombre, HoraFin = actividad.HoraDeFin, HoraInicio = actividad.HoraInicio, Id = actividad.Id, NombreDeLaPersona = db.Personas.Find(actividad.PersonaId).Nombre, NombreDelProyecto = db.Proyectos.Find(actividad.ProyectoId).Nombre, }); } }
public IEnumerable <ActividadRegistrada> ListarTodasLasActividadesRegistradas() { using (var db = new PersonalDb()) { return(db.Actividades.Select(x => new { NombrePersona = x.Persona.Nombre, NombreDelProyecto = x.Proyecto.Nombre, NombreDeLaActividad = x.Nombre, Estado = x.Estado, HoraInicio = x.HoraInicio, HoraFin = x.HoraDeFin, Id = x.Id }) .ToList() .Select(x => new ActividadRegistrada() { EstadoDeLaActividad = x.Estado.ToString(), NombreDeLaActividad = x.NombreDeLaActividad, HoraFin = x.HoraFin, HoraInicio = x.HoraInicio, Id = x.Id, NombreDeLaPersona = x.NombrePersona, NombreDelProyecto = x.NombreDelProyecto })); } }
public IEnumerable <ProyectoRegistrado> ListarTodosLosProyectos() { using (var db = new PersonalDb()) { return(db.Proyectos.ToList().Select(x => new ProyectoRegistrado() { Id = x.Id, Nombre = x.Nombre })); } }
public IEnumerable <PersonaRegistrada> ListarTodasLasPersonasRegistradas() { using (var db = new PersonalDb()) { return(db.Personas.ToList().Select(x => new PersonaRegistrada() { Id = x.Id, Nombre = x.Nombre })); } }
private bool hayCruceDeHorarios(CrearActividad crearActividad, PersonalDb db) { var horaInicio = crearActividad.HoraInicio; var horaFin = crearActividad.HoraFin; return(db.Actividades .Where(x => x.PersonaId.Equals(crearActividad.IdPersona)) .Where(x => (x.HoraDeFin >= horaInicio && x.HoraInicio <= horaFin) || (x.HoraDeFin >= horaInicio && x.HoraDeFin <= horaFin) || (x.HoraInicio <= horaInicio && x.HoraDeFin >= horaFin) ) .Any()); }
public int RegistrarExcepcion(CrearExcepcion crearExcepcion) { using (var db = new PersonalDb()) { var nuevaExcepcion = new LogDeExcepcion() { Content = crearExcepcion.Contenido, Mensaje = crearExcepcion.Excepcion.Message, Stack = crearExcepcion.Excepcion.StackTrace, Uri = crearExcepcion.Uri }; db.LogDeExcepciones.Add(nuevaExcepcion); db.SaveChanges(); return(nuevaExcepcion.Id); } }