Beispiel #1
0
        public static IList <UserHistoryData> ToJavaScriptUserHistory(IList <StoredEvent> storedEvents)
        {
            HistoryData = new List <UserHistoryData>();

            UserHistoryDeserializer(storedEvents);

            var sorted = HistoryData.OrderBy(c => c.When);

            var list = new List <UserHistoryData>();

            var last = new UserHistoryData();

            foreach (var change in sorted)
            {
                var jsSlot = new UserHistoryData
                {
                    Id     = change.Id,
                    Name   = change.Name,
                    Email  = change.Email,
                    Phone  = change.Phone,
                    Action = change.Action,
                    When   = change.When,
                    Who    = change.Who,
                    Ip     = change.Ip,
                };
                list.Add(jsSlot);
                last = change;
            }

            return(list);
        }
Beispiel #2
0
        private static void UserHistoryDeserializer(IEnumerable <StoredEvent> storedEvents)
        {
            foreach (var e in storedEvents)
            {
                if (e == null)
                {
                    return;
                }
                var     slot = new UserHistoryData();
                dynamic values;
                switch (e.MessageType)
                {
                case "UserRegisterEvent":
                    values      = JsonConvert.DeserializeObject <dynamic>(e.Data);
                    slot.Email  = values["Email"];
                    slot.Phone  = values["Phone"];
                    slot.Name   = values["Name"];
                    slot.Action = "UserRegisterEvent";
                    slot.When   = e.Timestamp.ToString();
                    slot.Id     = e.Id.ToString();
                    slot.Who    = values["Name"];
                    break;

                case "ChangePwdEvent":
                    values      = JsonConvert.DeserializeObject <dynamic>(e.Data);
                    slot.Email  = values["Email"];
                    slot.Name   = values["Name"];
                    slot.Action = "ChangePwdEvent";
                    slot.When   = e.Timestamp.ToString();
                    slot.Who    = values["Name"];
                    slot.Ip     = values["Ip"];
                    slot.Id     = e.Id.ToString();
                    break;
                }
                HistoryData.Add(slot);
            }
        }