コード例 #1
0
 private void DbAction(Action <AutoServiceDb> action, Action <AutoServiceDb> finallyAction = null)
 {
     using (AutoServiceDb context = new AutoServiceDb(_connectionString))
     {
         DbAction(context, action, finallyAction);
     }
 }
コード例 #2
0
 internal void Create(AutoServiceDb inputContext)
 {
     DbAction(inputContext, context =>
     {
         if (context.Database.Exists())
         {
             context.Database.Delete();
         }
         context.Database.Create();
     });
 }
コード例 #3
0
 internal void Connect(AutoServiceDb inputContext)
 {
     DbAction(inputContext, context =>
     {
         if (!context.Database.Exists())
         {
             throw new DatabaseMissingException("Базы данных не существует");
         }
         Load(context);
     });
 }
コード例 #4
0
 private void DbAction(AutoServiceDb context, Action <AutoServiceDb> action,
                       Action <AutoServiceDb> finallyAction = null)
 {
     using (context)
     {
         try
         {
             action(context);
         }
         catch (Exception e)
         {
             _logger.Log(e);
             _logger.SetError(this);
         }
         finally
         {
             finallyAction?.Invoke(context);
         }
     }
 }
コード例 #5
0
 internal void CreateIfNotExists(AutoServiceDb inputContext)
 {
     DbAction(inputContext, context => { context.Database.CreateIfNotExists(); });
 }
コード例 #6
0
 internal void Load(AutoServiceDb context)
 {
     _orders    = context.Orders.ToList();
     _customers = context.Customers.ToList();
     _cars      = context.Cars.ToList();
 }