public ActionResult DetailsVideo(int id) { SessionInitialize(); ValoracionCAD valoracionCAD = new ValoracionCAD(session); IList <ValoracionEN> valoracionEN = valoracionCAD.DameValoracionPorVideoID(id); IEnumerable <ValoracionModel> valoraciones = ValoracionAssembler.convertListENToModel(valoracionEN).ToList(); SessionClose(); int total = 0; int suma = 0; int media = 0; foreach (ValoracionModel v in valoraciones) { suma = suma + v.Valor; total = total + 1; } if (total != 0) { media = suma / total; } ViewBag.Media = media; ViewBag.Total = total; return(PartialView(valoraciones)); }
public double Calcular_valoracion(int p_oid) { /*PROTECTED REGION ID(DSMGitGenNHibernate.CP.DSMGit_Video_calcular_valoracion) ENABLED START*/ VideoCAD videoCAD = null; VideoCEN videoCEN = null; ValoracionCAD valoracionCAD = null; ValoracionCEN valoracionCEN = null; double media = -1; if (p_oid != null) { try { SessionInitializeTransaction(); videoCAD = new VideoCAD(session); videoCEN = new VideoCEN(videoCAD); valoracionCAD = new ValoracionCAD(session); valoracionCEN = new ValoracionCEN(valoracionCAD); media = 0; double suma = 0; // Write here your custom transaction ... IList <ValoracionEN> lista = valoracionCEN.DameValoracionPorVideoID(p_oid); if (lista != null) { if (lista.Count > 0) { foreach (ValoracionEN i in lista) { suma = suma + i.Valor; } media = suma / lista.Count; } } // throw new NotImplementedException ("Method Calcular_valoracion() not yet implemented."); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } } return(media); /*PROTECTED REGION END*/ }
// GET: Valoracion/Delete/5 public ActionResult Delete(int id) { ValoracionViewModel val = null; SessionInitialize(); ValoracionEN valEN = new ValoracionCAD(session).ReadOIDDefault(id); val = new AssemblerValoracion().ConvertENToModelUI(valEN); SessionClose(); return View(val); }
// GET: Valoracion public ActionResult Index() { SessionInitialize(); ValoracionCAD valoracionCAD = new ValoracionCAD(session); IList <ValoracionEN> valoraciones = valoracionCAD.ReadAllDefault(0, -1); IList <ValoracionModel> valoracionModels = ValoracionAssembler.convertListENToModel(valoraciones); SessionClose(); return(View(valoracionModels)); }
public int CrearValoracion(int pe_emisor, int pe_receptor, float pe_nota, string pe_descripcion) { /*****Códigos de error******/ /* ret = -1 --> todo ok * ret = 0 --> ya existe la valoracion del emisor al receptor * ret = 1 --> emisor o receptor null * /***************************/ int ret = -1; try { SessionInitializeTransaction(); ValoracionCAD valCAD = new ValoracionCAD(session); ValoracionCEN valCEN = new ValoracionCEN(valCAD); UsuarioCAD usuCAD = new UsuarioCAD(session); UsuarioCEN usuCEN = new UsuarioCEN(usuCAD); UsuarioEN w_emisor = usuCEN.DameUsuarioPorOID(pe_emisor); UsuarioEN w_receptor = usuCEN.DameUsuarioPorOID(pe_receptor); if (w_receptor != null && w_emisor != null) { ValoracionEN w_valoracion = valCEN.ObtenerValoracionDeA(pe_emisor, pe_receptor); if (w_valoracion != null) { ret = 0; } else { valCEN.CrearValoracion(pe_nota, pe_descripcion, false, pe_emisor, pe_receptor); //calculo la valoración media IList <ValoracionEN> l_val_rec_rece = valCEN.ObtenerValoracionesReceptorNP(pe_receptor); float w_val_media = l_val_rec_rece.Sum(va => va.Valoracion) / l_val_rec_rece.Count; w_receptor.ValoracionMedia = w_val_media; } } else { ret = 1; } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(ret); }
public void RealizarValoracion(int p_usuario, int p_producto, double p_valor) { /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Usuario_realizarValoracion) ENABLED START*/ try { SessionInitializeTransaction(); ProductoCAD prodCAD = new ProductoCAD(session); ValoracionCAD valoracionCAD = new ValoracionCAD(session); ProductoCEN prodCEN = new ProductoCEN(prodCAD); ValoracionCEN valoracionCEN = new ValoracionCEN(valoracionCAD); valoracionCEN.New_(p_valor, p_usuario, p_producto); ProductoEN productoEN = prodCEN.MuestraProductoPorOID(p_producto); double v_Media = 0; double v_Num = 0; double v_Total = 0; foreach (ValoracionEN valoracionEN in productoEN.Valoracion) { v_Media += valoracionEN.Valor; v_Num++; } v_Total = v_Media / v_Num; productoEN.ValoracionMedia = v_Total; prodCAD.Modify(productoEN); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }
// GET: Video/Delete/5 public ActionResult Delete(int id) { try { // TODO: Add delete logic here SessionInitialize(); ValoracionCAD valCAD = new ValoracionCAD(session); ValoracionCEN valCEN = new ValoracionCEN(valCAD); IList <ValoracionEN> valEN = valCEN.DameValoracionPorVideoID(id); IList <ValoracionModel> vals = ValoracionAssembler.convertListENToModel(valEN); SessionClose(); foreach (ValoracionModel vl in vals) { new ValoracionCEN().Destroy(vl.Id); } SessionInitialize(); ComentarioCAD comCAD = new ComentarioCAD(session); ComentarioCEN comCEN = new ComentarioCEN(comCAD); IList <ComentarioEN> comEN = comCEN.DameComentarioPorVideoID(id); IList <ComentarioModel> cres = ComentarioAssembler.convertListENToModel(comEN); SessionClose(); foreach (ComentarioModel c in cres) { new ComentarioCEN().Destroy(c.Id); } SessionInitialize(); VideoCAD videoCAD = new VideoCAD(session); VideoCEN videoCEN = new VideoCEN(videoCAD); VideoEN videoEN = videoCEN.ReadOID(id); VideoModel video = VideoAssembler.convertENToModelUI(videoEN); SessionClose(); new VideoCEN().Destroy(id); return(RedirectToAction("Index")); } catch { return(View()); } }
public int EliminarValoracion(int pe_emisor, int pe_receptor) { /*****Códigos de error******/ /* ret = -1 --> todo ok * ret = 0 --> no existe la valoración * ret = 1 --> emisor o receptor null * /***************************/ float w_val_media; try { SessionInitializeTransaction(); ValoracionCAD valCAD = new ValoracionCAD(session); ValoracionCEN valCEN = new ValoracionCEN(valCAD); UsuarioCAD usuCAD = new UsuarioCAD(session); UsuarioCEN usuCEN = new UsuarioCEN(usuCAD); UsuarioEN w_emisor = usuCEN.DameUsuarioPorOID(pe_emisor); UsuarioEN w_receptor = usuCEN.DameUsuarioPorOID(pe_receptor); if (w_receptor != null && w_emisor != null) { ValoracionEN w_valoracion = valCEN.ObtenerValoracionDeA(pe_emisor, pe_receptor); if (w_valoracion == null) { return(0); } else { valCEN.BorrarValoracion(w_valoracion.Id); //Recalculo la valoración media IList <ValoracionEN> l_val_rec_rece = valCEN.ObtenerValoracionesReceptorNP(pe_receptor); if (l_val_rec_rece.Count > 0) { w_val_media = l_val_rec_rece.Sum(va => va.Valoracion) / l_val_rec_rece.Count; } else { w_val_media = 0f; } w_receptor.ValoracionMedia = w_val_media; } } else { return(1); } SessionCommit(); return(-1); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } }
public ActionResult Create(FormCollection collection, int id) { try { // TODO: Add insert logic here if (User.Identity.GetUserName() != null) { ValoracionCEN valoracionCEN = new ValoracionCEN(); string auxS = collection["Valor"]; int auxI; int.TryParse(auxS, out auxI); bool repetido = false; int auxID = 0; SessionInitialize(); ValoracionCAD valCAD = new ValoracionCAD(session); ValoracionCEN valCEN = new ValoracionCEN(valCAD); IList <ValoracionEN> valEN = valCEN.DameValoracionPorVideoID(id); IList <ValoracionModel> vals = ValoracionAssembler.convertListENToModel(valEN); VideoModel vidM = null; UsuarioModel usu = null; VideoEN videoEN = new VideoCAD(session).ReadOIDDefault(id); UsuarioEN usuarioEN = new UsuarioCAD(session).ReadOIDDefault(User.Identity.GetUserName()); vidM = VideoAssembler.convertENToModelUI(videoEN); usu = UsuarioAssembler.crearUsu(usuarioEN); SessionClose(); foreach (ValoracionModel vl in vals) { if (vl.Usuario.Equals(usu.Nick)) { repetido = true; auxID = vl.Id; } } if (auxI <= 5 && auxI >= 0) { if (repetido == false) { valoracionCEN.New_(p_valor: auxI, p_usuario: User.Identity.GetUserName(), p_video: id); } else { valoracionCEN.Modify(p_Valoracion_OID: auxID, p_valor: auxI); } } } return(RedirectToRoute(new { controller = "Video", action = "Details", id = id, })); } catch { return(RedirectToRoute(new { controller = "Video", action = "Details", id = id, })); } }
public void Delete(string id) { SessionInitialize(); UsuarioCAD usuCAD = new UsuarioCAD(session); UsuarioCEN usuCEN = new UsuarioCEN(usuCAD); UsuarioEN usuEN = usuCEN.ReadOID(id); UsuarioModel tema = UsuarioAssembler.crearUsu(usuEN); TemaCAD temCAD = new TemaCAD(session); TemaCEN temCEN = new TemaCEN(temCAD); IList <TemaEN> temEN = temCEN.DameTemaPorEmail(id); IList <TemaModel> temasU = new TemaAssembler().ConvertListENToModel(temEN); RespuestaCAD res2CAD = new RespuestaCAD(session); RespuestaCEN res2CEN = new RespuestaCEN(res2CAD); IList <RespuestaEN> res2EN = res2CEN.DameRespuestaPorEmail(id); IList <RespuestaModel> resU = RespuestaAssembler.ConvertListENToModel(res2EN); VideoCAD videoCAD = new VideoCAD(session); VideoCEN videoCEN = new VideoCEN(videoCAD); IList <VideoEN> videoEN = videoCEN.DameVideoPorEmail(id); IList <VideoModel> videosU = VideoAssembler.convertListENToModel(videoEN); ComentarioCAD comentarioCAD = new ComentarioCAD(session); ComentarioCEN comentarioCEN = new ComentarioCEN(comentarioCAD); IList <ComentarioEN> comentarioEN = comentarioCEN.DameComentarioPorEmail(id); IList <ComentarioModel> comentarioU = ComentarioAssembler.convertListENToModel(comentarioEN); ValoracionCAD valoracionCAD = new ValoracionCAD(session); ValoracionCEN valoracionCEN = new ValoracionCEN(valoracionCAD); IList <ValoracionEN> valoracionEN = valoracionCEN.DameValoracionPorEmail(id); IList <ValoracionModel> valoracionU = ValoracionAssembler.convertListENToModel(valoracionEN); GrupoCAD gruposTCAD = new GrupoCAD(session); GrupoCEN gruposTCEN = new GrupoCEN(gruposTCAD); IList <GrupoEN> gruposTEN = gruposTCEN.DameGrupoPorUsuario(id); IList <GrupoModel> gruposTU = GrupoAssembler.convertListToModelUI(gruposTEN); NotificacionCAD notiCAD = new NotificacionCAD(session); NotificacionCEN notiCEN = new NotificacionCEN(notiCAD); IList <NotificacionEN> notiEN = notiCEN.DameNotificacionPorEmail(id); IList <NotificacionModel> notisU = NotificacionAssembler.ConvertListENToModel(notiEN); SugerenciaCAD sugCAD = new SugerenciaCAD(session); SugerenciaCEN sugCEN = new SugerenciaCEN(sugCAD); IList <SugerenciaEN> sugEN = sugCEN.DameSugerenciaPorEmail(id); IList <SugerenciaModel> sugU = SugerenciaAssembler.convertListENToModel(sugEN); SessionClose(); foreach (RespuestaModel r in resU) { new RespuestaCEN().Destroy(r.Id); } foreach (TemaModel t in temasU) { SessionInitialize(); RespuestaCAD resCAD = new RespuestaCAD(session); RespuestaCEN resCEN = new RespuestaCEN(resCAD); IList <RespuestaEN> resEN = resCEN.DameRespuestaPorTema(t.Id); IList <RespuestaModel> res = RespuestaAssembler.ConvertListENToModel(resEN); SessionClose(); foreach (RespuestaModel r in res) { new RespuestaCEN().Destroy(r.Id); } new TemaCEN().Destroy(t.Id); } foreach (ComentarioModel c in comentarioU) { new ComentarioCEN().Destroy(c.Id); } foreach (ValoracionModel v in valoracionU) { new ValoracionCEN().Destroy(v.Id); } foreach (VideoModel v in videosU) { SessionInitialize(); ComentarioCAD comCAD = new ComentarioCAD(session); ComentarioCEN comCEN = new ComentarioCEN(comCAD); IList <ComentarioEN> comEN = comCEN.DameComentarioPorVideoID(v.Id); IList <ComentarioModel> cres = ComentarioAssembler.convertListENToModel(comEN); SessionClose(); foreach (ComentarioModel c in cres) { new ComentarioCEN().Destroy(c.Id); } SessionInitialize(); ValoracionCAD valCAD = new ValoracionCAD(session); ValoracionCEN valCEN = new ValoracionCEN(valCAD); IList <ValoracionEN> valEN = valCEN.DameValoracionPorVideoID(v.Id); IList <ValoracionModel> vals = ValoracionAssembler.convertListENToModel(valEN); SessionClose(); foreach (ValoracionModel valo in vals) { new ValoracionCEN().Destroy(valo.Id); } new VideoCEN().Destroy(v.Id); } foreach (SugerenciaModel s in sugU) { new SugerenciaCEN().Destroy(s.Id); } foreach (NotificacionModel n in notisU) { new NotificacionCEN().Destroy(n.Id); } foreach (GrupoModel g in gruposTU) { if (g.Lider == id) { SessionInitialize(); UsuarioCAD usu2CAD = new UsuarioCAD(session); UsuarioCEN usu2CEN = new UsuarioCEN(usuCAD); IList <UsuarioEN> usu2EN = usuCEN.DameUsuarioPorGrupo(g.Nombre); IList <UsuarioModel> usu = UsuarioAssembler.crearListaUsus(usu2EN); SessionClose(); foreach (UsuarioModel usuf in usu) { GrupoCEN grupo = new GrupoCEN(); NotificacionCEN notificacion = new NotificacionCEN(); GrupoEN grupoEN = grupo.ReadOID(g.Nombre); grupo.SacarUsuario(p_Grupo_OID: g.Nombre, p_miembros_OIDs: new List <string>() { usuf.Email }); string descripcion = "Expulsado del grupo" + grupoEN.Nombre; notificacion.New_(p_descripcion: descripcion, p_usuario: usuf.Email); } } else { GrupoCEN grupo = new GrupoCEN(); GrupoEN grupoEN = grupo.ReadOID(g.Nombre); grupo.SacarUsuario(p_Grupo_OID: g.Nombre, p_miembros_OIDs: new List <string>() { id }); } new GrupoCEN().Destroy(g.Nombre); } new UsuarioCEN().Destroy(id); }
public DSMGenNHibernate.EN.DSM.ValoracionEN New_(int p_usuario, int p_viajes, double p_puntuacion) { /*PROTECTED REGION ID(DSMGenNHibernate.CP.DSM_Valoracion_new_) ENABLED START*/ IValoracionCAD valoracionCAD = null; ValoracionCEN valoracionCEN = null; ViajeCAD viajecad = null; ViajeCEN viajecen = null; DSMGenNHibernate.EN.DSM.ValoracionEN result = null; try { SessionInitializeTransaction(); valoracionCAD = new ValoracionCAD(session); valoracionCEN = new ValoracionCEN(valoracionCAD); viajecad = new ViajeCAD(session); viajecen = new ViajeCEN(viajecad); int oid; //Initialized ValoracionEN ValoracionEN valoracionEN; valoracionEN = new ValoracionEN(); if (p_usuario != -1) { valoracionEN.Usuario = new DSMGenNHibernate.EN.DSM.UsuarioEN(); valoracionEN.Usuario.Id = p_usuario; } if (p_viajes != -1) { valoracionEN.Viajes = new DSMGenNHibernate.EN.DSM.ViajeEN(); valoracionEN.Viajes.Id = p_viajes; } valoracionEN.Puntuacion = p_puntuacion; //Call to ValoracionCAD oid = valoracionCAD.New_(valoracionEN); result = valoracionCAD.ReadOIDDefault(oid); ViajeEN viajeen = viajecad.ReadOIDDefault(p_viajes); int valoracion = p_puntuacion; //Aqui calculamos la media double a = viajeen.ValoracionMedia; viajeen. = (a + p_puntuacion) / 2; // esta variable es la que actualizamos despu�s del calculo viajeen.ValoracionMedia // viajecad.ModifyDefault(viajeen); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(result); /*PROTECTED REGION END*/ }