Exemplo n.º 1
0
        private bool UpdateClientCommand(ClientUpdateCommand c)
        {
            if (_ActorState.isActive == false)
            {
                ClientFailedUpdateEvent msg = new ClientFailedUpdateEvent(string.Format("Client is deleted(inactive)."), c.ClientStateData, c.User, c.ConnectionId);
                Sender.Tell(msg);
                return(true);
            }

            // Enforce required fields
            if (c.ClientStateData.Name == null || c.ClientStateData.Name == "")
            {
                ClientFailedUpdateEvent msg = new ClientFailedUpdateEvent(string.Format("UserName field cannot be blank(or null)."), c.ClientStateData, c.User, c.ConnectionId);
                Sender.Tell(msg);
                return(true);
            }


            Persist <ClientUpdateCommand>(c, PostUpdateHandler);
            return(true);
        }
        public bool TranslateAkkaFailedUpsertEventToExternalMessage(CommandEventMessage internalCommandEvent)
        {
            ClientFailedUpdateEvent e = internalCommandEvent as ClientFailedUpdateEvent;

            HTTPExternalInterface.HandleFailedStateMessage(
                new HTTPDestinedCommandStateEvent(
                    MicroServices.ProcessingStatus.Failed,
                    e.Message,
                    new HTTPSourcedCommand(
                        e.CommandType.ToString(),
                        e.Area.ToString(),
                        null,
                        e.OriginalClientState,
                        e.User,
                        e.ConnectionId,
                        e.Id
                        )
                    ),
                true //User only?
                );
            return(true);
        }