示例#1
0
        private static void FornecedorHistoryDeserializer(IEnumerable <StoredEvent> storedEvents)
        {
            foreach (var e in storedEvents)
            {
                var     slot = new FornecedorHistoryData();
                dynamic values;

                switch (e.MessageType)
                {
                case "FornecedorRegisteredEvent":
                    values = JsonConvert.DeserializeObject <dynamic>(e.Data);

                    slot.NomeCompanhia = values["NomeCompanhia"];
                    slot.NomeContato   = values["NomeContato"];
                    slot.TituloContato = values["TituloContato"];
                    slot.Telefone      = values["Telefone"];
                    slot.EnderecoEmail = values["EnderecoEmail"];
                    slot.Endereco      = values["Endereco"];
                    slot.Cidade        = values["Cidade"];
                    slot.Estado        = values["Estado"];
                    slot.Pais          = values["Pais"];
                    slot.Action        = "Registered";
                    slot.When          = values["Timestamp"];
                    slot.Id            = values["Id"];
                    slot.Who           = e.User;
                    break;

                case "FornecedorUpdatedEvent":
                    values = JsonConvert.DeserializeObject <dynamic>(e.Data);

                    slot.NomeCompanhia = values["NomeCompanhia"];
                    slot.NomeContato   = values["NomeContato"];
                    slot.TituloContato = values["TituloContato"];
                    slot.Telefone      = values["Telefone"];
                    slot.EnderecoEmail = values["EnderecoEmail"];
                    slot.Endereco      = values["Endereco"];
                    slot.Cidade        = values["Cidade"];
                    slot.Estado        = values["Estado"];
                    slot.Pais          = values["Pais"];
                    slot.Action        = "Updated";
                    slot.When          = values["Timestamp"];
                    slot.Id            = values["Id"];
                    slot.Who           = e.User;
                    break;

                case "FornecedorRemovedEvent":
                    values      = JsonConvert.DeserializeObject <dynamic>(e.Data);
                    slot.Action = "Removed";
                    slot.When   = values["Timestamp"];
                    slot.Id     = values["Id"];
                    slot.Who    = e.User;
                    break;
                }
                HistoryData.Add(slot);
            }
        }
示例#2
0
        public static IList <FornecedorHistoryData> ToJavaScriptFornecedorHistory(IList <StoredEvent> storedEvents)
        {
            HistoryData = new List <FornecedorHistoryData>();
            FornecedorHistoryDeserializer(storedEvents);

            var sorted = HistoryData.OrderBy(c => c.When);
            var list   = new List <FornecedorHistoryData>();
            var last   = new FornecedorHistoryData();

            foreach (var change in sorted)
            {
                var jsSlot = new FornecedorHistoryData
                {
                    Id = change.Id == Guid.Empty.ToString() || change.Id == last.Id
                        ? ""
                        : change.Id,
                    NomeCompanhia = string.IsNullOrWhiteSpace(change.NomeCompanhia) || change.NomeCompanhia == last.NomeCompanhia
                        ? ""
                        : change.NomeCompanhia,
                    NomeContato = string.IsNullOrWhiteSpace(change.NomeContato) || change.NomeContato == last.NomeContato
                    ? ""
                    : change.NomeContato,
                    Telefone = string.IsNullOrWhiteSpace(change.Telefone) || change.Telefone == last.Telefone
                    ? ""
                    :change.Telefone,
                    TituloContato = string.IsNullOrWhiteSpace(change.TituloContato) || change.TituloContato == last.TituloContato
                    ? ""
                    : change.TituloContato,
                    EnderecoEmail = string.IsNullOrWhiteSpace(change.EnderecoEmail) || change.EnderecoEmail == last.EnderecoEmail
                    ? ""
                    : change.EnderecoEmail,
                    Endereco = string.IsNullOrWhiteSpace(change.Endereco) || change.Endereco == last.Endereco
                    ? ""
                    : change.Endereco,
                    Cidade = string.IsNullOrWhiteSpace(change.Cidade) || change.Cidade == last.Cidade
                    ? ""
                    : change.Cidade,
                    Estado = string.IsNullOrWhiteSpace(change.Estado) || change.Estado == last.Estado
                    ? ""
                    : change.Estado,
                    Pais = string.IsNullOrWhiteSpace(change.Pais) || change.Pais == last.Pais
                    ? ""
                    : change.Pais,

                    Action = string.IsNullOrWhiteSpace(change.Action) ? "" : change.Action,
                    When   = change.When,
                    Who    = change.Who
                };

                list.Add(jsSlot);
                last = change;
            }
            return(list);
        }