public Response <T> View(T model, ICoreUser user) { var result = new Response <T>(); if (!RunViewBusinessLogic(new InterfaceLoader <IViewRule <T> >(), result, model)) { return(result); } if (!RunViewDataLogic(new InterfaceLoader <IViewEvent <T> >(), result, model)) { return(result); } result.Success = true; return(result); }
public Response <T> Insert(T model, ICoreUser user) { var result = new Response <T>(); if (!RunInsertBusinessLogic(new InterfaceLoader <IInsertRule <T> >(), result, model, user)) { return(result); } if (!RunInsertDataLogic(new InterfaceLoader <IInsertEvent <T> >(), result, model)) { return(result); } result.Success = true; return(result); }
public NgTable <T> List(NgTableParams ngTableParams, ICoreUser user) { var result = new NgTable <T>(); if (!RunViewListBusinessLogic(new InterfaceLoader <IViewListRule <T, T2> >(), result, ngTableParams, user)) { return(result); } if (!RunViewListDataLogic(new InterfaceLoader <IViewListEvent <T, T2> >(), result, ngTableParams, user)) { return(result); } result.Success = true; return(result); }
public Response <T> Delete(T model, ICoreUser user) { var result = new Response <T>(); if (!RunDeleteBusinessLogic(new InterfaceLoader <IDeleteRule <T> >(), result, model)) { return(result); } if (!RunDeleteDataLogic(new InterfaceLoader <IDeleteEvent <T> >(), result, model)) { return(result); } result.Success = true; return(result); }
public async Task <NgTable <T> > List(NgTableParams ngTableParams, ICoreUser user) { var result = new NgTable <T>(); //if (!RunRepoLogic(new InterfaceLoader<IRepoRule<T, T2>>(), result, model, user)) // return result; if (!RunViewListBusinessLogic(new InterfaceLoader <IViewListRule <T, T2> >(), result, ngTableParams, user)) { return(result); } if (!RunViewListDataLogic(new InterfaceLoader <IViewListEvent <T, T2> >(), result, ngTableParams, user)) { return(result); } result.Success = true; return(result); }
public Response <T> Update(T model, ICoreUser user) { var result = new Response <T>(); if (!RunRepoLogic(new InterfaceLoader <IRepoRule <T, T2> >(), result, model, user)) { return(result); } if (!RunUpdateBusinessLogic(new InterfaceLoader <IUpdateRule <T, T2> >(), result, model, user)) { return(result); } if (!RunUpdateDataLogic(new InterfaceLoader <IUpdateEvent <T, T2> >(), result, model, user)) { return(result); } result.Success = true; return(result); }
public bool Run(NgTableParams model, ref IQueryable <Database.Job> repository, NgTable <JobViewModel> result, ICoreUser Job, IUnitOfWork db) { var ngTransformer = new QueryToNgTable <JobViewModel>(); var query = JobMapper.MapDbModelQueryToViewModelQuery(repository); ngTransformer.ToNgTableDataSet(model, query, result); return(true); }
public bool Run(AomFieldMetaViewModel model, ref IQueryable <AomFieldMeta> repository, IUnitOfWork unitOfWork, Response <AomFieldMetaViewModel> result, ICoreUser user) { var dbModel = repository.Single(c => c.Id == model.Id); // you need to be using the primary key could be composit var updatedDbModel = AomFieldMetaMapper.MapInsertModelToDbModel(model, dbModel); unitOfWork.With <AomFieldMeta>().AddOrUpdate(updatedDbModel); unitOfWork.SaveChanges(); var newCustomResult = AomFieldMetaMapper.MapDbModelToViewModel(updatedDbModel); result.Data = newCustomResult; return(true); }
public bool Run(NgTableParams model, ref IQueryable <AomFieldObject> repository, NgTable <AomFieldObjectViewModel> result, ICoreUser user, IUnitOfWork unitOfWork) { // unitOfWork = unitOfWork.Where(c => c.OwnerId == null); // limit by organisation owner etc... business rules return(true); }
public bool Run(NgTableParams model, ref IQueryable <AomFieldObject> repository, NgTable <AomFieldObjectViewModel> result, ICoreUser user, IUnitOfWork db) { var ngTransformer = new QueryToNgTable <AomFieldObjectViewModel>(); var query = AomFieldObjectMapper.MapDbModelQueryToViewModelQuery(repository); ngTransformer.ToNgTableDataSet(model, query, result); return(true); }
public bool Run(NgTableParams model, ref IQueryable <AomObject> repository, NgTable <AomObject> result, ICoreUser user, IUnitOfWork unitOfWork) { // limit by organisation owner etc... business rules // throw new NotImplementedException(); }
public bool Run(UserViewModel model, IUnitOfWork unitOfWork, Response <UserViewModel> result, ICoreUser user) { var newCustom = UsersMapper.MapInsertModelToDbModel(model); unitOfWork.With <User>().Add(newCustom); unitOfWork.SaveChanges(); var newCustomResult = UsersMapper.MapDbModelToViewModel(newCustom); result.Body = newCustomResult; return(true); }
private bool RunViewListBusinessLogic(InterfaceLoader <IViewListRule <T, T2> > interfaceLoader, NgTable <T> result, NgTableParams ngTableParams, ICoreUser user) { foreach (var interfaceImplementation in interfaceLoader.InterfaceImplementations) { if (!interfaceImplementation.Run(ngTableParams, ref DbSet, result, user, UnitOfWork)) { return(false); } } return(true); }
private bool RunRepoLogic(InterfaceLoader <IRepoRule <T, T2> > interfaceLoader, Response <T> result, T model, ICoreUser user) { foreach (var interfaceImplementation in interfaceLoader.InterfaceImplementations) { if (!interfaceImplementation.Run(model, ref DbSet, UnitOfWork, result, user)) { return(false); } } return(true); }
private bool RunViewDataLogic(InterfaceLoader <IViewEvent <T, T2> > interfaceLoader, Response <T> result, T model, ICoreUser user) { foreach (var interfaceImplementation in interfaceLoader.InterfaceImplementations) { var viewResult = interfaceImplementation.Run(model, ref DbSet, UnitOfWork, result, user); if (!result.Success) { return(false); } } return(true); }
public Response <EmployerViewModel> Run(EmployerViewModel model, ref IQueryable <Database.Employer> repository, IUnitOfWork unitOfWork, Response <EmployerViewModel> result, ICoreUser Employer) { var itemToUpdate = repository.SingleOrDefault(c => c.Id == model.Id); if (itemToUpdate != null) { var newCustomResult = EmployerMapper.MapDbModelToViewModel(itemToUpdate); result.Body = newCustomResult; result.Success = true; } else { result.Success = false; result.LogError("Error viewing Employers"); } return(result); }
public bool Run(UserViewModel model, IUnitOfWork unitOfWork, Response <UserViewModel> result, ICoreUser user) { if (string.IsNullOrEmpty(model.Email)) { result.Messages.Add(new Message { MessageText = "Email: Required", SeverityLevel = "ErrorMessage" }); return(false); } return(true); }
private bool RunInsertDataLogic(InterfaceLoader <IInsertEvent <T> > interfaceLoader, Response <T> result, T model, ICoreUser user) { foreach (var interfaceImplementation in interfaceLoader.InterfaceImplementations) { try { if (!interfaceImplementation.Run(model, UnitOfWork, result, user)) { return(false); } } catch (ObjectDisposedException ex) { // LogHelper.Error(typeof(IService<T>), "ObjectDisposedException = ", ex); result.LogError("Error with running IInsertEvent "); return(false); } catch (InvalidOperationException ex) { // LogHelper.Error(typeof(IService<T>), "ObjectDisposedException = ", ex); result.LogError("Error with running IInsertEvent "); return(false); } catch (DbEntityValidationException ex) { result.LogError("Error with running IInsertEvent "); foreach (var eve in ex.EntityValidationErrors) { string errorString = $"Entity of type {eve.Entry.Entity.GetType().Name} in state {eve.Entry.State} has the following validation errors:"; foreach (var ve in eve.ValidationErrors) { errorString += $"{Environment.NewLine} - Property: {ve.PropertyName}, Error: {ve.ErrorMessage}"; } result.LogError(errorString); // LogHelper.Error(typeof(IService<T>), "DbEntityValidationException = ", ex); } result.LogError("Error with running IInsertEvent "); return(false); } catch (DbUpdateConcurrencyException ex) { // LogHelper.Error(typeof(IService<T>), "DbUpdateConcurrencyException = ", ex); result.LogError("Error with running IInsertEvent "); return(false); } catch (DbUpdateException ex) { // LogHelper.Error(typeof(IService<T>), "DbUpdateException = ", ex); result.LogError("Error with running IInsertEvent " + String.Join(Environment.NewLine, ex.GetInnerExceptions().Select(c => c.Message))); return(false); } catch (Exception ex) { // LogHelper.Error(typeof(IService<T>), "Exception = ", ex); result.LogError("Error with running IInsertEvent "); return(false); } } return(true); }
public Response <ToolsViewModel> Run(ToolsViewModel model, ref IQueryable <Tool> repository, IUnitOfWork unitOfWork, Response <ToolsViewModel> result, ICoreUser user) { var itemToUpdate = repository.SingleOrDefault(c => c.Id == model.Id); if (itemToUpdate != null) { var newCustomResult = ToolsMapper.MapDbModelToViewModel(itemToUpdate); result.Data = newCustomResult; result.Success = true; } else { result.Success = false; result.LogError("Error viewing Tools"); } return(result); }
public Response <CandidateSkillViewModel> Run(CandidateSkillViewModel model, ref IQueryable <Database.CandidateSkill> repository, IUnitOfWork unitOfWork, Response <CandidateSkillViewModel> result, ICoreUser CandidateSkill) { var itemToUpdate = repository.SingleOrDefault(c => c.SkillId == model.SkillId && c.CandidateId == model.CandidateId); if (itemToUpdate != null) { var newCustomResult = CandidateSkillMapper.MapDbModelToViewModel(itemToUpdate); result.Body = newCustomResult; result.Success = true; } else { result.Success = false; result.LogError("Error viewing CandidateSkills"); } return(result); }
public bool Run(CandidateResponseViewModel model, ref IQueryable <Database.CandidateResponse> repository, IUnitOfWork unitOfWork, Response <CandidateResponseViewModel> result, ICoreUser CandidateResponse) { var dbModel = repository.Single(c => c.JobId == model.JobId && c.CandidateId == model.CandidateId); // you need to be using the primary key could be composit var updatedDbModel = CandidateResponseMapper.MapInsertModelToDbModel(model, dbModel); unitOfWork.With <Database.CandidateResponse>().Update(updatedDbModel); unitOfWork.SaveChanges(); var newCustomResult = CandidateResponseMapper.MapDbModelToViewModel(updatedDbModel); result.Body = newCustomResult; return(true); }
public bool Run(NgTableParams model, ref IQueryable <RelationshipMeta> repository, NgTable <RelationshipMetaViewModel> result, ICoreUser user, IUnitOfWork db) { var ngTransformer = new QueryToNgTable <RelationshipMetaViewModel>(); var query = RelationshipMetaMapper.MapDbModelQueryToViewModelQuery(repository); ngTransformer.ToNgTableDataSet(model, query, result); return(true); }
public bool Run(FieldTypesViewModel model, ref IQueryable <FieldType> repository, IUnitOfWork unitOfWork, Response <FieldTypesViewModel> result, ICoreUser user) { // Todo change id for the tables PK var customToRemove = unitOfWork.With <FieldType>().Find(model.Id); unitOfWork.With <FieldType>().Remove(customToRemove); unitOfWork.SaveChanges(); return(true); }
public bool Run(SkillViewModel model, IUnitOfWork unitOfWork, Response <SkillViewModel> result, ICoreUser Skill) { var newCustom = SkillMapper.MapInsertModelToDbModel(model); unitOfWork.With <Database.Skill>().Add(newCustom); unitOfWork.SaveChanges(); var newCustomResult = SkillMapper.MapDbModelToViewModel(newCustom); result.Body = newCustomResult; return(true); }
public bool Run(AomMetaViewModel model, ref IQueryable <AomMeta> repository, IUnitOfWork unitOfWork, Response <AomMetaViewModel> result, ICoreUser user) { var updatedDbModel = unitOfWork.With <AomMeta>().Single(c => c.Id == model.Id); // Might be a partial class var newCustomResult = AomMetaMapper.MapDbModelToViewModel(updatedDbModel); result.Data = newCustomResult; return(true); }
public bool Run(EmployerResponseViewModel model, ref IQueryable <Database.EmployerResponse> repository, IUnitOfWork unitOfWork, Response <EmployerResponseViewModel> result, ICoreUser EmployerResponse) { // Todo change id for the tables PK var customToRemove = unitOfWork.With <Database.EmployerResponse>().Find(model.CandidateId, model.JobId); unitOfWork.With <Database.EmployerResponse>().Remove(customToRemove); unitOfWork.SaveChanges(); return(true); }
public Guid CreatedId; // Might be a composite key! public bool Run(AomFieldMetaViewModel model, IUnitOfWork unitOfWork, Response <AomFieldMetaViewModel> result, ICoreUser user) { var newCustom = AomFieldMetaMapper.MapInsertModelToDbModel(model); unitOfWork.With <AomFieldMeta>().Add(newCustom); unitOfWork.SaveChanges(); CreatedId = newCustom.Id; model.Id = CreatedId; // Might be a composit key var newCustomResult = AomFieldMetaMapper.MapDbModelToViewModel(newCustom); result.Data = newCustomResult; return(true); }
public bool Run(JobViewModel model, ref IQueryable <Database.Job> repository, IUnitOfWork unitOfWork, Response <JobViewModel> result, ICoreUser Job) { // Todo change id for the tables PK var customToRemove = unitOfWork.With <Database.Job>().Find(model.Id); unitOfWork.With <Database.Job>().Remove(customToRemove); unitOfWork.SaveChanges(); return(true); }
public bool Run(EmployerResponseViewModel model, IUnitOfWork unitOfWork, Response <EmployerResponseViewModel> result, ICoreUser EmployerResponse) { var newCustom = EmployerResponseMapper.MapInsertModelToDbModel(model); unitOfWork.With <Database.EmployerResponse>().Add(newCustom); unitOfWork.SaveChanges(); var newCustomResult = EmployerResponseMapper.MapDbModelToViewModel(newCustom); result.Body = newCustomResult; return(true); }
public UserController(ICoreUser coreUser) { _coreUser = coreUser; }