public CqrsReader(IDatabaseApi api, CrudModels <M> crudModels) { this.api = api; this.crudModels = crudModels; // Subscribing to event handler CqrsEventHandler <M> .Subscribe(cqrsEvent => { if (cqrsEvent.EventType.Equals(ECqrsEventType.CreateEvent)) { // When the CqrsWriter has added a model through THEIR database, we add it in OUR database. api.OpenConnection(); api.Create(new List <M>() { (M)cqrsEvent.Model }, crudModels.CreateModel); api.CloseConnection(); } else if (cqrsEvent.EventType.Equals(ECqrsEventType.DeleteEvent)) { // When the CqrsWriter has removed a model from THEIR database, we remove it from OUR database. api.OpenConnection(); api.Delete <M>(new List <M>() { (M)cqrsEvent.Model }, crudModels.DeleteModel); api.CloseConnection(); } }); }
public IActionResult Post(CrudModels entity) { if (entity == null) { return(BadRequest("The record isn't found!")); } _crudRepository.Add(entity); return(CreatedAtRoute("Get", new { id = entity.ID }, entity)); }
public IActionResult Get(int id) { CrudModels entity = _crudRepository.Get(id); if (entity == null) { return(NotFound("Can't get this record!")); } return(Ok(entity)); }
public IActionResult Delete(int id) { CrudModels entity = _crudRepository.Get(id); if (entity == null) { return(NotFound("Can't get this record")); } _crudRepository.Delete(entity); return(NoContent()); }
public IActionResult Put(int id, CrudModels entity) { if (entity == null) { return(BadRequest("The record isn't found!")); } CrudModels entityUpdate = _crudRepository.Get(id); if (entityUpdate == null) { return(NotFound("Can't get this record")); } _crudRepository.Update(entityUpdate, entity); return(NoContent()); }
public CqrsWriter(IDatabaseApi api, CrudModels <M> crudModels) { this.api = api; this.crudModels = crudModels; }