コード例 #1
0
ファイル: Article.cs プロジェクト: nnovic/GetFacts
        /// <summary>
        /// Initialise le contenu de cet article avec les
        /// infos provenant d'un XPathNavigator, en suivant
        /// les instructions d'un ArticleTemplate.
        /// </summary>
        /// <param name="nav"></param>
        /// <param name="template"></param>
        /// <remarks>Bloque toutes les exceptions qui pourraient survenir durant
        /// l'exécution de cette méthode.</remarks>
        /// <seealso cref="NotificationKeys.ArticleUpdateError"/>
        internal void Update(XPathNavigator nav, ArticleTemplate template)
        {
            var notification = new NotificationSystem.Notification(this,
                                                                   (int)NotificationKeys.ArticleUpdateError)
            {
                Title       = Identifier,
                Description = "Article update error."
            };

            try
            {
                UpdateInfo(nav, template);
                NotificationSystem.GetInstance().Remove(notification);
            }
            catch (Exception e)
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine(notification.Description);
                sb.AppendFormat("{0} occured while parsing data from {1}.",
                                e.GetType().Name, this.BaseUri.ToString()).AppendLine();
                sb.AppendFormat("The original error message is: \"{0}\"", e.Message);
                notification.Description = sb.ToString();
                NotificationSystem.GetInstance().Add(notification);
            }
        }
コード例 #2
0
        public ArticleTemplateItem(ArticleTemplate template)
        {
            this.articleTemplate = template;

            templateEditor = new ArticleTemplateEditor()
            {
                ArticleTemplate = articleTemplate
            };
            Header = templateEditor;
        }
コード例 #3
0
        /// <summary>
        /// Inserts article template
        /// </summary>
        /// <param name="articleTemplate">Article template</param>
        public virtual void InsertArticleTemplate(ArticleTemplate articleTemplate)
        {
            if (articleTemplate == null)
            {
                throw new ArgumentNullException("articleTemplate");
            }

            _articleTemplateRepository.Insert(articleTemplate);

            //event notification
            _eventPublisher.EntityInserted(articleTemplate);
        }
コード例 #4
0
        private void CreateArticles(IEnumerable <SDArticle> articles)
        {
            foreach (var article in articles)
            {
                var articleHtmlFile = Path.Combine(StepInput.TmpPath, Helper.RemoveIllegalCharacters(article.Title.Replace(" ", "_")) + ".html");

                var template = new ArticleTemplate {
                    SDArticle = article
                };
                File.WriteAllText(articleHtmlFile, template.TransformText());

                CreateArticles(article.Children);
            }
        }
コード例 #5
0
        public IActionResult Update([FromBody] ArticleTemplate article)
        {
            try
            {
                var articleMap = _mapper.Map <Article.Blog.Data.Models.Article>(article);
                _articleRepository.Update(articleMap);

                return(Ok(new ServiceResponse <ArticleServiceResponse, ArticleTemplate>(ArticleServiceResponse.Success)));
            }
            catch (System.Exception ex)
            {
                _logger.Error($"Article Update :{ex}");
                return(BadRequest(new ServiceResponse <ArticleServiceResponse, ArticleTemplate>(ArticleServiceResponse.Exception)));
            }
        }
コード例 #6
0
ファイル: NewArticleWindow.xaml.cs プロジェクト: fhoner/Kasse
        private ArticleTemplate CreateArticleTemplate()
        {
            ArticleTemplate temp = new ArticleTemplate();
            double price;

            if (txtName.Text == "")
                throw new Exception("Kein Artikelname angegeben.");
            if (!double.TryParse(txtPrice.Text, out price))
                throw new Exception("Der angegebene Preis ist ungültig.");

            temp.Name = txtName.Text;
            temp.Price = price;
            temp.IsEnabled = chbxEnabled.IsChecked == true ? true : false;
            temp.IsVisible = chbxVisible.IsChecked == true ? true : false;
            temp.DoPrint = chbxDoPrint.IsChecked == true ? true : false;
            temp.Deposit = (Deposit)cmbDeposit.SelectedItem;

            return temp;
        }
コード例 #7
0
        public virtual ActionResult ArticleTemplateAdd([Bind(Exclude = "Id")] ArticleTemplateModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance))
            {
                return(AccessDeniedView());
            }

            if (!ModelState.IsValid)
            {
                return(Json(new DataSourceResult {
                    Errors = ModelState.SerializeErrors()
                }));
            }

            var template = new ArticleTemplate();

            template = model.ToEntity(template);
            _articleTemplateService.InsertArticleTemplate(template);

            return(new NullJsonResult());
        }
コード例 #8
0
        private void AddArticleButton_Click(object sender, RoutedEventArgs e)
        {
            ArticleTemplate newArticle = new ArticleTemplate();

            SectionTemplate.Articles.Add(newArticle);
        }
コード例 #9
0
ファイル: DatabaseHandler.cs プロジェクト: fhoner/Kasse
        public static Article NewArticle(ArticleTemplate articletemplate, int profileID)
        {
            Article art = null;

            try
            {
                string query = "DECLARE @articleCount INT; " +
                                "DECLARE @position INT; " +
                                "SELECT @articleCount = COUNT(*) FROM Article WHERE (ProfileID = " + profileID + " AND IsDeleted = 0); " +
                                "IF @articleCount < 1 " +
                                "BEGIN " +
                                    "SET @position = 0; " +
                                "END " +
                                "ELSE " +
                                "BEGIN " +
                                "SELECT @position = MAX(Position)+1 FROM Article WHERE ProfileID = " + profileID + "; " +
                                "END ";

                query += "INSERT INTO Article (Name,Price,DoPrint,IsEnabled,IsVisible,ProfileID,DepositID,Position) VALUES (" +
                     "'" + articletemplate.Name + "'," +
                      articletemplate.Price.ToString().Replace(",", ".") + "," +
                     "'" + articletemplate.DoPrint.ToString() + "'," +
                     "'" + articletemplate.IsEnabled.ToString() + "'," +
                     "'" + articletemplate.IsVisible.ToString() + "'," +
                     profileID + "," +
                     articletemplate.Deposit.DepositID + "," +
                     "@position" + ")";

                SqlConnection connection = new SqlConnection(ConnectionString);
                SqlCommand cmd = new SqlCommand(query, connection);
                connection.Open();
                cmd.ExecuteNonQuery();
                connection.Close();


                art = GetArticle(profileID, articletemplate.Name);
            }
            catch (SqlException ex)
            {
                foreach (SqlError err in ex.Errors)
                {
                    switch (err.Number)
                    {
                        case SqllErrorNumbers.DupKey: throw new Exception("Dieser Name wird in dem gewählten Profil bereits verwendet.");
                    }
                }
            }
            catch (Exception ex)
            {
                string errmsg = "Fehler beim Hinzufügen des Artikels.\n\n";
                errmsg += "DatabaseHandler.NewArticle(articletemplate, profileID): " + ex.ToString();
                throw new Exception(errmsg);
            }

            if (art == null)
                throw new Exception("Fehler beim Erstellen des Artikels. Das Speichern konnte nicht verifiziert werden.\n\nDatabaseHandler.NewArticle(articletemplate, profileID)");


            return art;
        }
コード例 #10
0
 public static ArticleTemplate ToEntity(this ArticleTemplateModel model, ArticleTemplate destination)
 {
     return(model.MapTo(destination));
 }
コード例 #11
0
 public static ArticleTemplateModel ToModel(this ArticleTemplate entity)
 {
     return(entity.MapTo <ArticleTemplate, ArticleTemplateModel>());
 }