partial void OnCreate(IServiceRequestWithData <ISingleSignOnToken, InventoryItemServiceCreateParameters> serviceRequest, ref IServiceResponse results) { UnitOfWorkService.SetCommitter(this); InventoryItemServiceCreateParameters item = serviceRequest.Data; // The use of Guid.Empty is simply because we use ints as ids var command = new CreateInventoryItemCommand(Guid.Empty, item.name); CommandSender.Send(command); UnitOfWorkService.Commit(this); results = new ServiceResponse(); }
partial void OnRemove(IServiceRequestWithData <ISingleSignOnToken, InventoryItemServiceRemoveParameters> serviceRequest, ref IServiceResponse results) { UnitOfWorkService.SetCommitter(this); InventoryItemServiceRemoveParameters item = serviceRequest.Data; // The use of Guid.Empty is simply because we use ints as ids var command = new RemoveItemsFromInventoryCommand(item.rsn, item.count); CommandSender.Send(command); UnitOfWorkService.Commit(this); results = new ServiceResponse(); }
public IServiceResponseWithResultData <Entities.UserEntity> CreateUser(IServiceRequestWithData <Cqrs.Authentication.ISingleSignOnToken, Entities.UserEntity> serviceRequest) { AuthenticationTokenHelper.SetAuthenticationToken(serviceRequest.AuthenticationToken); UnitOfWorkService.SetCommitter(this); Entities.UserEntity item = serviceRequest.Data; item.Rsn = Guid.NewGuid(); var command = new CreateUserCommand(item.Rsn, item.Name); OnCreateUser(serviceRequest, command); CommandSender.Send(command); OnCreatedUser(serviceRequest, command); UnitOfWorkService.Commit(this); return(CompleteResponse(new ServiceResponseWithResultData <Entities.UserEntity>(item))); }
/// <summary> /// Logically delete an existing instance of the <see cref="Entities.OrderEntity"/> /// </summary> public IServiceResponse DeleteOrder(IServiceRequestWithData <Cqrs.Authentication.ISingleSignOnToken, Entities.OrderEntity> serviceRequest) { AuthenticationTokenHelper.SetAuthenticationToken(serviceRequest.AuthenticationToken); CorrelationIdHelper.SetCorrelationId(serviceRequest.CorrelationId); UnitOfWorkService.SetCommitter(this); Entities.OrderEntity item = serviceRequest.Data; var locatedItem = OrderRepository.Load(item.Rsn, false); if (locatedItem == null) { return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity> { State = ServiceResponseStateType.FailedValidation })); } if (locatedItem.IsLogicallyDeleted) { return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity> { State = ServiceResponseStateType.FailedValidation })); } var command = new DeleteOrderCommand(item.Rsn); ServiceResponseStateType?serviceResponseStateType = null; OnDeleteOrder(serviceRequest, ref command, locatedItem, ref serviceResponseStateType); if (serviceResponseStateType != null && serviceResponseStateType != ServiceResponseStateType.Succeeded) { return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity> { State = serviceResponseStateType.Value })); } CommandSender.Send(command); OnDeletedOrder(serviceRequest, ref command, locatedItem, ref serviceResponseStateType); if (serviceResponseStateType != null && serviceResponseStateType != ServiceResponseStateType.Succeeded) { return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity> { State = serviceResponseStateType.Value })); } UnitOfWorkService.Commit(this); return(CompleteResponse(new ServiceResponse())); }
/// <summary> /// Create a new instance of the <see cref="Entities.OrderEntity"/> /// </summary> public IServiceResponseWithResultData <Entities.OrderEntity> CreateOrder(IServiceRequestWithData <Cqrs.Authentication.ISingleSignOnToken, Entities.OrderEntity> serviceRequest) { AuthenticationTokenHelper.SetAuthenticationToken(serviceRequest.AuthenticationToken); CorrelationIdHelper.SetCorrelationId(serviceRequest.CorrelationId); UnitOfWorkService.SetCommitter(this); Entities.OrderEntity item = serviceRequest.Data; if (item.Rsn == Guid.Empty) { item.Rsn = Guid.NewGuid(); } var command = new CreateOrderCommand(item.Rsn, item.OrderId, item.CustomerId, item.EmployeeId, item.OrderDate, item.RequiredDate, item.ShippedDate, item.ShipViaId, item.Freight, item.ShipName, item.ShipAddress, item.ShipCity, item.ShipRegion, item.ShipPostalCode, item.ShipCountry); OnCreateOrder(serviceRequest, command); CommandSender.Send(command); OnCreatedOrder(serviceRequest, command); UnitOfWorkService.Commit(this); return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity>(item))); }
/// <summary> /// Update an existing instance of the <see cref="Entities.OrderEntity"/> /// </summary> public IServiceResponseWithResultData <Entities.OrderEntity> UpdateOrder(IServiceRequestWithData <Cqrs.Authentication.ISingleSignOnToken, Entities.OrderEntity> serviceRequest) { AuthenticationTokenHelper.SetAuthenticationToken(serviceRequest.AuthenticationToken); CorrelationIdHelper.SetCorrelationId(serviceRequest.CorrelationId); UnitOfWorkService.SetCommitter(this); Entities.OrderEntity item = serviceRequest.Data; var locatedItem = OrderRepository.Load(item.Rsn); if (locatedItem == null) { return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity> { State = ServiceResponseStateType.FailedValidation })); } var command = new UpdateOrderCommand(item.Rsn, item.OrderId, item.CustomerId, item.EmployeeId, item.OrderDate, item.RequiredDate, item.ShippedDate, item.ShipViaId, item.Freight, item.ShipName, item.ShipAddress, item.ShipCity, item.ShipRegion, item.ShipPostalCode, item.ShipCountry); ServiceResponseStateType?serviceResponseStateType = null; OnUpdateOrder(serviceRequest, ref command, locatedItem, ref serviceResponseStateType); if (serviceResponseStateType != null && serviceResponseStateType != ServiceResponseStateType.Succeeded) { return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity> { State = serviceResponseStateType.Value })); } CommandSender.Send(command); OnUpdatedOrder(serviceRequest, ref command, locatedItem, ref serviceResponseStateType); if (serviceResponseStateType != null && serviceResponseStateType != ServiceResponseStateType.Succeeded) { return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity> { State = serviceResponseStateType.Value })); } UnitOfWorkService.Commit(this); return(CompleteResponse(new ServiceResponseWithResultData <Entities.OrderEntity>(item))); }