public async void InsertDatabaseLog(DataBaseLog log) { var options = new DbContextOptionsBuilder <FishingManagerContext>() .UseSqlServer(new SqlConnection(_configuration.GetConnectionString("FishingManager"))) .Options; var context = new FishingManagerContext(options); await context.DataBaseLogs.AddAsync(log); await context.SaveChangesAsync(); }
public void SaveAllDataBaseLogs() { // Act DataBaseLog.Save(LogTypeEnum.SUCCESS, "Success log."); DataBaseLog.Save(LogTypeEnum.INFO, "Info log."); DataBaseLog.Save(LogTypeEnum.PROCESS, "Process log."); DataBaseLog.Save(LogTypeEnum.TRACKING, "Tracking log."); DataBaseLog.Save(LogTypeEnum.WARNING, "Warning log."); DataBaseLog.Save(LogTypeEnum.ERROR, "Error log."); DataBaseLog.Save(LogTypeEnum.EXCEPTION, "Exception log."); }
/// <summary> /// Atualiza os dados to tipo <see cref="IORM{T}"/> que e passado no parâmetro /// </summary> /// <param name="item">objeto de classe que implementa e interface <see cref="IORM{T}"/></param> /// <returns>retorna um valor numérico indicando o resultado da operação</returns> public int Update(IORM <T> item) { return(ConnectionException <int> .AsyncCheck(() => { using (var connection = OpenDB()) { connection.Open(); DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"atualização de dados: {item.GetThis()}")); if (UpdateString == null) { UpdateString = item.GetThis().QueryUpdate(); } return connection.Execute(UpdateString, item); } })); }
/// <summary> /// Adiciona um elemento do tipo <see cref="IORM{T}"/> no banco de dados /// </summary> /// <param name="item">objeto de classe que implementa e interface <see cref="IORM{T}"/></param> /// <returns>retorna um valor numérico indicando o resultado da operação</returns> public int?Add(IORM <T> item) { return(ConnectionException <int> .AsyncCheck(() => { using (var connection = OpenDB()) { connection.Open(); DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"inserção do registro: {item.GetThis()}")); if (AddString == null) { AddString = item.GetThis().QueryAdd(); } return connection.Execute(AddString, item); } })); }
/// <summary> /// Exevcuta um comando sql apartir de um arquivo /// </summary> /// <param name="url">Diretorio do arquivo</param> public void OfTheFile(string url) { try { using (Stream stream = File.Open($"{url}", FileMode.Open)) using (StreamReader reader = new StreamReader(stream)) { using (var connection = OpenDB()) { connection.Open(); connection.Execute(reader.ReadToEnd()); } } } catch (IOException e) { DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"{e.Message}")); } catch (Exception e) { DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"{e.Message}")); } }
/// <summary> /// Remove um elemento do tipo <see cref="IORM{T}"/> do banco de dados /// </summary> /// <param name="Id">número de identificação</param> /// <returns>retorna um valor numérico indicando o resultado da operação</returns> public int Remove(int Id) { if (!(Activator.CreateInstance <T>() is IORM <T>)) { throw new ArgumentException("class not implement interface IBean"); } return(ConnectionException <int> .AsyncCheck(() => { using (var connection = OpenDB()) { connection.Open(); DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"remoção do registro: {Id}")); if (RemoveString == null) { RemoveString = Activator.CreateInstance <T>().QueryRemove(); } return connection.Execute(RemoveString, new { id = Id }); } })); }
/// <summary> /// Pesquisa um elemento do tipo <see cref="IORM{T}"/> no banco de dados com base em seu Id /// </summary> /// <param name="Id">número de indentificação</param> /// <returns>retorna um tipo <see cref="IORM{T}"/></returns> public T FindById(int Id) { return(ConnectionException <T> .AsyncCheck((Func <T>)(() => { if (!(Activator.CreateInstance <T>() is IORM <T>)) { throw new ArgumentException("class not implement interface IBean"); } using (var connection = OpenDB()) { connection.Open(); DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"registro pesquisado: {Id}")); if (FindByIdString == null) { FindByIdString = Activator.CreateInstance <T>().QueryFindById(); } return ReflectionConvert(connection.Query(FindByIdString, new { id = Id }).FirstOrDefault()); } }))); }
/// <summary> /// Seleciona todos elementos do tipo <see cref="IORM{T}"/> no banco de dados /// </summary> /// <returns>retorna um lista de elementos <see cref="IORM{T}"/></returns> public List <T> FindAll() { return(ConnectionException <T> .AsyncCheck(() => { if (!(Activator.CreateInstance <T>() is IORM <T>)) { throw new ArgumentException("class not implement interface IBean"); } using (var connection = OpenDB()) { connection.Open(); DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>("listagem de dados")); if (FindAllString == null) { FindAllString = Activator.CreateInstance <T>().QueryFindAll(); } return ReflectionConvertList(connection.Query(FindAllString)); } })); }
public async Task <bool> Complete() { try { await _context.SaveChangesAsync(); return(true); } catch (Exception e) { var log = new DataBaseLog() { Type = "Error Infringement Repository", Message = e.InnerException?.Message, CreatedAt = DateTime.Now }; _logger.InsertDatabaseLog(log); return(false); } }
/// <summary> /// Realiza operacoes customizadas no banco de dados /// </summary> /// <returns>Retorna o objeto resultante da operacao</returns> /// <param name="obj">Dados de objetos para serem verificados no banco de daods</param> public object Custom(object obj = null) { try { using (var connection = OpenDB()) { connection.Open(); DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"execucao avancada")); if (CustomString != null && obj != null) { return(connection.Query <object>(CustomString, obj)); } else if (CustomString != null) { return(connection.Query <object>(CustomString)); } throw new ArgumentNullException($"referencia nula fornecida {nameof(obj)} ou {nameof(CustomString)}"); } } catch (Exception e) { DataBaseLog?.Invoke(this, new ConnectionEventArgs <T>($"{e.Message}")); } return(null); }
public void SaveDataBaseLog() { // Act DataBaseLog.Save("Try save log."); }
public void SaveDataBaseLogException() { // Act DataBaseLog.Save("Try save log."); }
static void Main(string[] args) { // ## LOG //Default log Log.Write("Log test"); //Write by type Log.Write(LogTypeEnum.SUCCESS, "Success log"); Log.Write(LogTypeEnum.INFO, "Info log"); Log.Write(LogTypeEnum.PROCESS, "Process log"); Log.Write(LogTypeEnum.TRACKING, "Tracking log"); Log.Write(LogTypeEnum.WARNING, "Warning log"); Log.Write(LogTypeEnum.ERROR, "Error log"); Log.Write(LogTypeEnum.EXCEPTION, "Exception log"); //Write with format Log.Write(LogTypeEnum.INFO, "Format of the log {0}", "AnayaRojo"); //Write exception Log.Write(new Exception("Log exception")); // ## CONSOLE LOG //Default log ConsoleLog.Show("Log test"); //Show by type ConsoleLog.Show(LogTypeEnum.SUCCESS, "Success log"); ConsoleLog.Show(LogTypeEnum.INFO, "Info log"); ConsoleLog.Show(LogTypeEnum.PROCESS, "Process log"); ConsoleLog.Show(LogTypeEnum.TRACKING, "Tracking log"); ConsoleLog.Show(LogTypeEnum.WARNING, "Warning log"); ConsoleLog.Show(LogTypeEnum.ERROR, "Error log"); ConsoleLog.Show(LogTypeEnum.EXCEPTION, "Exception log"); //Show with format ConsoleLog.Show(LogTypeEnum.INFO, "Format of the log {0}", "AnayaRojo"); //Show exception ConsoleLog.Show(new Exception("Log exception")); // ## EVENT LOG //Default log EventLog.Save("Log test"); //Save by type EventLog.Save(LogTypeEnum.SUCCESS, "Success log"); EventLog.Save(LogTypeEnum.INFO, "Info log"); EventLog.Save(LogTypeEnum.PROCESS, "Process log"); EventLog.Save(LogTypeEnum.TRACKING, "Tracking log"); EventLog.Save(LogTypeEnum.WARNING, "Warning log"); EventLog.Save(LogTypeEnum.ERROR, "Error log"); EventLog.Save(LogTypeEnum.EXCEPTION, "Exception log"); //Save with format EventLog.Save(LogTypeEnum.INFO, "Format of the log {0}", "AnayaRojo"); //Save exception EventLog.Save(new Exception("Log exception")); // ## DATA BASE LOG //Default log DataBaseLog.Save("Log test"); //Save by type DataBaseLog.Save(LogTypeEnum.SUCCESS, "Success log"); DataBaseLog.Save(LogTypeEnum.INFO, "Info log"); DataBaseLog.Save(LogTypeEnum.PROCESS, "Process log"); DataBaseLog.Save(LogTypeEnum.TRACKING, "Tracking log"); DataBaseLog.Save(LogTypeEnum.WARNING, "Warning log"); DataBaseLog.Save(LogTypeEnum.ERROR, "Error log"); DataBaseLog.Save(LogTypeEnum.EXCEPTION, "Exception log"); //Save with format DataBaseLog.Save(LogTypeEnum.INFO, "Format of the log {0}", "AnayaRojo"); //Save exception DataBaseLog.Save(new Exception("Log exception")); // ## MAIL LOG //Default log MailLog.Send("Log test"); //Send by type MailLog.Send(LogTypeEnum.SUCCESS, "Success log"); MailLog.Send(LogTypeEnum.INFO, "Info log"); MailLog.Send(LogTypeEnum.PROCESS, "Process log"); MailLog.Send(LogTypeEnum.TRACKING, "Tracking log"); MailLog.Send(LogTypeEnum.WARNING, "Warning log"); MailLog.Send(LogTypeEnum.ERROR, "Error log"); MailLog.Send(LogTypeEnum.EXCEPTION, "Exception log"); //Send with format MailLog.Send(LogTypeEnum.INFO, "Format of the log {0}", "AnayaRojo"); //Send exception MailLog.Send(new Exception("Log exception")); }