public bool Insertar(Calificacion pCalificacion, CARPOOLEntities pContextoDb, bool pConfirmarCambios) { var calificacionDb = ToDataEntity.Instancia.ToCalificacion(pCalificacion); EstablecerConexion(pContextoDb); Conexion.CALIFICACION.Add(calificacionDb); if (pConfirmarCambios) return ConfirmarCambios(); else return false; }
public CALIFICACION ToCalificacion(Calificacion pCalificacion) { return new CALIFICACION() { ID_CALIFICACION = pCalificacion.IdCalificacion, FECHA_REALIZACION = pCalificacion.FechaRealizacion, PUNTAJE = pCalificacion.Puntaje, COMENTARIO = pCalificacion.Comentario, ID_VIAJE = pCalificacion.IdViaje, ID_EVALUADO = pCalificacion.IdUsuarioEvaluado, ID_EVALUADOR = pCalificacion.IdUsuarioEvaluador }; }
public bool Actualizar(Calificacion pCalificacion, CARPOOLEntities pContextoDb, bool pConfirmarCambios) { var calificacionDb = ToDataEntity.Instancia.ToCalificacion(pCalificacion); EstablecerConexion(pContextoDb); Conexion.CALIFICACION.Attach(calificacionDb); var entidad = Conexion.Entry(calificacionDb); entidad.Property(x => x.PUNTAJE).IsModified = true; entidad.Property(x => x.FECHA_REALIZACION).IsModified = true; entidad.Property(x => x.COMENTARIO).IsModified = true; if (pConfirmarCambios) return ConfirmarCambios(); else return false; }
public bool RegistrarCalificacion(Calificacion pCalificacion, Usuario pUsuarioEvaluado) { var contextoBd = ViajeDao.Instancia.EstablecerConexion(); CalificacionDao.Instancia.Actualizar(pCalificacion, contextoBd, false); //actualiza la reputacion var calificacioneUsuario = ObtenerCalificacionesUsuario(pCalificacion.IdUsuarioEvaluado, true); calificacioneUsuario.Add(pCalificacion); decimal reputacionCalculada = 0; calificacioneUsuario.ForEach(c => reputacionCalculada = reputacionCalculada + c.Puntaje); reputacionCalculada = reputacionCalculada / calificacioneUsuario.Count; pUsuarioEvaluado.Reputacion = reputacionCalculada; return CalificacionDao.Instancia.ActualizarReputacion(pUsuarioEvaluado, contextoBd, true); }
/// <summary> /// Procedimiento que se ejecuta periodicamente para actualizar el estado de los viajes que de acuerdo a su fecha de realización /// ya dejaron de ser vigentes /// </summary> /// <returns></returns> public static void MonitorViajesVigentes(object sender, DoWorkEventArgs e) { //Actualiza el estado de los viajes en la BD IEnumerable<Viaje> viajesActualizar= new List<Viaje>(); var contextoBd = ViajeDao.Instancia.EstablecerConexion(); //obtiene un contexto de bd para la trasaccion global //Acutializa el estado de los viajes que ya no son vigentes long viajesActualizadoBD = ViajeDao.Instancia.ActualizarEstadoViajesRealizados(DateTime.Today, out viajesActualizar, contextoBd, false); //Crear los registros de calificaciones pendientes if (viajesActualizar.Count() == (int)viajesActualizadoBD) { foreach (var viaje in viajesActualizar) { foreach (var pasajero in viaje.GetPasajeros()) { Calificacion calificacionInsertar; //registro calificacion conductor pasajero calificacionInsertar = new Calificacion() { Puntaje = 0, IdViaje = viaje.IdViaje, IdUsuarioEvaluador = viaje.Conductor.IdUsuario, IdUsuarioEvaluado = pasajero.IdUsuario }; CalificacionDao.Instancia.Insertar(calificacionInsertar, contextoBd, false); //registro calificacion pasajero conductor calificacionInsertar = new Calificacion() { Puntaje = 0, IdViaje = viaje.IdViaje, IdUsuarioEvaluador = pasajero.IdUsuario, IdUsuarioEvaluado = viaje.Conductor.IdUsuario }; CalificacionDao.Instancia.Insertar(calificacionInsertar, contextoBd, false); //envia el email de calificacion pendiente al pasajero AdministradorCorreosElectronicos.Instancia.CorreoCalificacionParticipante(viaje, pasajero); } //envia el email de calificacion pendiente al conductor AdministradorCorreosElectronicos.Instancia.CorreoCalificacionConductor(viaje); } //confirma los cambios en la bd y destruye el contexto ViajeDao.Instancia.ConfirmarCambios(contextoBd); } ViajeDao.Instancia.TerminarConexion(contextoBd); }
public bool CrearCalificacion(Calificacion pCalificacion, CARPOOLEntities pContextoDb, bool pConfirmarCambios) { return CalificacionDao.Instancia.Insertar(pCalificacion, pContextoDb, pConfirmarCambios); }
protected void dataListCalificaciones_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName.ToLower().Equals("calificar")) { popUpCalificar.TituloPopUp = "Calificar a " + ((Label)e.Item.FindControl("lblParticipanteCalificar")).Text; if (ViajeDetalle == null) ViajeDetalle = (Viaje)Session["ViajeSeleccionado"]; var calificacionActual = new Calificacion() { IdCalificacion = Convert.ToInt64(((LinkButton)e.Item.FindControl("btnCalificarParticipante")).CommandArgument), IdUsuarioEvaluado = ((HiddenField)e.Item.FindControl("hdfIdEvaluado")).Value, IdUsuarioEvaluador = ((HiddenField)e.Item.FindControl("hdfIdEvaluador")).Value, IdViaje = ViajeDetalle.IdViaje }; popUpCalificar.CalificacionActual = calificacionActual; if (calificacionActual.IdUsuarioEvaluado.Equals(ViajeDetalle.Conductor.IdUsuario)) popUpCalificar.MostrarVentana(Rol.Conductor); else popUpCalificar.MostrarVentana(Rol.Pasajero); } }