示例#1
0
        /// <summary>
        /// Deletes an existing keyword.
        /// </summary>
        public void DeleteKeyword(Keyword keyword)
        {
            keyword = dataContext.Keywords.Find(keyword.Id);

            if (keyword == null)
                throw new ArgumentOutOfRangeException("keyword.Id", "Id must exist in the Keywords-table.");

            dataContext.Keywords.Remove(keyword);
            dataContext.SaveChanges();
        }
示例#2
0
        /// <summary>
        /// Adds a new keyword.
        /// </summary>
        public void AddNewKeyword(Keyword keyword)
        {
            Check.Require(keyword.Name);

            if (dataContext.Languages.Find(keyword.LanguageId) == null)
                throw new ArgumentOutOfRangeException("keyword.LanguageId", "LanguageId must exist in the Languages-table.");

            dataContext.Keywords.Add(keyword);
            dataContext.SaveChanges();
        }
        /// <summary>
        /// Event raised when a cell has finished editing.
        /// The edited cell is either updated or added to the database.
        /// TODO: This should be converted to be done by pure binding instead using this event.
        /// TODO: USE: xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" for binding!
        /// TODO: USE: xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" for binding!
        /// </summary>
        private void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            using (var businessContext = new BusinessContext())
            {
                Keyword keyword = (Keyword) e.Row.Item;
                keyword = businessContext.DataContext.Keywords.Find(keyword.Id);

                if (keyword != null)
                {
                    keyword.Name = ((TextBox)e.EditingElement).Text;
                    businessContext.UpdateKeyword(keyword);
                }
                else
                {
                    keyword = new Keyword
                    {
                        Name = ((TextBox)e.EditingElement).Text,
                        LanguageId = ((Language)LanguageTabControl.SelectedValue).Id
                    };

                    businessContext.AddNewKeyword(keyword);
                }
            }
        }
示例#4
0
        /// <summary>
        /// Updates an existing keyword.
        /// </summary>
        public void UpdateKeyword(Keyword keyword)
        {
            Check.Require(keyword.Name);

            Keyword existingKeyword = dataContext.Keywords.Find(keyword.Id);

            if (existingKeyword == null)
                throw new ArgumentOutOfRangeException("keyword.Id", "Id must exist in the Keywords-table.");

            existingKeyword = keyword;

            dataContext.SaveChanges();
        }