//Crear nivel de publicacion
 public async Task Create(NivelPublicacion NivelPublicacion)
 {
     try
     {
         _ctx.NivelPublicacion.Add(NivelPublicacion);
         await _ctx.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
                                                            //Actualizar nivel de publicacion
                                                            public async Task Update(NivelPublicacion NivelPublicacion)
                                                            {
                                                                try
                                                                {
                                                                    var _NivelPublicacion = await _ctx.NivelPublicacion.FirstOrDefaultAsync(e => e.NivelPublicacionId == NivelPublicacion.NivelPublicacionId);

                                                                    if (_NivelPublicacion != null)
                                                                    {
                                                                        _NivelPublicacion.Descripcion      = NivelPublicacion.Descripcion;
                                                                        _NivelPublicacion.DescripcionCorta = NivelPublicacion.DescripcionCorta;

                                                                        await _ctx.SaveChangesAsync();
                                                                    }
                                                                }
                                                                catch (Exception e)
                                                                {
                                                                    throw new Exception(e.Message, e);
                                                                }
                                                            }
                                                              public async Task <IHttpActionResult> UpdateEstado(NivelPublicacion NivelPublicacion)
                                                              {
                                                                  try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                        await _NiPubRepo.UpdateEstado(NivelPublicacion);

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

                                                                                        return(InternalServerError(e)); }
                                                              }
                                                              //crear nivel publicacion
                                                              [HttpPost][Authorize] public async Task <IHttpActionResult> Create(NivelPublicacion NivelPublicacion)
                                                              {
                                                                  try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                        await _NiPubRepo.Create(NivelPublicacion);

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

                                                                                        return(InternalServerError(e)); }
                                                              }