public async Task <IHttpActionResult> SetAutores()
                                                               { //id is FUENTE de proyecto: 'RIIE ACH'
                                                                   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].[tAutorOC]";
                                                                         var entities    = await Task.Run(() => { return(CreateCommandSIGCO2(queryString)); });

                                                                         string JSONresult;
                                                                         JSONresult = JsonConvert.SerializeObject(entities);
                                                                         JavaScriptSerializer jss    = new JavaScriptSerializer();
                                                                         var                 autores = jss.Deserialize <List <TAutorOC> >(JSONresult);
                                                                         TAutorOC            autor   = new TAutorOC();
                                                                         InformeTFRepository itfR    = new InformeTFRepository();
                                                                         var                 itfIds  = await itfR.getAllBySinFKs();

                                                                         var a = new AutorITF();
                                                                         AutorITFRepository autR = new AutorITFRepository();

                                                                         foreach (var i in itfIds)
                                                                         {
                                                                             int ids2 = i.idSigco2 == null ? 0 : i.idSigco2.Value;
                                                                             var x    = autores.Where(y => y.idOC == ids2.ToString()).ToList();
                                                                             if (x != null)
                                                                             {
                                                                                 foreach (var e in x)
                                                                                 {
                                                                                     a = new AutorITF();
                                                                                     if (e.idOC.Contains("3011"))
                                                                                     {
                                                                                         var foo = "";
                                                                                     }
                                                                                     a.AutorITFId            = String.Concat(e.idOC.Trim(), "-" + e.numEmp.Trim()).Trim();
                                                                                     a.InformeTecnicoFinalId = i.InformeTecnicoFinalId.Trim();
                                                                                     a.Estado     = true;
                                                                                     a.ClaveAutor = e.numEmp.Trim();
                                                                                     try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                                           await autR.Create(a); }
                                                                                     catch (Exception ex)
                                                                                     {
                                                                                         autR = new AutorITFRepository();
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }

                                                                         return(Ok("ok")); }
                                                                   catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                         e.Source = max + "";
                                                                                         return(InternalServerError(e)); }
                                                               }
 public async Task Create(AutorITF model)
 {
     try
     {
         _db.dbSetAutorITF.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
        public async Task Update(AutorITF model)
        {
            try
            {
                var _model = await _db.dbSetAutorITF.FirstOrDefaultAsync(e => e.AutorITFId == model.AutorITFId);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <IHttpActionResult> AddAutor(AutorITF autor)
        {
            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                if (String.IsNullOrEmpty(autor.AutorITFId))
                {
                    autor.AutorITFId = autor.InformeTecnicoFinalId + "-" + autor.ClaveAutor;
                }
                await dbITF.AddAutor(autor);

                return(Ok("Registro creado exitosamente!"));
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                return(InternalServerError(e));
            }
        }