示例#1
0
        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*/
        }
示例#3
0
 // 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);
 }
示例#4
0
        // 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));
        }
示例#5
0
        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*/
        }
示例#7
0
        // 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());
            }
        }
示例#8
0
        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();
            }
        }
示例#9
0
        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,
                }));
            }
        }
示例#10
0
        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);
        }
示例#11
0
        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*/
        }