public Tuple <string, string> MergeInvestigacion(InvInstitucional investigacion)
 {
     using (uow = new UOW())
     {
         var resultado = uow.InvestigacionRepository.MergeInvestigacion(investigacion);
         if (resultado.Item1 != "")
         {
             investigacion.IdInvestigacion = resultado.Item1;
             foreach (var item in investigacion.AreaLinea)
             {
                 uow.InvestigacionRepository.MergeAreaLineaInv(item, investigacion.IdInvestigacion);
             }
             foreach (var item in investigacion.Investigadores)
             {
                 uow.InvestigacionRepository.MergeInvestigadoresInv(item, investigacion.IdInvestigacion);
             }
             foreach (var item in investigacion.Producto)
             {
                 uow.InvestigacionRepository.MergeProductoInv(item, investigacion.IdInvestigacion);
             }
             uow.InvestigacionRepository.MergeEstimulosInv(investigacion.Estimulos, investigacion.IdInvestigacion);
             uow.InvestigacionRepository.MergeEventosInv(investigacion.Eventos, investigacion.IdInvestigacion);
             foreach (var item in investigacion.Presupuesto)
             {
                 uow.InvestigacionRepository.MergePresupuestoInv(item, investigacion.IdInvestigacion);
             }
         }
         else
         {
             return(new Tuple <string, string>("0", "Error al crear la investigacion"));
         }
         return(new Tuple <string, string>("1", " OK"));
     }
 }
        public IHttpActionResult MergeInvestigacion([FromBody] InvInstitucional investigacion)
        {
            InvestigacionHandler handler = new InvestigacionHandler();

            try
            {
                return(Content(HttpStatusCode.OK, handler.MergeInvestigacion(investigacion)));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Example #3
0
        public Tuple <string, string> MergeInvestigacion(InvInstitucional investigacion)
        {
            ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO();

            parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_investigacion";

            parametro.AdicionarParametro(":p_id_investigacion", investigacion.IdInvestigacion, DireccionParametro.Input, TipoParametro.Varchar2);
            parametro.AdicionarParametro(":p_titulo", investigacion.Titulo, DireccionParametro.Input, TipoParametro.Varchar2);
            parametro.AdicionarParametro(":p_direccion", investigacion.Direccion, DireccionParametro.Input, TipoParametro.Decimal);
            parametro.AdicionarParametro(":p_ano", investigacion.Anio, DireccionParametro.Input, TipoParametro.Varchar2);
            parametro.AdicionarParametro(":p_participacion", investigacion.Participacion, DireccionParametro.Input, TipoParametro.Varchar2);
            parametro.AdicionarParametro(":p_exp_participa", investigacion.ExParticipa, DireccionParametro.Input, TipoParametro.Varchar2);
            parametro.AdicionarParametro(":p_escuela", investigacion.Escuela, DireccionParametro.Input, TipoParametro.Decimal);
            parametro.AdicionarParametro(":p_formulario", investigacion.Formulario, DireccionParametro.Input, TipoParametro.Clob);
            parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor);

            var respuesta = EjecutarProcedure <ResultInvInstitucionalDTO>(parametro);

            if (respuesta == null)
            {
                throw new Exception();
            }
            return(new Tuple <string, string>(respuesta.Single().codigo, respuesta.Single().mensaje));
        }