Ejemplo n.º 1
0
        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();
                }
            });
        }
Ejemplo n.º 2
0
 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));
 }
Ejemplo n.º 3
0
        public IActionResult Get(int id)
        {
            CrudModels entity = _crudRepository.Get(id);

            if (entity == null)
            {
                return(NotFound("Can't get this record!"));
            }
            return(Ok(entity));
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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;
 }