コード例 #1
0
        private void btnProcessFile_Click(object sender, RoutedEventArgs e)
        {
            FilePath_TxtBox.Text = string.Empty;
            WebOrderModel webOrderModel = new WebOrderModel();

            try
            {
                webOrderModel = WebOrderHelpers.DeserializeToObject <WebOrderModel>(filePath);
            }
            catch (System.Exception exception)
            {
                MessageBox.Show($"There was an error in processing your file. Make sure it is the correct type and format. {Environment.NewLine}" +
                                $"Error message: {exception.Message}");
            }

            WebOrder webOrderView = new WebOrder();

            if (webOrderModel.Equals(new WebOrderModel()))
            {
                MessageBox.Show("There seems to be an error with your input file. Check its structure and try again.");
            }
            else
            {
                webOrderView     = new WebOrder(webOrderModel);
                Id.Content       = webOrderView.ID == 0 ? "Wrong order ID" : webOrderView.ID.ToString();
                Customer.Content = string.IsNullOrEmpty(webOrderView.Customer) ? "No customer name found." : webOrderView.Customer;
                Date.Content     = webOrderView.Date.Equals(new System.DateTime(0001, 01, 01)) ? Date.Content = "Wrong date format" : webOrderView.Date;
                PriceAvg.Content = webOrderView.PriceAvg.Equals("000.000") ? "No items found" : webOrderView.PriceAvg;
                Total.Content    = webOrderView.Total.Equals("000.000") ? "No items found" : webOrderView.Total;
            }
        }
コード例 #2
0
        public WebOrder(WebOrderModel webOrderModel)
        {
            double total, priceAvg;

            ID       = webOrderModel.ID;
            Customer = webOrderModel.Customer;
            Date     = WebOrderHelpers.GetParsedDate(webOrderModel.Date);
            Amount   = webOrderModel.Items.Count != 0  ? webOrderModel.Items.Sum(i => i.Quantity) : 0;
            total    = webOrderModel.Items.Count != 0 ? webOrderModel.Items.Select(x => x.Price * x.Quantity).Sum() : 0;
            Total    = string.Format("{0: #,000.000}", total).Trim();
            priceAvg = webOrderModel.Items.Count != 0 ? webOrderModel.Items.Average(i => i.Price) : 0;
            PriceAvg = string.Format("{0: #,000.000}", priceAvg).Trim();
        }
コード例 #3
0
        public void DeserializationTest1(string inputXMLPath)
        {
            WebOrderModel WOModel = WebOrderHelpers.DeserializeToObject <WebOrderModel>(inputXMLPath);

            if ((WOModel.ID.GetType().Equals(typeof(int)))
                & (WOModel.Customer.GetType().Equals(typeof(string)))
                & (WOModel.Date.GetType().Equals(typeof(string)))
                & (WOModel.AvgUnitPrice.GetType().Equals(typeof(decimal)))
                & (WOModel.Total.GetType().Equals(typeof(decimal))))
            {
                Assert.Pass();
            }
            else
            {
                Assert.Fail();
            }
        }
コード例 #4
0
 public void DeserializationTest2(string inputXMLPath)
 {
     Assert.That(() => WebOrderHelpers.DeserializeToObject <WebOrderModel>(inputXMLPath), Throws.Exception);
 }