예제 #1
0
        protected bool readArticleType(string message, Article article, string quitValue = IOUtility.DEFAULT_QUIT_VALUE,
            string piecewiseValue = "kom", string granulatedValue = "kg")
        {
            while (true)
            {
                bool success = true;
                try
                {
                    Console.Write(message);
                    var str = Console.ReadLine();
                    if (str == quitValue) { return false; }
                    else if (str == piecewiseValue) { article.Type = ArticleType.Piecewise; break; }
                    else if (str == granulatedValue) { article.Type = ArticleType.Granulated; break; }
                    else { success = false; }
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
                catch (Exception)
                {
                    success = false;
                }

                if (!success)
                {
                    Console.WriteLine(ConsoleMessages.INVALID_ENTRY);
                }
            }
            return true;
        }
예제 #2
0
        public override bool Run()
        {
            Display();
            var article = new Article();
            article.Id = ArticleRepository.Instance.NextId;

            var test = readArticleName(ConsoleMessages.READ_ARTICLE_NAME, article);
            if (test) { test = readArticlePrice(ConsoleMessages.READ_ARTICLE_PRICE, article); }
            if (test) { test = readArticleVAT(ConsoleMessages.READ_ARTCLE_VAT, article); }
            if (test) { test = readArticleType(ConsoleMessages.READ_ARTICLE_TYPE, article); }

            if (test) { ArticleRepository.Instance.Add(article); }

            return true;
        }
예제 #3
0
 protected bool readArticleName(string message, Article article, string quitValue = IOUtility.DEFAULT_QUIT_VALUE)
 {
     while (true)
     {
         try
         {
             Console.Write(message);
             var str = Console.ReadLine();
             if (str == quitValue) { return false; }
             article.Name = str;
             break;
         }
         catch (ArgumentException e)
         {
             Console.WriteLine(e.Message);
         }
     }
     return true;
 }
예제 #4
0
 protected bool readArticlePrice(string message, Article article, string quitValue = IOUtility.DEFAULT_QUIT_VALUE)
 {
     while (true)
     {
         try
         {
             Console.Write(message);
             var str = Console.ReadLine();
             if (str == quitValue) { return false; }
             article.Price = Math.Round(double.Parse(str, CultureInfo.InvariantCulture), 2);
             break;
         }
         catch (ArgumentException e)
         {
             Console.WriteLine(e.Message);
         }
         catch (Exception)
         {
             Console.WriteLine(ConsoleMessages.INVALID_ENTRY);
         }
     }
     return true;
 }
예제 #5
0
파일: Article.cs 프로젝트: jan-kelemen/FER
 public static bool ValidQuantity(Article article, double quantity)
 {
     return article.Type == ArticleType.Granulated || ((quantity % 1) < 0.00001);
 }
예제 #6
0
 protected bool readArticleVAT(string message, Article article, string quitValue = IOUtility.DEFAULT_QUIT_VALUE)
 {
     while (true)
     {
         try
         {
             Console.Write(message);
             var str = Console.ReadLine();
             if (str == quitValue) { return false; }
             article.VAT = int.Parse(str);
             break;
         }
         catch (ArgumentException e)
         {
             Console.WriteLine(e.Message);
         }
         catch (Exception)
         {
             Console.WriteLine(ConsoleMessages.INVALID_ENTRY);
         }
     }
     return true;
 }