// PUT /tbLogManifesto/token/ public HttpResponseMessage Put(string token, [FromBody] tbLogManifesto param) { // Abre nova conexão using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext()) { tbLogAcessoUsuario log = new tbLogAcessoUsuario(); try { log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Put", _db); HttpResponseMessage retorno = new HttpResponseMessage(); if (Permissoes.Autenticado(token, _db)) { GatewayTbLogManifesto.Update(token, param, _db); log.codResposta = (int)HttpStatusCode.OK; Bibliotecas.LogAcaoUsuario.Save(log, _db); return(Request.CreateResponse(HttpStatusCode.OK)); } else { log.codResposta = (int)HttpStatusCode.Unauthorized; Bibliotecas.LogAcaoUsuario.Save(log, _db); 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> /// Adiciona nova TbLogManifesto /// </summary> /// <param name="param"></param> /// <returns></returns> public static Int32 Add(string token, tbLogManifesto param, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { // Atualiza o contexto //((IObjectContextAdapter)_db).ObjectContext.Refresh(RefreshMode.StoreWins, _db.ChangeTracker.Entries().Select(c => c.Entity)); _db.tbLogManifestos.Add(param); _db.SaveChanges(); return(param.idLog); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao salvar TbLogManifesto" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }
/// <summary> /// Altera tbLogManifesto /// </summary> /// <param name="param"></param> /// <returns></returns> public static void Update(string token, tbLogManifesto param, painel_taxservices_dbContext _dbContext = null) { painel_taxservices_dbContext _db; if (_dbContext == null) { _db = new painel_taxservices_dbContext(); } else { _db = _dbContext; } try { // Atualiza o contexto //((IObjectContextAdapter)_db).ObjectContext.Refresh(RefreshMode.StoreWins, _db.ChangeTracker.Entries().Select(c => c.Entity)); tbLogManifesto value = _db.tbLogManifestos .Where(e => e.idLog.Equals(param.idLog)) .First <tbLogManifesto>(); // OBSERVAÇÂO: VERIFICAR SE EXISTE ALTERAÇÃO NO PARAMETROS if (param.idLog != null && param.idLog != value.idLog) { value.idLog = param.idLog; } if (param.dtLogInicio != null && param.dtLogInicio != value.dtLogInicio) { value.dtLogInicio = param.dtLogInicio; } if (param.dsXmlEntrada != null && param.dsXmlEntrada != value.dsXmlEntrada) { value.dsXmlEntrada = param.dsXmlEntrada; } if (param.cdRetorno != null && param.cdRetorno != value.cdRetorno) { value.cdRetorno = param.cdRetorno; } if (param.dsRetorno != null && param.dsRetorno != value.dsRetorno) { value.dsRetorno = param.dsRetorno; } if (param.dsMetodo != null && param.dsMetodo != value.dsMetodo) { value.dsMetodo = param.dsMetodo; } if (param.dsXmlRetorno != null && param.dsXmlRetorno != value.dsXmlRetorno) { value.dsXmlRetorno = param.dsXmlRetorno; } if (param.dtLogFim != null && param.dtLogFim != value.dtLogFim) { value.dtLogFim = param.dtLogFim; } _db.SaveChanges(); } catch (Exception e) { if (e is DbEntityValidationException) { string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e); throw new Exception(erro.Equals("") ? "Falha ao alterar TbLogManifesto" : erro); } throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message); } finally { if (_dbContext == null) { // Fecha conexão _db.Database.Connection.Close(); _db.Dispose(); } } }