protected void ThrowOnWrongEvent(IUserEvent e) { var id = new System.Text.StringBuilder(); id.Append("[").Append("User|"); var stateEntityId = this.UserId; // Aggregate Id var eventEntityId = e.UserEventId.UserId; if (stateEntityId != eventEntityId) { throw DomainError.Named("mutateWrongEntity", "Entity Id {0} in state but entity id {1} in event", stateEntityId, eventEntityId); } id.Append(stateEntityId).Append(","); id.Append("]"); var stateVersion = this.Version; var eventVersion = e.UserEventId.Version; if (stateVersion != eventVersion) { throw OptimisticConcurrencyException.Create(stateVersion, eventVersion, id.ToString()); } }
public static void ThrowOnInconsistentEventIds(IUserEvent oe, IUserLoginEvent e) { if (!oe.UserEventId.UserId.Equals(e.UserLoginEventId.UserId)) { throw DomainError.Named("inconsistentEventIds", "Outer Id UserId {0} but inner id UserId {1}", oe.UserEventId.UserId, e.UserLoginEventId.UserId); } }
public void AddEventWithEmail(IUserEvent userEvent, string email) { var filter = Builders <Models.User.SpotUser> .Filter.Where(u => u.Email == email); var update = Builders <Models.User.SpotUser> .Update.Push(SpotUserCollections.MyEvents, userEvent); MongoContext.Collection.UpdateOne(filter, update); }
public void AddEventWithId(IUserEvent userEvent, ObjectId id) { var filter = Builders <Models.User.SpotUser> .Filter.Where(u => u.Id == id); var update = Builders <Models.User.SpotUser> .Update.Push(SpotUserCollections.MyEvents, userEvent); MongoContext.Collection.UpdateOne(filter, update); }
private async void TTSCallback(IUserEvent userEvent) { IDictionary <string, object> payloadData = JsonConvert.DeserializeObject <Dictionary <string, object> >(userEvent.Data["Payload"].ToString()); string text = Convert.ToString(payloadData.FirstOrDefault(x => x.Key == "Text").Value); if (!string.IsNullOrWhiteSpace(text)) { await _misty.SpeakAsync(text, true, null); await _misty.DisplayTextAsync(text, null); } }
/// <summary> /// User RESTful event processor for Update command /// </summary> /// <param name="userEvent"></param> private async void ProcessUpdateEvent(IUserEvent userEvent) { try { IDictionary <string, object> payloadData = JsonConvert.DeserializeObject <Dictionary <string, object> >(userEvent.Data["Payload"].ToString()); await ProcessAdjustableParameters(payloadData); } catch (Exception ex) { _misty.SkillLogger.Log("Unable to process payload in Update call. Please check your payload configuration.", ex); } }
private IUpdateEvent UserActionHandler(ref EventArgs ea, IDictionary <string, object> globals) { IUserEvent ue = (IUserEvent)ea; var label = ue.GetEventType(); ea = null; scheduler.Suspend(); scheduler.Launch("#On" + label + "Event"); return(null); }
public UserService( IUserRepository userRepository, IAuthorizationManager authorizationManager, EmailDomainValidatorService emailDomainValidatorService, IUserEmail emailSender, IUserEvent userEvent) { _userRepository = userRepository; _authorizationManager = authorizationManager; _emailDomainValidatorService = emailDomainValidatorService; _emailSender = emailSender; _userEvent = userEvent; }
public async Task SendEventAsync(IUserEvent @event) { // own handling for created event as we don't want to broadcast the plain password if (@event is UserCreatedEvent created) { var messageContent = JsonConvert.SerializeObject(new { created.UserId, created.Password, created.Email }); await passwordQueue.SendAsync(new BrokeredMessage(messageContent)); // note side effect created.Password = null; } // .. send events topic }
/// <summary> /// User RESTful event processor for Speak command /// </summary> /// <param name="userEvent"></param> private void ProcessSpeakEvent(IUserEvent userEvent) { try { IDictionary <string, object> payloadData = JsonConvert.DeserializeObject <Dictionary <string, object> >(userEvent.Data["Payload"].ToString()); KeyValuePair <string, object> textKVP = payloadData.FirstOrDefault(x => x.Key.ToLower().Trim() == "text"); if (textKVP.Value != null) { BroadcastDetails(Convert.ToString(textKVP.Value), _defaultVoice); } } catch (Exception ex) { _misty.SkillLogger.Log("Unable to process payload in Update call. Please check your payload configuration.", ex); } }
public void Add(IEvent anEvent, IUserEvent userEvent) { try { Lock(); _eventRepository.Add(anEvent); _userRepository.AddEventForMany(userEvent, anEvent.Invited); } catch (Exception) { //TODO: Rollback logic throw new Exception("Failed to perform atomic action Add - " + Desc); } finally { Unlock(); } }
public TimelineEventViewModel(ISpotUser user, IEvent myEvent, IUserEvent userEvent, ISpot spot, ILocation location, IBusiness business) { UserId = user.Id; EventId = myEvent.Id; SpotId = spot.Id; LocationId = location.Id; BusinessId = business.Id; FirstName = user.FirstName; EventTitle = myEvent.Title; EventStart = myEvent.StartDateTime.ToLocalTime().ToString(DateService.GetBasicDateTimeFormat); Joined = DateService.GetRelativeSpan(userEvent.Joined.ToUniversalTime() .ToString(DateService.GetBasicDateTimeFormat)); SpotName = spot.Name; Address = location.Address; City = location.City; Zip = location.Zip; Country = location.Country; BusinessName = business.Name; }
public void AddEventForMany(IUserEvent userEvent, IList <string> userIds) { userIds.ForEach(id => AddEventWithId(userEvent, ObjectId.Parse(id))); }
public void AddUserEvent(IUserEvent e) { _innerStateEvents.Add((UserStateCreatedOrMergePatchedOrDeletedDto)e); }
/// <summary> /// User RESTful event processor for Describe command /// </summary> /// <param name="userEvent"></param> private async void ProcessDescribeEvent(IUserEvent userEvent) { await Describe(); }
public void AddEventForMany(IUserEvent userEvent, IList <ObjectId> userIds) { userIds.ForEach(id => AddEventWithId(userEvent, id)); }
public void AddEventForManyWithEmail(IUserEvent userEvent, IList <string> userEmails) { userEmails.ForEach(email => AddEventWithEmail(userEvent, email)); }
/// <summary> /// User RESTful event processor for Repeat command /// </summary> /// <param name="userEvent"></param> private async void ProcessRepeatEvent(IUserEvent userEvent) { await Repeat(); }
/// <summary> /// User RESTful event processor for Translate command /// </summary> /// <param name="userEvent"></param> private void ProcessTranslateEvent(IUserEvent userEvent) { Translate(); }
public virtual UserStateCreatedOrMergePatchedOrDeletedDto ToUserStateEventDto(IUserEvent stateEvent) { if (stateEvent.EventType == StateEventType.Created) { var e = (IUserStateCreated)stateEvent; return(ToUserStateCreatedDto(e)); } else if (stateEvent.EventType == StateEventType.MergePatched) { var e = (IUserStateMergePatched)stateEvent; return(ToUserStateMergePatchedDto(e)); } else if (stateEvent.EventType == StateEventType.Deleted) { var e = (IUserStateDeleted)stateEvent; return(ToUserStateDeletedDto(e)); } throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType)); }