public async Task <IHttpActionResult> Update(ManualCompetenciaTecnica Obj)
                                                                      {
                                                                          try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                                if (Obj.Adjunto != null)
                                                                                {
                                                                                    //Elimar archivo
                                                                                    if (Obj.Adjunto.nombre == "eliminar")
                                                                                    {
                                                                                        int id = Convert.ToInt32(Obj.AdjuntoId);
                                                                                        Obj.AdjuntoId = null;
                                                                                        await _repository.Update(Obj);

                                                                                        await _adjuntoRepo.Delete(id);

                                                                                        return(Ok());
                                                                                    }
                                                                                    ///Agregar archivo al editar
                                                                                    if (Obj.Adjunto.AdjuntoId == 0)
                                                                                    {
                                                                                        Adjunto key = await _adjuntoRepo.CreateAd(Obj.Adjunto);

                                                                                        Obj.AdjuntoId         = key.AdjuntoId;
                                                                                        Obj.Adjunto.AdjuntoId = key.AdjuntoId;
                                                                                        await _repository.Update(Obj);

                                                                                        return(Ok(key));
                                                                                    }
                                                                                }
                                                                                //solución de ALAN replicada
                                                                                if (Obj.Adjunto != null)
                                                                                {
                                                                                    Obj.AdjuntoId = Obj.Adjunto.AdjuntoId;
                                                                                }
                                                                                await _repository.Update(Obj);

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

                                                                                                return(InternalServerError(e)); }
                                                                      }
 public async Task Create(ManualCompetenciaTecnica Obj)
 {
     try
     {
         _ctx.ManualCompetenciaTecnica.Add(Obj);
         await _ctx.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
                                                                      [Authorize] public async Task <IHttpActionResult> Create(ManualCompetenciaTecnica Obj)
                                                                      {
                                                                          try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                                await _repository.Create(Obj);

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

                                                                                                return(InternalServerError(e)); }
                                                                      }
                                                                    public async Task Update(ManualCompetenciaTecnica Obj)// UpdateSolicitud
                                                                    {
                                                                        try
                                                                        {
                                                                            var result = await _ctx.ManualCompetenciaTecnica.FirstOrDefaultAsync(e => e.ManualCompetenciaTecnicaId == Obj.ManualCompetenciaTecnicaId);

                                                                            if (result != null)
                                                                            {
                                                                                _ctx.Entry(result).CurrentValues.SetValues(Obj);

                                                                                await _ctx.SaveChangesAsync();
                                                                            }
                                                                        }
                                                                        catch (Exception e)
                                                                        {
                                                                            throw new Exception(e.Message, e);
                                                                        }
                                                                    }