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)); } }