public virtual DataServiceProcessingResult <List <TEntity> > Add(List <TEntity> entityToAdd) { var result = new DataServiceProcessingResult <List <TEntity> >() { Success = false, Data = null }; try { foreach (var entity in entityToAdd) { _context.Add(entity); } _context.SaveChanges(); } catch (Exception e) { var errorMessage = string.Format("Could not add entities into the database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorMessage); return(result); } result.Success = true; result.Data = entityToAdd; return(result); }
public virtual DataServiceProcessingResult <List <TEntity> > Get(Expression <Func <TEntity, bool> > predicate, int pageSize, int pageNumber, params string[] includes) { var entities = new List <TEntity>(); var result = new DataServiceProcessingResult <List <TEntity> >() { Success = false, Data = null }; try { entities = DbSet.IncludeMany(includes).Where(predicate).Skip((pageNumber) * pageSize).Take(pageSize).ToList(); if (entities == null) { return(result); } _context.SaveChanges(); } catch (Exception e) { var errorMessage = string.Format("Could not get the entities from database."); result.Error = new ProcessingError("1", "", null, adminMessage: errorMessage); return(result); } result.Data = entities; result.Success = true; return(result); }
public virtual DataServiceProcessingResult <List <T2> > Get <T2>(Expression <Func <TEntity, bool> > wherePredicate, Expression <Func <TEntity, T2> > selectPredicate, params string[] includes) { var entities = new List <T2>(); var result = new DataServiceProcessingResult <List <T2> >() { Success = false, Data = null }; try { entities = DbSet.IncludeMany(includes).Where(wherePredicate).Select(selectPredicate).ToList(); if (entities == null) { return(result); } _context.SaveChanges(); } catch (Exception e) { var errorMessage = string.Format("Could not fetch the entities from database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorMessage); return(result); } result.Success = true; result.Data = entities; return(result); }
public virtual DataServiceProcessingResult <TEntity> Delete(string id) { var result = new DataServiceProcessingResult <TEntity>() { Success = false, Data = null }; var existingEntityResult = this.Get(id); if (!existingEntityResult.Success) { return(result); } try { _context.Remove <TEntity>(existingEntityResult.Data); _context.SaveChanges(); } catch (Exception e) { var errorDescription = string.Format("Could not remove the entity from database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorDescription); return(result); } result.Success = true; return(result); }
public virtual DataServiceProcessingResult <TEntity> Get(TEntity entityToFind) { TEntity entity; var result = new DataServiceProcessingResult <TEntity>() { Success = false, Data = null }; try { entity = _context.Find <TEntity>(entityToFind); if (entity == null) { return(result); } _context.SaveChanges(); } catch (Exception e) { var errorMessage = string.Format("Could not fetch the entities into database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorMessage); return(result); } result.Data = entity; result.Success = true; return(result); }
public virtual DataServiceProcessingResult <List <TEntity> > Get(Expression <Func <TEntity, bool> > predicate, int pageSize, int pageNumber, string sortingColumn, string sortingDirection, params string[] includes) { var entities = new List <TEntity>(); var result = new DataServiceProcessingResult <List <TEntity> >() { Success = false, Data = null }; try { var queryPredicate = DbSet.IncludeMany(includes).Where(predicate); PropertyInfo property = !string.IsNullOrEmpty(sortingColumn) ? typeof(TEntity).GetProperty(sortingColumn, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase) : null; if (string.IsNullOrEmpty(sortingDirection) && property != null) { if (sortingDirection == "asc") { queryPredicate = queryPredicate.OrderBy(o => property.GetValue(o, null)); } else if (sortingDirection == "desc") { queryPredicate = queryPredicate.OrderByDescending(o => property.GetValue(o, null)); } } entities = queryPredicate.Skip((pageNumber) * pageSize).Take(pageSize).ToList(); if (entities == null) { return(result); } _context.SaveChanges(); } catch (Exception e) { var errorDescription = string.Format("Could not fetch the entities from database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorDescription); return(result); } result.Data = entities; result.Success = true; return(result); }
public virtual DataServiceProcessingResult <List <TEntity> > Get() { var result = new DataServiceProcessingResult <List <TEntity> >() { Success = false, Data = null }; try { _context.SaveChanges(); } catch (Exception e) { var errorMessage = string.Format("Could not update the Entities into database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorMessage); return(result); } result.Data = DbSet.ToList(); result.Success = true; return(result); }
public virtual DataServiceProcessingResult <List <TEntity> > Delete(List <TEntity> entitiesToDelete) { var result = new DataServiceProcessingResult <List <TEntity> >() { Success = false, Data = null }; var markedToDelete = new List <TEntity>(); var failedToDelete = new List <TEntity>(); foreach (var entity in entitiesToDelete) { var existingEntityResult = this.Get(entity); if (!existingEntityResult.Success) { failedToDelete.Add(entity); } markedToDelete.Add(entity); } if (failedToDelete.Count > 0) { result.Success = false; result.Data = failedToDelete; return(result); } try { _context.RemoveRange(markedToDelete); _context.SaveChanges(); } catch (Exception e) { var errorMessage = string.Format("Could not remove the entities from database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorMessage); return(result); } result.Success = true; result.Data = markedToDelete; return(result); }
public virtual DataServiceProcessingResult <List <TEntity> > Update(List <TEntity> entitiesToUpdate) { var result = new DataServiceProcessingResult <List <TEntity> >() { Success = false, Data = null }; try { _context.UpdateRange(entitiesToUpdate); _context.SaveChanges(); } catch (Exception e) { var errorDescription = string.Format("Could not update the entities into database.Exceotion Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorDescription); return(result); } result.Success = true; result.Data = entitiesToUpdate; return(result); }
public virtual DataServiceProcessingResult <TEntity> Add(TEntity entityToAdd) { var result = new DataServiceProcessingResult <TEntity>() { Success = false, Data = null }; try { _context.Add(entityToAdd); _context.SaveChanges(); } catch (Exception e) { var errorDescription = string.Format("Could not add the entity into database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorDescription); return(result); } result.Success = true; result.Data = entityToAdd; return(result); }
public virtual DataServiceProcessingResult <int> GetCount(Expression <Func <TEntity, bool> > predicate) { int count = 0; var result = new DataServiceProcessingResult <int>() { Success = false }; try { count = DbSet.Where(predicate).ToList().Count; _context.SaveChanges(); } catch (Exception e) { var errorMessage = string.Format("Could not fetch the count from the database.Exception Details:{0}", e.Message); result.Error = new ProcessingError("1", "", null, adminMessage: errorMessage); return(result); } result.Data = count; result.Success = true; return(result); }