public async Task <IHttpActionResult> GetAllOCsSIGCO2()
                                                               {
                                                                   var max = 0;

                                                                   try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                         //SIGCOEntities.
                                                                         //SIGCOEntities sigco = new SIGCOEntities(System.Configuration.ConfigurationManager.ConnectionStrings["SIGCOEntities"].ConnectionString);
                                                                         var queryString = "select *  FROM [SIGCO].[MT].[tOC]";
                                                                         var entities    = await Task.Run(() => { return(CreateCommandSIGCO2(queryString)); });

                                                                         string JSONresult;
                                                                         JSONresult = JsonConvert.SerializeObject(entities);
                                                                         JavaScriptSerializer jss = new JavaScriptSerializer();
                                                                         jss.MaxJsonLength = 5000000;


                                                                         //2097152
                                                                         //3259099
                                                                         var itfv2 = jss.Deserialize <List <ItfV2> >(JSONresult);
                                                                         InformeTecnicoFinal        itf   = new InformeTecnicoFinal();
                                                                         List <InformeTecnicoFinal> lista = new List <InformeTecnicoFinal>();
                                                                         DateTime           actual        = DateTime.Now;
                                                                         DateTime           actualMinus12 = actual.AddYears(-12);
                                                                         ITFgeneral         gral          = null;
                                                                         ProyectoRepository repProy       = new ProyectoRepository();
                                                                         var proyectos = await repProy.GetAllNumerosProyectoTRIM();

                                                                         var proyectosv2 = itfv2.Select(x => x.numProyecto).ToList <String>();

                                                                         var dif = proyectosv2.Except(proyectos);

                                                                         string print = string.Join("','", proyectos.ToArray());
                                                                         TransferenciaRIIEController ctrl = new TransferenciaRIIEController();
                                                                         ctrl.Configuration = new HttpConfiguration();
                                                                         var itfv2ByProyectos = itfv2.FindAll(e => proyectos.Contains(e.numProyecto.Trim()));
                                                                         foreach (var i2 in itfv2ByProyectos)
                                                                         {
                                                                             //if (!String.IsNullOrEmpty(i2.numProyecto))
                                                                             //{
                                                                             //    if (i2.numProyecto.Contains("14342"))
                                                                             //    {
                                                                             //        var xyz = 22;
                                                                             //    }
                                                                             //}

                                                                             if (i2.estadoOC != 1 || String.IsNullOrEmpty(i2.numProyecto) || String.IsNullOrEmpty(i2.resumen))
                                                                             {
                                                                                 continue;
                                                                             }


                                                                             gral = new ITFgeneral();
                                                                             itf  = new InformeTecnicoFinal();
                                                                             try {
                                                                                 itf.InformeTecnicoFinalId  = String.Concat(i2.id, "-", i2.numProyecto.Trim(), "-", i2.idInforme).Trim();
                                                                                 itf.ClasificacionSignatura = i2.clasificacion.Trim();
                                                                                 itf.Titulo           = i2.tituloOC.Trim();
                                                                                 itf.EstadoITFFlujoId = 4;
                                                                                 itf.ProyectoId       = i2.numProyecto.Trim();

                                                                                 itf.idSigco2                  = i2.id;
                                                                                 itf.idInformeRIIE             = i2.idInforme;
                                                                                 itf.ultraConfidencial         = i2.ultraConfidencial;
                                                                                 itf.FechaAutorizacion         = i2.fechaRecepcion;
                                                                                 itf.FechaPublicacion          = i2.fechaCaptura;
                                                                                 itf.ClaveUnidadOrganizacional = i2.idGerencia.Trim();
                                                                                 itf.ClaveUnidadPadre          = i2.idDivision.Trim();

                                                                                 if (itf.FechaPublicacion != null)
                                                                                 {
                                                                                     try {
                                                                                         itf.AnioElaboracion = itf.FechaPublicacion.Value.Year;
                                                                                     }
                                                                                     catch (Exception exY) { }
                                                                                 }
                                                                                 itf.NumInforme = i2.numInforme.Trim();

                                                                                 gral.ITFgeneralId = itf.InformeTecnicoFinalId;
                                                                                 gral.Resumen      = i2.resumen.Trim();
                                                                                 gral.AccesoTipo   = 2;
                                                                                 if (i2.fechaCaptura != null)
                                                                                 {
                                                                                     if (i2.fechaCaptura < actualMinus12)
                                                                                     {
                                                                                         gral.AccesoTipo = 1;
                                                                                     }
                                                                                 }

                                                                                 itf.ITFgeneral = gral;
                                                                             }catch (Exception e) { log.Warn(new MDCSet(this.ControllerContext.RouteData) + "<for>", e); }
                                                                             ctrl.Validate(itf);
                                                                             if (ctrl.ModelState.IsValid)
                                                                             {
                                                                                 lista.Add(itf);
                                                                             }
                                                                             else
                                                                             {
                                                                                 log.Warn(new MDCSet(this.ControllerContext.RouteData), new Exception("!ModelState.IsValid"));
                                                                                 ctrl = new TransferenciaRIIEController();
                                                                                 ctrl.Configuration = new HttpConfiguration();
                                                                                 var foo = "";
                                                                             }
                                                                         }
                                                                         //lista.Add(itf);
                                                                         InformeTFRepository repo = new InformeTFRepository();
                                                                         var fullsave             = await repo.CreateAll(lista);

                                                                         var obj = new
                                                                         {
                                                                             proyectosv2 = proyectosv2,
                                                                             proyectos   = proyectos,
                                                                             dif         = dif,
                                                                             fullsave    = fullsave
                                                                         };
                                                                         return(Ok(obj)); }
                                                                   catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                         e.Source = max + "";
                                                                                         return(InternalServerError(e)); }
                                                               }