// POST /tbAssinante/token/ public HttpResponseMessage Post(string token, [FromBody] tbAssinante param) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "POST"); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token)) { short dados = GatewayTbAssinante.Add(token, param); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse <short>(HttpStatusCode.OK, dados)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log); return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } } catch (Exception e) { log.codResposta = (int)HttpStatusCode.InternalServerError; log.msgErro = e.Message; Bibliotecas.LogAcaoUsuario.Save(log); throw new HttpResponseException(HttpStatusCode.InternalServerError); } }
/// <summary> /// Altera tbAssinante /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Update(string token, List <Assinante> param) { try { // Atualiza o contexto //((IObjectContextAdapter)_db).ObjectContext.Refresh(RefreshMode.StoreWins, _db.ChangeTracker.Entries().Select(c => c.Entity)); foreach (Assinante p in param) { int iduser; if (p.id_users == 0) { iduser = Permissoes.GetIdUser(token); } else { iduser = p.id_users; } // Se encontrar no banco e o usuário desabilitar, delete o registro tbAssinante valor = _db.tbAssinantes .Where(a => a.cdCatalogo == p.cdCatalogo && a.id_users == iduser) .FirstOrDefault(); if (valor != null) { if (!p.flInscrito) { _db.tbAssinantes.Remove(valor); _db.SaveChanges(); } } // Se não encontrar e o usuário habilitar, grave o registro else if (p.flInscrito) { valor = new tbAssinante(); valor.id_users = iduser; valor.cdCatalogo = p.cdCatalogo; _db.tbAssinantes.Add(valor); _db.SaveChanges(); } } } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao alterar TbAssinante" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } }
/// <summary> /// Adiciona nova TbAssinante /// </summary> /// <param name="param"></param> /// <returns></returns> public static short Add(string token, tbAssinante param) { try { // Atualiza o contexto ((IObjectContextAdapter)_db).ObjectContext.Refresh(RefreshMode.StoreWins, _db.ChangeTracker.Entries().Select(c => c.Entity)); _db.tbAssinantes.Add(param); _db.SaveChanges(); return(param.cdCatalogo); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao salvar TbAssinante" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } }