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)); } } } }
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(); } ); } ); }); } ); }