public void Ask(AskParameters parameters) { var now = SystemDateTime.Now; var areYouOk = new AreYouOkActivity(); areYouOk.Sender = Users[parameters.SenderId]; areYouOk.Target = Users[parameters.TargetId]; areYouOk.IAmOk = false; AreYouOkActivities.Put(areYouOk); CurrentUnitOfWork.Checkpoint(); var list = areYouOk.Target.Devices.Select(x => new BodySend() { Token = x.Token, Body = "¿estas bien?", Title = "Encuentrame", Data = new { Created = now, Id = areYouOk.Id, SenderUserId = areYouOk.Target.Id, AskDatetime = areYouOk.Created, Type = "Areyouok.Ask", } }).ToList(); ExpoPushHelper.SendPushNotification(list); }
public void Reply(ReplyParameters parameters) { var now = SystemDateTime.Now; var replyUser = Users[parameters.UserId]; var areYouOkActivities = AreYouOkActivities.Where(x => x.ReplyDatetime == null && x.Target == replyUser); foreach (var areYouOkActivity in areYouOkActivities) { areYouOkActivity.IAmOk = parameters.IAmOk; areYouOkActivity.ReplyDatetime = SystemDateTime.Now; var list = areYouOkActivity.Sender.Devices.Select(x => new BodySend() { Token = x.Token, Body = parameters.IAmOk ? $"{replyUser.FullName} ha indicado que está bien!" : $"{replyUser.FullName} esta con algun problema", Title = "Encuentrame", Data = new { Created = now, Id = areYouOkActivity.Id, TargetUserId = areYouOkActivity.Target.Id, Ok = parameters.IAmOk, ReplyDatetime = areYouOkActivity.ReplyDatetime, Type = "Areyouok.Reply", } }).ToList(); ExpoPushHelper.SendPushNotification(list); } var areYouOkEvents = AreYouOkEvents.Where(x => x.ReplyDatetime == null && x.Target == replyUser); foreach (var areYouOkEvent in areYouOkEvents) { areYouOkEvent.IAmOk = parameters.IAmOk; areYouOkEvent.ReplyDatetime = SystemDateTime.Now; } }
public void Delete(int id) { var areYouOk = AreYouOkActivities[id]; AreYouOkActivities.Remove(areYouOk); }
public IList <AreYouOkActivity> List() { return(AreYouOkActivities.ToList()); }