/// <summary> /// Funcion que elimina un registro en la tabla a partir de un Objeto /// </summary> /// <param name="obj">Clase desde la que se van a eliminar los valores a la tabla</param> /// <param name="bValidar">Valor que indica si se debe realizar la validación en base a los DataAnnotation</param> /// <returns>Valor TRUE or FALSE que indica el exito de la operacion</returns> public bool Delete(EntSegMensajeserror obj, bool bValidar = true) { bool bProcede = false; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(CParametros.StrBaseUri); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (!string.IsNullOrEmpty(CApiAuth.StrToken)) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", CApiAuth.StrToken); } HttpResponseMessage response = client.DeleteAsync(CParametros.StrApiTables + EntSegMensajeserror.StrNombreTabla + "/" + obj.errorsme + "/" + obj.aplicacionsap).Result; if (response.StatusCode == HttpStatusCode.OK) { var strResult = response.Content.ReadAsStringAsync().Result; bProcede = true; } else { throw new CApiExcepcion(response); } } return(bProcede); }
/// <summary> /// Funcion que obtiene los datos de un Objeto a partir de la llave primaria /// </summary> /// <param name="intidsus">Llave Primaria</param> /// <returns>Objeto que coincide con la llave primaria buscada</returns> public EntSegMensajeserror ObtenerObjeto(int interrorsme, String Stringaplicacionsap) { var obj = new EntSegMensajeserror(); using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(CParametros.StrBaseUri); MediaTypeWithQualityHeaderValue contentType = new MediaTypeWithQualityHeaderValue("application/json"); client.DefaultRequestHeaders.Accept.Add(contentType); if (!string.IsNullOrEmpty(CApiAuth.StrToken)) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", CApiAuth.StrToken); } HttpResponseMessage response = client.GetAsync(CParametros.StrApiTables + EntSegMensajeserror.StrNombreTabla + "/" + interrorsme + "/" + Stringaplicacionsap).Result; if (response.StatusCode == HttpStatusCode.OK) { var stringData = response.Content.ReadAsStringAsync().Result; obj = JsonConvert.DeserializeObject <EntSegMensajeserror>(stringData); } else { throw new CApiExcepcion(response); } } return(obj); }
/// <summary> /// Funcion que actualiza un registro en la tabla a partir de un Objeto /// </summary> /// <param name="obj">Clase desde la que se van a actualizar los valores a la tabla</param> /// <param name="bValidar">Valor que indica si se debe realizar la validación en base a los DataAnnotation</param> /// <returns>Valor TRUE or FALSE que indica el exito de la operacion</returns> public bool Update(EntSegMensajeserror obj, bool bValidar = true) { bool bProcede = false; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(CParametros.StrBaseUri); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (!string.IsNullOrEmpty(CApiAuth.StrToken)) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", CApiAuth.StrToken); } string stringData = JsonConvert.SerializeObject(obj.CreateApiObject()); var contentData = new StringContent(stringData, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PutAsync(CParametros.StrApiTables, contentData).Result; if (response.StatusCode == HttpStatusCode.OK) { var strResult = response.Content.ReadAsStringAsync().Result; bProcede = true; } else { throw new CApiExcepcion(response); } } return(bProcede); }
public static void CargarError(Exception _myExp, out string mensaje, out string causa, out string accion, out string comentario, out string origen) { mensaje = ""; causa = ""; accion = ""; comentario = ""; origen = ""; try { var rn = new RnSegMensajeserror(); EntSegMensajeserror obj = new EntSegMensajeserror(); if (_myExp.GetType() == typeof(PostgresException)) { NpgsqlException sqlExp = (NpgsqlException)_myExp; string strCodigoError = sqlExp.Message.Replace("P0001: ", ""); obj = rn.ObtenerObjeto(EntSegMensajeserror.Fields.aplicacionerrorsme, "'" + strCodigoError.Substring(0, 9) + "'"); if (obj != null) { string descripcionMsg = obj.descripcionsme; string errorMsg = sqlExp.Message; while (descripcionMsg.Contains("%n")) { int indiceInicio = errorMsg.IndexOf("##"); errorMsg = ReplaceFirst(errorMsg, "##", " "); int indiceFinal = errorMsg.IndexOf("##"); if (indiceFinal < 0) { indiceFinal = errorMsg.Length; } string strVariable = errorMsg.Substring(indiceInicio, indiceFinal - indiceInicio); descripcionMsg = ReplaceFirst(descripcionMsg, "%n", strVariable); } mensaje = obj.aplicacionerrorsme + ": " + descripcionMsg; causa = obj.causasme; accion = obj.accionsme; comentario = obj.comentariosme; origen = obj.origensme; } else { mensaje = "Se ha producido un error. Revise el Detalle adjunto."; causa = sqlExp.Message; } } else { obj = rn.ObtenerObjeto(EntSegMensajeserror.Fields.aplicacionerrorsme, "'" + _myExp.Message.Substring(0, 9) + "'"); if (obj != null) { string descripcionMsg = obj.descripcionsme; string errorMsg = _myExp.Message; while (descripcionMsg.Contains("%n")) { int indiceInicio = errorMsg.IndexOf("##"); errorMsg = ReplaceFirst(errorMsg, "##", " "); int indiceFinal = errorMsg.IndexOf("##"); if (indiceFinal < 0) { indiceFinal = errorMsg.Length; } string strVariable = errorMsg.Substring(indiceInicio, indiceFinal - indiceInicio); descripcionMsg = ReplaceFirst(descripcionMsg, "%n", strVariable); } mensaje = obj.aplicacionerrorsme + ": " + descripcionMsg; causa = obj.causasme; accion = obj.accionsme; comentario = obj.comentariosme; origen = obj.origensme; } else { mensaje = _myExp.Message; causa = _myExp.StackTrace; } } } catch (Exception exp) { mensaje = _myExp.Message; causa = _myExp.StackTrace; } }