private void ParseOrder(DataStore ds, JObject obj)
        {
            string key = obj["key"].ToString().Trim('"');
            var    ord = new Order
            {
                key          = key,
                event_time   = DateTime.ParseExact(obj["event_time"].ToString().Trim('"'), "yyyy-MM-dd:HH:mm:ss.fffZ", System.Globalization.CultureInfo.InvariantCulture),
                customer_id  = obj["customer_id"].ToString().Trim('"'),
                total_amount = Double.Parse(obj["total_amount"].ToString().Trim('"').Replace("USD", ""), System.Globalization.NumberStyles.Any)
            };

            EventVerbs eventVerb = (EventVerbs)Enum.Parse(typeof(EventVerbs), obj["verb"].ToString().Trim('"'));

            switch (eventVerb)
            {
            case EventVerbs.NEW:
                ds.Orders.Add(ord);
                break;

            case EventVerbs.UPDATE:
                var old = ds.Orders.Find(o => o.key.Equals(key));
                old = ord;
                break;

            default:
                break;
            }
        }
        private void ParseCustomer(DataStore ds, JObject obj)
        {
            string key      = obj["key"].ToString().Trim('"');
            var    customer = new Customer
            {
                key        = key,
                event_time = DateTime.ParseExact(obj["event_time"].ToString().Trim('"'), "yyyy-MM-dd:HH:mm:ss.fffZ", System.Globalization.CultureInfo.InvariantCulture),
                last_name  = obj["last_name"].ToString().Trim('"'),
                adr_city   = obj["adr_city"].ToString().Trim('"'),
                adr_state  = obj["adr_state"].ToString().Trim('"')
            };

            EventVerbs eventVerb = (EventVerbs)Enum.Parse(typeof(EventVerbs), obj["verb"].ToString().Trim('"'));

            switch (eventVerb)
            {
            case EventVerbs.NEW:
                ds.Customers.Add(customer);
                break;

            case EventVerbs.UPDATE:
                var old = ds.Customers.Find(c => c.key.Equals(key));
                old = customer;
                break;

            default:
                break;
            }
        }
        private void ParseSiteVisit(DataStore ds, JObject obj)
        {
            string key       = obj["key"].ToString().Trim('"');
            var    siteVisit = new SiteVisit
            {
                key         = key,
                event_time  = DateTime.ParseExact(obj["event_time"].ToString().Trim('"'), "yyyy-MM-dd:HH:mm:ss.fffZ", System.Globalization.CultureInfo.InvariantCulture),
                customer_id = obj["customer_id"].ToString().Trim('"'),
                tags        = obj["tags"].ToString().Trim('"')
            };

            EventVerbs eventVerb = (EventVerbs)Enum.Parse(typeof(EventVerbs), obj["verb"].ToString().Trim('"'));

            switch (eventVerb)
            {
            case EventVerbs.NEW:
                ds.SiteVisits.Add(siteVisit);
                break;

            default:
                break;
            }
        }
        private void ParseImage(DataStore ds, JObject obj)
        {
            string key   = obj["key"].ToString().Trim('"');
            var    image = new Image
            {
                key          = key,
                event_time   = DateTime.ParseExact(obj["event_time"].ToString().Trim('"'), "yyyy-MM-dd:HH:mm:ss.fffZ", System.Globalization.CultureInfo.InvariantCulture),
                customer_id  = obj["customer_id"].ToString().Trim('"'),
                camera_make  = obj["camera_make"].ToString().Trim('"'),
                camera_model = obj["camera_model"].ToString().Trim('"')
            };

            EventVerbs eventVerb = (EventVerbs)Enum.Parse(typeof(EventVerbs), obj["verb"].ToString().Trim('"'));

            switch (eventVerb)
            {
            case EventVerbs.UPLOAD:
                ds.Images.Add(image);
                break;

            default:
                break;
            }
        }
Пример #5
0
 private static IEnumerable <string> FlattenVerbs(EventVerbs verbs)
 {
     return([email protected](@event => verbs.type.ToUpperInvariant() + " " + @event));
 }