コード例 #1
0
        public DudaEN ReadOIDDefault(int id
                                     )
        {
            DudaEN dudaEN = null;

            try
            {
                SessionInitializeTransaction();
                dudaEN = (DudaEN)session.Get(typeof(DudaEN), id);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ReciclaUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ReciclaUAGenNHibernate.Exceptions.DataLayerException("Error in DudaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }

            return(dudaEN);
        }
コード例 #2
0
        public int Crear(string p_titulo, string p_cuerpo, int p_usuario, ReciclaUAGenNHibernate.Enumerated.ReciclaUA.TemaEnum p_tema)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CEN.ReciclaUA_Duda_crear_customized) ENABLED START*/

            DudaEN dudaEN = null;

            int oid;

            //Initialized DudaEN
            dudaEN        = new DudaEN();
            dudaEN.Titulo = p_titulo;

            dudaEN.Cuerpo = p_cuerpo;

            dudaEN.Tema = p_tema;

            dudaEN.Fecha = DateTime.Now;


            if (p_usuario != -1)
            {
                dudaEN.Usuario    = new ReciclaUAGenNHibernate.EN.ReciclaUA.UsuarioEN();
                dudaEN.Usuario.Id = p_usuario;
            }

            //Call to DudaCAD

            oid = _IDudaCAD.Crear(dudaEN);

            // DudaCP cp = new DudaCP ();
            // cp.CrearAccionDuda (oid);

            return(oid);
            /*PROTECTED REGION END*/
        }
コード例 #3
0
        public void Borrar(int id
                           )
        {
            try
            {
                SessionInitializeTransaction();
                DudaEN dudaEN = (DudaEN)session.Load(typeof(DudaEN), id);
                session.Delete(dudaEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ReciclaUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ReciclaUAGenNHibernate.Exceptions.DataLayerException("Error in DudaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
コード例 #4
0
        public int Crear(DudaEN duda)
        {
            try
            {
                SessionInitializeTransaction();
                if (duda.Usuario != null)
                {
                    // Argumento OID y no colección.
                    duda.Usuario = (ReciclaUAGenNHibernate.EN.ReciclaUA.UsuarioEN)session.Load(typeof(ReciclaUAGenNHibernate.EN.ReciclaUA.UsuarioEN), duda.Usuario.Id);

                    duda.Usuario.Dudas
                    .Add(duda);
                }

                session.Save(duda);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ReciclaUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ReciclaUAGenNHibernate.Exceptions.DataLayerException("Error in DudaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }

            return(duda.Id);
        }
コード例 #5
0
        public DudaEN BuscarPorId(int id
                                  )
        {
            DudaEN dudaEN = null;

            dudaEN = _IDudaCAD.BuscarPorId(id);
            return(dudaEN);
        }
        public ReciclaUAGenNHibernate.EN.ReciclaUA.RespuestaEN ObtenerUltimaRespuesta(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Respuesta_obtenerUltimaRespuesta) ENABLED START*/

            IRespuestaCAD respuestaCAD = null;
            RespuestaCEN  respuestaCEN = null;
            IDudaCAD      dudaCAD      = null;
            DudaCEN       dudaCEN      = null;

            ReciclaUAGenNHibernate.EN.ReciclaUA.RespuestaEN respuesta = null;


            try
            {
                SessionInitializeTransaction();
                respuestaCAD = new RespuestaCAD(session);
                respuestaCEN = new RespuestaCEN(respuestaCAD);
                dudaCAD      = new DudaCAD(session);
                dudaCEN      = new DudaCEN(dudaCAD);



                // Write here your custom transaction ...

                DudaEN duda = dudaCAD.ReadOIDDefault(p_oid);

                if (duda.Respuestas.Count > 0)
                {
                    respuesta = duda.Respuestas [0];
                    for (int i = 1; i < duda.Respuestas.Count; i++)
                    {
                        if (respuesta.Fecha <= duda.Respuestas [i].Fecha)
                        {
                            respuesta = duda.Respuestas [i];
                        }
                    }
                }

                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }

            return(respuesta);


            /*PROTECTED REGION END*/
        }
コード例 #7
0
        public void CrearAccionDuda(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Duda_crearAccionDuda) ENABLED START*/

            IDudaCAD       dudaCAD       = null;
            DudaCEN        dudaCEN       = null;
            AccionWebCEN   accionWebCEN  = null;
            ITipoAccionCAD tipoAccionCAD = null;
            TipoAccionCEN  tipoAccionCEN = null;
            TipoAccionEN   tipoAccion    = null;
            IUsuarioWebCAD usuarioWebCAD = null;
            UsuarioWebCEN  usuarioWebCEN = null;
            DudaEN         duda          = null;


            try
            {
                SessionInitializeTransaction();
                dudaCAD       = new DudaCAD(session);
                dudaCEN       = new DudaCEN(dudaCAD);
                tipoAccionCAD = new TipoAccionCAD(session);
                tipoAccionCEN = new TipoAccionCEN(tipoAccionCAD);
                usuarioWebCAD = new UsuarioWebCAD(session);
                usuarioWebCEN = new UsuarioWebCEN(usuarioWebCAD);
                accionWebCEN  = new AccionWebCEN();

                duda = dudaCEN.BuscarPorId(p_oid);

                if (duda.Usuario != null && usuarioWebCEN.BuscarPorId(duda.Usuario.Id) != null)
                {
                    tipoAccion = tipoAccionCEN.BuscarTodos(0, -1).Where(t => t.Nombre.Equals("Duda")).FirstOrDefault();

                    if (tipoAccion == null)
                    {
                        var id = tipoAccionCEN.Crear(10, "Duda");
                        tipoAccion = tipoAccionCEN.BuscarPorId(id);
                    }
                    accionWebCEN.Crear(duda.Usuario.Id, tipoAccion.Id);
                }

                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #8
0
        public static DudaDTOA Convert(DudaEN en, NHibernate.ISession session = null)
        {
            DudaDTOA    dto         = null;
            DudaRESTCAD dudaRESTCAD = null;
            DudaCEN     dudaCEN     = null;
            DudaCP      dudaCP      = null;

            if (en != null)
            {
                dto         = new DudaDTOA();
                dudaRESTCAD = new DudaRESTCAD(session);
                dudaCEN     = new DudaCEN(dudaRESTCAD);
                dudaCP      = new DudaCP(session);



                //
                // Attributes

                dto.Id = en.Id;

                dto.Titulo = en.Titulo;


                dto.Cuerpo = en.Cuerpo;


                dto.Fecha = en.Fecha;


                dto.Util = en.Util;


                dto.Tema = en.Tema;


                //
                // TravesalLink

                /* Rol: Duda o--> UsuarioWebAutenticado */
                dto.UsuarioDuda = UsuarioWebAutenticadoAssembler.Convert((UsuarioEN)en.Usuario, session);


                //
                // Service

                /* ServiceLink: obtenerNumeroDeRespuestas */
                dto.ObtenerNumeroDeRespuestas = dudaCP.ObtenerNumeroDeRespuestas(en.Id);

                /* ServiceLink: obtenerSiRespuestaValida */
                dto.ObtenerSiRespuestaValida = dudaCP.ObtenerSiRespuestaValida(en.Id);
            }

            return(dto);
        }
コード例 #9
0
        public void IndicarDudaNoUtil(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CEN.ReciclaUA_Duda_indicarDudaNoUtil) ENABLED START*/

            DudaEN duda = _IDudaCAD.BuscarPorId(p_oid);

            duda.Util--;

            _IDudaCAD.Modificar(duda);

            /*PROTECTED REGION END*/
        }
コード例 #10
0
        public void Modificar(int p_Duda_OID, string p_titulo, string p_cuerpo, Nullable <DateTime> p_fecha, int p_util, ReciclaUAGenNHibernate.Enumerated.ReciclaUA.TemaEnum p_tema)
        {
            DudaEN dudaEN = null;

            //Initialized DudaEN
            dudaEN        = new DudaEN();
            dudaEN.Id     = p_Duda_OID;
            dudaEN.Titulo = p_titulo;
            dudaEN.Cuerpo = p_cuerpo;
            dudaEN.Fecha  = p_fecha;
            dudaEN.Util   = p_util;
            dudaEN.Tema   = p_tema;
            //Call to DudaCAD

            _IDudaCAD.Modificar(dudaEN);
        }
コード例 #11
0
        public bool ObtenerSiRespuestaValida(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Duda_obtenerSiRespuestaValida) ENABLED START*/

            IDudaCAD dudaCAD = null;
            DudaCEN  dudaCEN = null;

            bool result = false;


            try
            {
                SessionInitializeTransaction();
                dudaCAD = new DudaCAD(session);
                dudaCEN = new DudaCEN(dudaCAD);



                // Write here your custom transaction ...

                DudaEN duda = dudaCAD.ReadOIDDefault(p_oid);
                foreach (RespuestaEN respuesta in duda.Respuestas)
                {
                    if (respuesta.EsCorrecta)
                    {
                        result = true;
                        break;
                    }
                }


                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);


            /*PROTECTED REGION END*/
        }
コード例 #12
0
        public static DudaEN Convert(DudaDTO dto)
        {
            DudaEN newinstance = null;

            try
            {
                if (dto != null)
                {
                    newinstance = new DudaEN();



                    newinstance.Id     = dto.Id;
                    newinstance.Titulo = dto.Titulo;
                    newinstance.Cuerpo = dto.Cuerpo;
                    if (dto.Usuario_oid != -1)
                    {
                        ReciclaUAGenNHibernate.CAD.ReciclaUA.IUsuarioCAD usuarioCAD = new ReciclaUAGenNHibernate.CAD.ReciclaUA.UsuarioCAD();

                        newinstance.Usuario = usuarioCAD.ReadOIDDefault(dto.Usuario_oid);
                    }

                    if (dto.Respuestas != null)
                    {
                        ReciclaUAGenNHibernate.CAD.ReciclaUA.IRespuestaCAD respuestaCAD = new ReciclaUAGenNHibernate.CAD.ReciclaUA.RespuestaCAD();

                        newinstance.Respuestas = new System.Collections.Generic.List <ReciclaUAGenNHibernate.EN.ReciclaUA.RespuestaEN>();
                        foreach (RespuestaDTO entry in dto.Respuestas)
                        {
                            newinstance.Respuestas.Add(RespuestaAssemblerDTO.Convert(entry));
                        }
                    }
                    newinstance.Fecha = dto.Fecha;
                    newinstance.Util  = dto.Util;
                    newinstance.Tema  = dto.Tema;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(newinstance);
        }
コード例 #13
0
// Modify default (Update all attributes of the class)

        public void ModifyDefault(DudaEN duda)
        {
            try
            {
                SessionInitializeTransaction();
                DudaEN dudaEN = (DudaEN)session.Load(typeof(DudaEN), duda.Id);

                dudaEN.Titulo = duda.Titulo;


                dudaEN.Cuerpo = duda.Cuerpo;



                dudaEN.Fecha = duda.Fecha;


                dudaEN.Util = duda.Util;


                dudaEN.Tema = duda.Tema;

                session.Update(dudaEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ReciclaUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ReciclaUAGenNHibernate.Exceptions.DataLayerException("Error in DudaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
        public int ObtenerNumeroDeRespuestas(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Duda_obtenerNumeroDeRespuestas) ENABLED START*/

            IDudaCAD dudaCAD = null;
            DudaCEN  dudaCEN = null;

            int result = 0;


            try
            {
                SessionInitializeTransaction();
                dudaCAD = new DudaCAD(session);
                dudaCEN = new  DudaCEN(dudaCAD);



                // Write here your custom transaction ...

                DudaEN duda = dudaCAD.ReadOIDDefault(p_oid);
                result = duda.Respuestas.Count;

                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);


            /*PROTECTED REGION END*/
        }
コード例 #15
0
        public DudaEN DudaRespuesta(int id)
        {
            DudaEN result = null;

            try
            {
                SessionInitializeTransaction();


                String sql = @"select self.Duda FROM RespuestaEN self " +
                             "where self.Id = :p_Id";
                IQuery query = session.CreateQuery(sql).SetParameter("p_Id", id);



                result = query.UniqueResult <DudaEN>();

                SessionCommit();
            }

            catch (Exception ex)
            {
                SessionRollBack();
                if (ex is ReciclaUAGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ReciclaUAGenNHibernate.Exceptions.DataLayerException("Error in RespuestaRESTCAD.", ex);
            }

            finally
            {
                SessionClose();
            }

            return(result);
        }
コード例 #16
0
        public HttpResponseMessage RespuestasDuda(int idDuda)
        {
            // CAD, EN
            DudaRESTCAD dudaRESTCAD = null;
            DudaEN      dudaEN      = null;

            // returnValue
            List <RespuestaEN>   en          = null;
            List <RespuestaDTOA> returnValue = null;

            try
            {
                SessionInitializeWithoutTransaction();
                string token = "";
                if (Request.Headers.Authorization != null)
                {
                    token = Request.Headers.Authorization.ToString();
                }
                new UsuarioCEN().CheckToken(token);


                dudaRESTCAD = new DudaRESTCAD(session);

                // Exists Duda
                dudaEN = dudaRESTCAD.ReadOIDDefault(idDuda);
                if (dudaEN == null)
                {
                    throw new HttpResponseException(this.Request.CreateResponse(HttpStatusCode.NotFound, "Duda#" + idDuda + " not found"));
                }

                // Rol
                // TODO: paginación


                en = dudaRESTCAD.RespuestasDuda(idDuda).ToList();



                // Convert return
                if (en != null)
                {
                    returnValue = new List <RespuestaDTOA>();
                    foreach (RespuestaEN entry in en)
                    {
                        returnValue.Add(RespuestaAssembler.Convert(entry, session));
                    }
                }
            }

            catch (Exception e)
            {
                if (e.GetType() == typeof(HttpResponseException))
                {
                    throw e;
                }
                else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto"))
                {
                    throw new HttpResponseException(HttpStatusCode.Forbidden);
                }
                else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException))
                {
                    throw new HttpResponseException(HttpStatusCode.BadRequest);
                }
                else
                {
                    throw new HttpResponseException(HttpStatusCode.InternalServerError);
                }
            }
            finally
            {
                SessionClose();
            }

            // Return 204 - Empty
            if (returnValue == null || returnValue.Count == 0)
            {
                return(this.Request.CreateResponse(HttpStatusCode.NoContent));
            }
            // Return 200 - OK
            else
            {
                return(this.Request.CreateResponse(HttpStatusCode.OK, returnValue));
            }
        }
コード例 #17
0
        public HttpResponseMessage BuscarPorId(int idDuda)
        {
            // CAD, CEN, EN, returnValue
            DudaRESTCAD dudaRESTCAD = null;
            DudaCEN     dudaCEN     = null;
            DudaEN      dudaEN      = null;
            DudaDTOA    returnValue = null;

            try
            {
                SessionInitializeWithoutTransaction();
                string token = "";
                if (Request.Headers.Authorization != null)
                {
                    token = Request.Headers.Authorization.ToString();
                }
                int id = new UsuarioCEN().CheckToken(token);



                dudaRESTCAD = new DudaRESTCAD(session);
                dudaCEN     = new DudaCEN(dudaRESTCAD);

                // Data
                dudaEN = dudaCEN.BuscarPorId(idDuda);

                // Convert return
                if (dudaEN != null)
                {
                    returnValue = DudaAssembler.Convert(dudaEN, session);
                }
            }

            catch (Exception e)
            {
                if (e.GetType() == typeof(HttpResponseException))
                {
                    throw e;
                }
                else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto"))
                {
                    throw new HttpResponseException(HttpStatusCode.Forbidden);
                }
                else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException))
                {
                    throw new HttpResponseException(HttpStatusCode.BadRequest);
                }
                else
                {
                    throw new HttpResponseException(HttpStatusCode.InternalServerError);
                }
            }
            finally
            {
                SessionClose();
            }

            // Return 404 - Not found
            if (returnValue == null)
            {
                return(this.Request.CreateResponse(HttpStatusCode.NotFound));
            }
            // Return 200 - OK
            else
            {
                return(this.Request.CreateResponse(HttpStatusCode.OK, returnValue));
            }
        }