예제 #1
0
 public FieldNotes()
 {
     location          = new Models.FieldLocation(); //Init as a new class
     station           = new Models.Station();
     metadata          = new Models.Metadata();
     earthmat          = new Models.EarthMaterial();
     sample            = new Models.Sample();
     favorite          = new Models.Favorite();
     document          = new Models.Document();
     structure         = new Models.Structure();
     paleoflow         = new Models.Paleoflow();
     fossil            = new Models.Fossil();
     mineral           = new Models.Mineral();
     mineralAlteration = new Models.MineralAlteration();
 }
예제 #2
0
        public int Post(Models.Favorite value)
        {
            try
            {
                Data.TrnFavorite NewFavorite = new Data.TrnFavorite();

                var userId = (from d in db.MstUsers where d.UserName.Equals(value.User) select d).FirstOrDefault().Id;

                var symbolId = (from d in db.MstSymbols where d.Symbol.Equals(value.Symbol) select d).FirstOrDefault().Id;

                bool isShared = false;
                var  data     = from d in db.TrnFavorites
                                where d.UserId == userId && d.Remarks.Equals(value.Remarks)
                                select d;
                if (data.Any())
                {
                    isShared = data.First().IsShared;
                }

                DateTime    dt          = Convert.ToDateTime(value.EncodedDate);
                SqlDateTime EncodedDate = new SqlDateTime(new DateTime(dt.Year, dt.Month, dt.Day));

                NewFavorite.SymbolId    = symbolId;
                NewFavorite.Symbol      = value.Symbol;
                NewFavorite.Remarks     = value.Remarks;
                NewFavorite.EncodedDate = EncodedDate.Value;
                NewFavorite.Trend       = value.Trend;
                NewFavorite.UserId      = userId;

                NewFavorite.IsShared = isShared;

                db.TrnFavorites.InsertOnSubmit(NewFavorite);
                db.SubmitChanges();

                return(NewFavorite.Id);
            }
            catch
            {
                return(0);
            }
        }
예제 #3
0
        public HttpResponseMessage Put(String Id, Models.Favorite value)
        {
            Id = Id.Replace(",", "");
            int id = Convert.ToInt32(Id);

            try
            {
                var Favorites = from d in db.TrnFavorites where d.Id == id select d;

                if (Favorites.Any())
                {
                    var UpdatedFavorites = Favorites.FirstOrDefault();
                    var userId           = (from d in db.MstUsers where d.UserName.Equals(value.User) select d).FirstOrDefault().Id;

                    var symbolId = (from d in db.MstSymbols where d.Symbol.Equals(value.Symbol) select d).FirstOrDefault().Id;

                    DateTime    dt          = Convert.ToDateTime(value.EncodedDate);
                    SqlDateTime EncodedDate = new SqlDateTime(new DateTime(dt.Year, dt.Month, dt.Day));

                    UpdatedFavorites.SymbolId    = symbolId;
                    UpdatedFavorites.Symbol      = value.Symbol;
                    UpdatedFavorites.Remarks     = value.Remarks;
                    UpdatedFavorites.EncodedDate = EncodedDate.Value;
                    UpdatedFavorites.Trend       = value.Trend;
                    UpdatedFavorites.UserId      = userId;

                    db.SubmitChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }
            }
            catch (NullReferenceException)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
예제 #4
0
        public LiveListViewModel(IContainer container)
        {
            _Container = container;

            FavoriteLabel = new ReactiveProperty <string>();
            FavoriteQuery = new ReactiveProperty <string>()
                            .SetValidateNotifyError(x => string.IsNullOrWhiteSpace(x) ? "Please input query" : null);

            FavoriteQueryTargets        = new Dictionary <Models.LiveDescriptor, int>();
            SelectedFavoriteQueryTarget = new ReactiveProperty <KeyValuePair <Models.LiveDescriptor, int> >();

            Favorites = _Container.Resolve <Models.AlertManager>().Favorites.ToReadOnlyReactiveCollection();
            CollectionViewSource.GetDefaultView(Favorites).Filter = x =>
            {
                return((x as Models.Favorite)?.AlertSource == _AlertSource);
            };

            // Open in System default WebBrowser
            DoubleClickLiveItemCommand = new ReactiveCommand();
            DoubleClickLiveItemCommand.Subscribe(x =>
            {
                if (x?.GetType() == typeof(Models.LiveItem))
                {
                    Process.Start(new ProcessStartInfo((x as Models.LiveItem).Url.ToString())
                    {
                        UseShellExecute = true
                    });
                }
            });

            AddFavoriteCommand = FavoriteQuery.ObserveHasErrors.Inverse().ToReactiveCommand();
            AddFavoriteCommand.Subscribe(async() =>
            {
                try
                {
                    Models.AlertManager manager = _Container.Resolve <Models.AlertManager>();
                    Models.Favorite fav         = new Models.Favorite(
                        _AlertSource
                        , FavoriteLabel.Value
                        , FavoriteQuery.Value
                        , SelectedFavoriteQueryTarget.Value.Key.DataName);
                    fav.IsEnabled = true;
                    if (await manager.AddFavorite(fav))
                    {
                        manager.Save();
                        // Clear edits.
                        FavoriteLabel.Value = string.Empty;
                        FavoriteQuery.Value = string.Empty;
                        SelectedFavoriteQueryTarget.Value = FavoriteQueryTargets.First();
                    }
                }
                catch (Exception ex)
                {
                    _logger.Error(ex);
                }
            });

            RemoveFavoriteCommand = new ReactiveCommand();
            RemoveFavoriteCommand.Subscribe(x =>
            {
                try
                {
                    Models.AlertManager manager = _Container.Resolve <Models.AlertManager>();
                    manager.RemoveFavorite((x as Models.Favorite));
                    manager.Save();
                }
                catch (Exception ex)
                {
                    _logger.Error(ex);
                }
            });

            SearchCommand = new ReactiveCommand();
            SearchCommand.Subscribe(() =>
            {
                // Refresh view
                CollectionViewSource.GetDefaultView(Lives).Refresh();
            });

            ClearSearchBoxCommand = new ReactiveCommand();
            ClearSearchBoxCommand.Subscribe(() =>
            {
                FavoriteLabel.Value = string.Empty;
                FavoriteQuery.Value = string.Empty;
                SelectedFavoriteQueryTarget.Value = FavoriteQueryTargets.First();
                CollectionViewSource.GetDefaultView(Lives).Refresh();
            });
        }