public IActionResult GetCSVModel(string url)
 {
     try
     {
         List <Dictionary <string, object> > obj = CovidSerializerExtension.FromXMLURL <Dictionary <string, object> >(url);
         if (obj == null || obj.Count == 0)
         {
             throw new Exception();
         }
         var source = new AddedSource()
         {
             source = url, value = obj
         };
         return(Ok(source));
     }
     catch (Exception xmlEx)
     {
         try
         {
             List <object> obj = CovidSerializerExtension.FromCSVURL <object>(url, CovidDataManager.csvConfig);
             if (obj == null || obj.Count == 0)
             {
                 throw new Exception();
             }
             var source = new AddedSource()
             {
                 source = url, value = obj
             };
             return(Ok(source));
         }
         catch (Exception csvEx)
         {
             try
             {
                 List <Dictionary <string, object> > obj = CovidSerializerExtension.FromJSONURL <Dictionary <string, object> >(url);
                 if (obj == null || obj.Count == 0)
                 {
                     throw new Exception();
                 }
                 var source = new AddedSource()
                 {
                     source = url, value = obj
                 };
                 return(Ok(source));
             }
             catch (Exception JsonEx)
             {
                 return(StatusCode(400, "Error attempting to build object from URL"));
             }
         }
     }
 }
        public async Task <IActionResult> PostCSVFile([FromForm] IFormFile file)
        {
            using (var sr = new System.IO.StreamReader(file.OpenReadStream()))
            {
                var content = await sr.ReadToEndAsync();

                try
                {
                    List <object> obj = CovidSerializerExtension.FromCSV <object>(content, CovidDataManager.csvConfig);
                    if (obj == null || obj.Count == 0)
                    {
                        throw new Exception();
                    }
                    var source = new AddedSource()
                    {
                        source = "User uploaded file", value = obj
                    };
                    return(Ok(source));
                }
                catch (Exception)
                {
                    try
                    {
                        List <Dictionary <string, object> > obj = CovidSerializerExtension.FromJSON <Dictionary <string, object> >(content);
                        if (obj == null || obj.Count == 0)
                        {
                            throw new Exception();
                        }
                        var source = new AddedSource()
                        {
                            source = "User uploaded file", value = obj
                        };
                        return(Ok(source));
                    }
                    catch (Exception ex)
                    {
                        return(StatusCode(400, "Error attempting to build object from CSV " + ex.Message));
                    }
                }
            }
        }
Beispiel #3
0
        public AnimatedToolbarCanvas()
        {
            var ButtonOuterWidth = 16 + 4;

            Items = new BindingList <AnimatedToolbarItem>();
            Items.WithEvents(
                (AddedSource, AddedIndex) =>
            {
                AddedSource.x  = AddedIndex * ButtonOuterWidth;
                AddedSource.cx = 8;

                AddedSource.Button = new Canvas
                {
                    Cursor = Cursors.Hand
                }.AttachTo(this);

                AddedSource.MoveTo =
                    delegate
                {
                    AddedSource.Button.MoveTo(AddedSource.x + AddedSource.cx, 0);
                };

                #region ItemClicked
                AddedSource.Button.MouseLeftButtonUp +=
                    delegate
                {
                    if (ItemClicked != null)
                    {
                        ItemClicked(AddedSource);
                    }
                };
                #endregion

                #region ItemMouseEnter
                AddedSource.Button.MouseEnter +=
                    (e, s) =>
                {
                    if (ItemMouseEnter != null)
                    {
                        ItemMouseEnter(AddedSource, s);
                    }
                };
                #endregion

                #region ItemMouseLeave
                AddedSource.Button.MouseLeave +=
                    (e, s) =>
                {
                    if (ItemMouseLeave != null)
                    {
                        ItemMouseLeave(AddedSource, s);
                    }
                };
                #endregion

                AddedSource.Button.MouseEnter +=
                    delegate
                {
                    SelectedItem = AddedSource;
                };

                AddedSource.a         = AddedSource.Button.ToAnimatedOpacity();
                AddedSource.a.Opacity = 0;

                #region fade in and slide left
                AddedSource.Image.AttachTo(AddedSource.Button);

                AddedSource.a.Opacity = 1;

                if (AddedSource.cx > 0)
                {
                    (1000 / 60).AtIntervalWithTimerAndCounter(
                        (t, c) =>
                    {
                        AddedSource.cx--;

                        AddedSource.MoveTo();

                        if (AddedSource.cx > 0)
                        {
                            return;
                        }

                        t.Stop();
                    }
                        );
                }
                #endregion

                #region StartAnimatingRemove
                Action StartAnimatingRemove =
                    delegate
                {
                    if (Items.Count > MaxItems)
                    {
                        Items.First().With(
                            RemovedSource =>
                        {
                            RemovedSource.a.SetOpacity(0,
                                                       delegate
                            {
                                RemovedSource.Button.Orphanize();
                                RemovedSource.Button = null;
                            }
                                                       );

                            Items.Remove(RemovedSource);
                        }
                            );
                    }
                };

                StartAnimatingRemove();
                #endregion


                return((RemovedSource, RemovedIndex) =>
                {
                    //RemovedSource.Button.Orphanize();
                    //RemovedSource.Button = null;

                    if (SelectedItem == RemovedSource)
                    {
                        SelectedItem = null;
                    }

                    var u = Items.ToArray();
                    200.AtDelay(
                        delegate
                    {
                        (1000 / 20).AtIntervalWithTimerAndCounter(
                            (t, c) =>
                        {
                            u.WithEach(
                                k =>
                            {
                                k.x -= 4;
                                k.MoveTo();
                            }
                                );

                            if (c < 4)
                            {
                                return;
                            }

                            t.Stop();
                        }
                            );
                    }
                        );
                });
            }
                );
        }