public virtual T GetSingle(Func <T, bool> where, params Expression <Func <T, object> >[] navigationProperties)
        {
            try
            {
                T item = null;
                using (var dbContext = JuryAtheleteEntities.GetDBContext())
                {
                    IQueryable <T> dbQuery = dbContext.Set <T>();

                    //Apply eager loading i.e. include navigation properties
                    foreach (Expression <Func <T, object> > navigationProperty in navigationProperties)
                    {
                        dbQuery = dbQuery.Include <T, object>(navigationProperty);
                    }

                    item = dbQuery
                           .AsNoTracking()         //Don't track any changes for the selected item
                           .FirstOrDefault(where); //Apply where clause
                }
                return(item);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
        public virtual IList <T> GetList(Func <T, bool> where, params Expression <Func <T, object> >[] navigationProperties)
        {
            try
            {
                List <T> list = new List <T>();
                using (var context = JuryAtheleteEntities.GetDBContext())
                {
                    IQueryable <T> dbQuery = context.Set <T>();

                    //Apply eager loading i.e. include navigation properties
                    foreach (Expression <Func <T, object> > navigationProperty in navigationProperties)
                    {
                        dbQuery = dbQuery.Include <T, object>(navigationProperty);
                    }

                    list = dbQuery
                           .AsNoTracking() //Don't track any changes for the selected item
                           .Where(where)   //Apply where clause
                           .ToList <T>();
                }
                return(list);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
 public virtual bool Remove(params T[] items)
 {
     try
     {
         bool result = false;
         using (var dbContext = JuryAtheleteEntities.GetDBContext())
         {
             foreach (T item in items)
             {
                 dbContext.Entry(item).State = EntityState.Deleted;
             }
             result = dbContext.SaveChanges() > 0;
         }
         return(result);
     }
     catch (Exception ex)
     {
         DbEntityValidationException validationException = ex as System.Data.Entity.Validation.DbEntityValidationException;
         if (validationException != null)
         {
             foreach (var entityValidationErrors in validationException.EntityValidationErrors)
             {
                 foreach (var validationError in entityValidationErrors.ValidationErrors)
                 {
                     Logger.Error(validationError.PropertyName + "-" + validationError.ErrorMessage);
                 }
             }
         }
         Logger.Error(ex);
         throw;
     }
 }
 public virtual void Add(JuryAtheleteEntities dbContext, params T[] items)
 {
     try
     {
         foreach (T item in items)
         {
             dbContext.Entry(item).State = EntityState.Added;
         }
     }
     catch (Exception ex)
     {
         DbEntityValidationException validationException = ex as System.Data.Entity.Validation.DbEntityValidationException;
         if (validationException != null)
         {
             foreach (var entityValidationErrors in validationException.EntityValidationErrors)
             {
                 foreach (var validationError in entityValidationErrors.ValidationErrors)
                 {
                     Logger.Error(validationError.PropertyName + "-" + validationError.ErrorMessage);
                 }
             }
         }
         Logger.Error(ex);
         throw;
     }
 }
 public static List <usp_Summary_Result> Summary(int f_officiel_id, int saison)
 {
     try
     {
         var result = new List <usp_Summary_Result>();
         using (var context = JuryAtheleteEntities.GetDBContext())
             result = context.usp_Summary(f_officiel_id, saison).ToList();
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
 public static List <usp_PlannedBenefits_Result> PlannedBenefits(int year, int month)
 {
     try
     {
         var result = new List <usp_PlannedBenefits_Result>();
         using (var context = JuryAtheleteEntities.GetDBContext())
             result = context.usp_PlannedBenefits(year, month).ToList();
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
 public static List <usp_GetOfficielsByCompetition_Result> OfficielsByCompetition(int competitionId)
 {
     try
     {
         var result = new List <usp_GetOfficielsByCompetition_Result>();
         using (var context = JuryAtheleteEntities.GetDBContext())
             result = context.usp_GetOfficielsByCompetition(competitionId).ToList();
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
 public static List <usp_OfficielsMeritantsList_Result> OfficielsMeritantsList()
 {
     try
     {
         var result = new List <usp_OfficielsMeritantsList_Result>();
         using (var context = JuryAtheleteEntities.GetDBContext())
             result = context.usp_OfficielsMeritantsList().ToList();
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
 public static List <usp_Upcomingcompetitions_Result> Upcomingcompetitions()
 {
     try
     {
         var result = new List <usp_Upcomingcompetitions_Result>();
         using (var context = JuryAtheleteEntities.GetDBContext())
             result = context.usp_Upcomingcompetitions().ToList();
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
 public virtual void SaveChanges(JuryAtheleteEntities dbContext)
 {
     try
     {
         dbContext.SaveChanges();
     }
     catch (Exception ex)
     {
         DbEntityValidationException validationException = ex as System.Data.Entity.Validation.DbEntityValidationException;
         if (validationException != null)
         {
             foreach (var entityValidationErrors in validationException.EntityValidationErrors)
             {
                 foreach (var validationError in entityValidationErrors.ValidationErrors)
                 {
                     Logger.Error(validationError.PropertyName + "-" + validationError.ErrorMessage);
                 }
             }
         }
         Logger.Error(ex);
         throw;
     }
 }