public void NotUpdateColsInDB(TEntity entityToUpdate, string[] excluded) { try { if (Context.Entry(entityToUpdate).State == EntityState.Detached) { DbSet.Attach(entityToUpdate); } foreach (var name in excluded) { Context.Entry(entityToUpdate).Property(name.ToString()).IsModified = false; } } catch (DbEntityValidationException ex) { var message = AppResource.UpdateErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.UpdateErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.UpdateErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.UpdateErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.UpdateErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.UpdateErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var errorMessage = ""; errorMessage = ex.Message.ToString(); throw ex; } }
public virtual DataTableResponse <TEntity> GetPaginationByRawSql <T>(string filterSql, int take, int skip) { try { var cars = Context.Database.SqlQuery <TEntity>(filterSql).ToList(); return(new DataTableResponse <TEntity> { data = cars, recordsFiltered = cars.Count, recordsTotal = cars.Count }); } catch (DbEntityValidationException ex) { var message = AppResource.GetErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.GetErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.GetErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.GetErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.GetErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.GetErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var e = new DigoErpException(ex.Message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } }
public virtual int GetCount(Expression <Func <TEntity, bool> > filter = null) { try { IQueryable <TEntity> query = DbSet; if (filter != null) { query = query.Where(filter); } return(query.Count()); } catch (DbEntityValidationException ex) { var message = AppResource.GetErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.GetErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.GetErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.GetErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.GetErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.GetErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var e = new DigoErpException(ex.Message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } }
public virtual void Delete(TEntity entityToDelete) { try { if (Context.Entry(entityToDelete).State == EntityState.Detached) { DbSet.Attach(entityToDelete); } DbSet.Remove(entityToDelete); } catch (DbEntityValidationException ex) { var message = AppResource.DeleteErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.DeleteErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.DeleteErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.DeleteErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.DeleteErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.DeleteErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var e = new DigoErpException(ex.Message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } }
public void UpdateSomeCols(TEntity entityToUpdate, params string[] properties) { try { foreach (var propertyName in properties) { Context.Entry(entityToUpdate).Property(propertyName).IsModified = true; } Context.SaveChanges(); } catch (DbEntityValidationException ex) { var message = AppResource.UpdateErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.UpdateErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.UpdateErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.UpdateErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.UpdateErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.UpdateErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { throw ex; } }
public virtual TEntity GetByIdAsNoTracking(object id) { try { var entity = DbSet.Find(id); Context.Entry(entity).State = EntityState.Detached; return(entity); } catch (DbEntityValidationException ex) { var message = AppResource.GetErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.GetErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.GetErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.GetErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.GetErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.GetErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var e = new DigoErpException(ex.Message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } }
public virtual TEntity Insert(TEntity entity) { try { DbSet.Add(entity); return(entity); } catch (DbEntityValidationException ex) { var message = AppResource.InsertErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.InsertErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.InsertErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.InsertErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.InsertErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.InsertErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var e = new DigoErpException(ex.Message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } }
public virtual DataTableResponse <TEntity> GetPagination <T>(int take, int skip, Expression <Func <TEntity, bool> > filter = null, Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null) { try { IQueryable <TEntity> query = DbSet; int count; if (filter != null) { query = query.Where(filter); count = query.Where(filter).Count(); } else { count = query.Count(); } var entities = orderBy(query).Skip(skip).Take(take); return(new DataTableResponse <TEntity> { data = entities.ToList(), recordsTotal = count, recordsFiltered = count }); } catch (DbEntityValidationException ex) { var message = AppResource.GetErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.GetErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.GetErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.GetErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.GetErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.GetErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var e = new DigoErpException(ex.Message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } }
public virtual IEnumerable <TEntity> GetWithDeAttached( Expression <Func <TEntity, bool> > filter = null, Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null, string includeProperties = "") { try { IQueryable <TEntity> query = DbSet.AsNoTracking(); if (filter != null) { query = query.Where(filter).AsNoTracking(); } foreach (var includeProperty in includeProperties.Split (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { query = query.Include(includeProperty).AsNoTracking(); } if (orderBy != null) { return(orderBy(query).ToList()); } else { return(query.AsNoTracking().ToList()); } } catch (DbEntityValidationException ex) { var message = AppResource.GetErrorValidation + " ("; ex.EntityValidationErrors.SelectMany(error => error.ValidationErrors).ToList().ForEach(item => { message += " column name: " + item.PropertyName + " " + "ErrorMessage " + item.ErrorMessage; }); message += ")"; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateConcurrencyException ex) { var message = AppResource.GetErrorConcurrency; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (DbUpdateException ex) { var message = AppResource.GetErrorDB; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (NotSupportedException ex) { var message = AppResource.GetErrorNotSupported; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (ObjectDisposedException ex) { var message = AppResource.GetErrorDisposed; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (InvalidOperationException ex) { var message = AppResource.GetErrorInvalidOperation; var e = new DigoErpException(message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } catch (Exception ex) { var e = new DigoErpException(ex.Message, (int)SystemExceptions.Err_SavingDataDBFailure, ex); throw e; } }