Beispiel #1
0
        public List <Models.AsuntoRecursosPT> Catalogo(Models.AsuntoRecursosPT oAsuntosRecursos)
        {
            OpenDbConn();

            DAL.AsuntoRecursosPT           cAsuntoRecursos = new DAL.AsuntoRecursosPT(cDblib);
            List <Models.AsuntoRecursosPT> oLista          = cAsuntoRecursos.Catalogo(oAsuntosRecursos);

            return(oLista);
        }
        public int grabar(Models.AsuntoPT DatosGenerales, List <Models.AsuntoRecursosPT> Integrantes)
        {
            int  idReferencia;
            bool bConTransaccion = false;
            Guid methodOwnerID   = new Guid("5590F1B4-7073-4B5F-A4DB-9F301648D151");

            OpenDbConn();
            if (cDblib.Transaction.ownerID.Equals(new Guid()))
            {
                bConTransaccion = true;
            }
            if (bConTransaccion)
            {
                cDblib.beginTransaction(methodOwnerID);
            }
            try
            {
                DAL.AsuntoPT         oAsunto          = new DAL.AsuntoPT(cDblib);
                DAL.AsuntoEstadoPT   oAsuntoEstadoDAL = new DAL.AsuntoEstadoPT(cDblib);
                DAL.AsuntoRecursosPT oRecursoDAL      = new DAL.AsuntoRecursosPT(cDblib);

                Models.AsuntoEstadoPT oAsuntoEstado = new Models.AsuntoEstadoPT();

                oAsuntoEstado.t416_estado    = byte.Parse(DatosGenerales.T409_estado);
                oAsuntoEstado.t314_idusuario = (int)HttpContext.Current.Session["NUM_EMPLEADO_ENTRADA"];

                if (DatosGenerales.T409_idasunto == -1)
                {
                    idReferencia = oAsunto.Insert(DatosGenerales);

                    oAsuntoEstado.t409_idasunto = idReferencia;
                    oAsuntoEstadoDAL.Insert(oAsuntoEstado);
                }
                else
                {
                    oAsunto.Update(DatosGenerales);
                    idReferencia = DatosGenerales.T409_idasunto;

                    if (DatosGenerales.T409_estado_anterior != DatosGenerales.T409_estado)
                    {
                        oAsuntoEstado.t409_idasunto = idReferencia;
                        oAsuntoEstadoDAL.Insert(oAsuntoEstado);
                    }
                }

                foreach (Models.AsuntoRecursosPT oRecurso in Integrantes)
                {
                    switch (oRecurso.accionBD)
                    {
                    case "I":
                        //Inserción
                        oRecurso.T409_idasunto = idReferencia;
                        oRecursoDAL.Insert(oRecurso);
                        break;

                    case "D":
                        //delete
                        oRecursoDAL.Delete(oRecurso);
                        break;

                    case "U":
                        //update
                        oRecursoDAL.Update(oRecurso);
                        break;
                    }
                }

                if (bConTransaccion)
                {
                    cDblib.commitTransaction(methodOwnerID);
                }

                return(idReferencia);
            }
            catch (Exception ex)
            {
                //rollback
                if (cDblib.Transaction.ownerID.Equals(new Guid()))
                {
                    cDblib.rollbackTransaction(methodOwnerID);
                }
                throw new Exception(ex.Message);
            }
            finally
            {
                //nota.Dispose();
            }
        }