public IActionResult Post([FromBody] CustomerInsertCommandInputDTO model) { var appResult = this.InsertCommand.Execute(model); if (appResult.IsSucceed) { var signalArgs = new SignalREventArgs(SignalREvents.DATA_CHANGED.Identifier, nameof(SignalREvents.DATA_CHANGED.ActionEnum.ADDED_ITEM), nameof(DomainModel.Company.Customer.Customer), appResult.Bag); this.SignalRHubContext.Clients.All.DataChanged(signalArgs); } return(appResult.IsSucceed ? (IActionResult)this.Ok(appResult) : (IActionResult)this.BadRequest(appResult)); }
public OperationResponse <CustomerInsertCommandOutputDTO> Execute(CustomerInsertCommandInputDTO input) { var result = new OperationResponse <CustomerInsertCommandOutputDTO>(); using (var dbContextScope = this.DbContextScopeFactory.Create()) { var entity = new DomainModel.Company.Customer.Customer { Name = input.Name, }; try { var insertResult = this.Repository.Insert(entity); result.AddResponse(insertResult); if (result.IsSucceed) { dbContextScope.SaveChanges(); } } catch (Exception ex) { result.AddError("Error Adding Customer", ex); } if (result.IsSucceed) { var getByIdResult = this.Repository.GetById(entity.Id); result.AddResponse(getByIdResult); if (result.IsSucceed) { result.Bag = new CustomerInsertCommandOutputDTO { Id = getByIdResult.Bag.Id, Name = getByIdResult.Bag.Name }; } } } return(result); }