Ejemplo n.º 1
0
        public static List <VendorExpense> ReadFileXML(string path)
        {
            List <VendorExpense> readedVendorsExpense = new List <VendorExpense>();

            using (XmlReader reader = XmlReader.Create(path))
            {
                while (reader.Read())
                {
                    if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "sale"))
                    {
                        var newVendor  = new VendorExpense();
                        var name       = reader.GetAttribute("vendor");
                        var dbCobntext = new SupermarketContext();
                        var vendor     = dbCobntext.Vendors.FirstOrDefault(x => x.Name == name);
                        newVendor.Vendor = vendor;
                        reader.Read();
                        reader.Read();
                        while ((reader.NodeType == XmlNodeType.Element) &&
                               (reader.Name == "expenses"))
                        {
                            var      month       = reader.GetAttribute("month");
                            DateTime vendorMonth = DateTime.ParseExact(month, "MMM-yyyy", CultureInfo.InvariantCulture);
                            var      sum         = reader.ReadElementString();
                            newVendor.Date         = vendorMonth;
                            newVendor.MonthExpense = decimal.Parse(sum, CultureInfo.InvariantCulture);
                            reader.Read();
                            readedVendorsExpense.Add(newVendor);
                            newVendor        = new VendorExpense();
                            newVendor.Vendor = vendor;
                        }
                    }
                }
                return(readedVendorsExpense);
            }
        }
Ejemplo n.º 2
0
        public MarketData GetReportData()
        {
            var xmlDoc = XDocument.Load(this.ExpensesImportPath);
            var vendorNamesList = xmlDoc.Root.Elements("vendor");

            foreach (var vendorElement in vendorNamesList)
            {
                var vendorName = vendorElement.Attribute("name").Value;
                var vendorId = this.SqlMarketContext.Vendors
                    .Where(u => u.Name == vendorName)
                    .Select(u => u.Id)
                    .FirstOrDefault();

                var monthExpenses = vendorElement.Elements("expenses");
                foreach (var monthExpense in monthExpenses)
                {
                    var dt = monthExpense.Attribute("month").Value;
                    var parsedDatetime = DateTime.Parse(dt);
                    var expense = monthExpense.Value;

                    var vendorExpense = new VendorExpense
                    {
                        VendorId = vendorId,
                        Month = parsedDatetime,
                        Expenses = decimal.Parse(expense)
                    };

                    this.VendorExpenses.Add(vendorExpense);
                }
            }

            return this;
        }
        public void TransferData()
        {
            Console.WriteLine(@"        Importing XML To MsSqlDB
------------------------------------------------");
            DirectoryInfo directoryInfo = new DirectoryInfo(this.ExpensesImportPath);

            Console.WriteLine("From directory:  {0}", directoryInfo.FullName);
            Console.WriteLine("Extracting data...");
            Console.WriteLine("Sending data...");
            Console.WriteLine("Sales report was imported.");
            var xmlDoc          = XDocument.Load(this.ExpensesImportPath);
            var vendorNamesList = xmlDoc.Root.Elements("vendor");

            foreach (var vendorElement in vendorNamesList)
            {
                ///Vendor  v = null;
                //if (vendorElement.Attribute("name").Value != null)
                string vendorName = vendorElement.Attribute("name").Value;

                var vendorEntity = SupermarketContext.Vendors.Where(v => v.VendorName == vendorName).FirstOrDefault();

                if (vendorEntity == null)
                {
                    vendorEntity = new Vendor()
                    {
                        VendorName = vendorName
                    };

                    this.SupermarketContext.Vendors.Add(vendorEntity);
                }

                var monthExpenses = vendorElement.Elements("expenses");
                foreach (var monthExpense in monthExpenses)
                {
                    var dt             = monthExpense.Attribute("month").Value;
                    var parsedDatetime = DateTime.Parse(dt);
                    var expense        = monthExpense.Value;

                    var vendorExpense = new VendorExpense()
                    {
                        VendorId = vendorEntity.Id,
                        Date     = parsedDatetime,
                        Total    = decimal.Parse(expense, CultureInfo.InvariantCulture)
                    };

                    this.SupermarketContext.VendorExpenses.Add(vendorExpense);
                    this.SupermarketContext.SaveChanges();
                }
            }
        }
        public void TransferData()
        {
            Console.WriteLine(@"        Importing XML To MsSqlDB
            ------------------------------------------------");
            DirectoryInfo directoryInfo = new DirectoryInfo(this.ExpensesImportPath);
            Console.WriteLine("From directory:  {0}", directoryInfo.FullName);
            Console.WriteLine("Extracting data...");
            Console.WriteLine("Sending data...");
            Console.WriteLine("Sales report was imported.");
            var xmlDoc = XDocument.Load(this.ExpensesImportPath);
            var vendorNamesList = xmlDoc.Root.Elements("vendor");

            foreach (var vendorElement in vendorNamesList)
            {
                ///Vendor  v = null;
                //if (vendorElement.Attribute("name").Value != null)
                string vendorName = vendorElement.Attribute("name").Value;

                var vendorEntity = SupermarketContext.Vendors.Where(v => v.VendorName == vendorName).FirstOrDefault();

                if (vendorEntity == null)
                {
                    vendorEntity =  new Vendor()
                    {
                         VendorName = vendorName
                    };

                    this.SupermarketContext.Vendors.Add(vendorEntity);
                }

                var monthExpenses = vendorElement.Elements("expenses");
                foreach (var monthExpense in monthExpenses)
                {
                    var dt = monthExpense.Attribute("month").Value;
                    var parsedDatetime = DateTime.Parse(dt);
                    var expense = monthExpense.Value;

                    var vendorExpense = new VendorExpense()
                    {
                        VendorId = vendorEntity.Id,
                        Date = parsedDatetime,
                        Total = decimal.Parse(expense, CultureInfo.InvariantCulture)
                    };

                    this.SupermarketContext.VendorExpenses.Add(vendorExpense);
                    this.SupermarketContext.SaveChanges();
                }
            }
        }
Ejemplo n.º 5
0
        public IEnumerable <VendorExpense> GetAllVendorExpenses()
        {
            var allVendorExpenses = new List <VendorExpense>();

            XmlDocument doc = new XmlDocument();

            doc.Load(XmlSettings.Default.InitialXmlFileLocation);

            XmlNodeList vendorNodesList = doc.SelectNodes("/expenses-by-month/vendor");

            foreach (XmlNode vendorNode in vendorNodesList)
            {
                string vendorName = vendorNode.Attributes.GetNamedItem("name").Value;
                if (string.IsNullOrEmpty(vendorName))
                {
                    throw new ArgumentNullException("Vendor name cannot be empty!");
                }
                XmlNodeList vendorExpenses = vendorNode.SelectNodes("expenses");
                foreach (XmlNode expense in vendorExpenses)
                {
                    VendorExpense vendorExpense = new VendorExpense();
                    vendorExpense.VendorName = vendorName;

                    decimal parsedAmmount = 0;
                    if (!decimal.TryParse(expense.InnerText, NumberStyles.Any, CultureInfo.InvariantCulture,
                                          out parsedAmmount))
                    {
                        throw new FormatException("Unable to parse expenses ammount in" + XmlSettings.Default.InitialXmlFileLocation + "! Parse string: " + expense.InnerText);
                    }

                    vendorExpense.Ammount = parsedAmmount;

                    DateTime parsedDate = new DateTime();
                    if (!DateTime.TryParseExact(expense.Attributes.GetNamedItem("month").Value, "MMM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None,
                                                out parsedDate))
                    {
                        throw new FormatException("Unable to parse date from expenses entry in" + XmlSettings.Default.InitialXmlFileLocation + "! Parse string: " + expense.Attributes.GetNamedItem("month").Value);
                    }

                    vendorExpense.Date = parsedDate;
                    allVendorExpenses.Add(vendorExpense);
                }
            }

            return(allVendorExpenses);
        }
        public void TransferData()
        {
            var xmlDoc = XDocument.Load(this.ExpensesImportPath);
            var vendorNamesList = xmlDoc.Root.Elements("vendor");

            foreach (var vendorElement in vendorNamesList)
            {
                ///V/endor  v = null;
                //if (vendorElement.Attribute("name").Value != null)
                string vendorName = vendorElement.Attribute("name").Value;
                if (vendorName == null)
                {
                    throw new Exception("no vendor name found");
                }

                var VendorEntity = SupermarketContext.Vendors.Where(v => v.VendorName == vendorName).FirstOrDefault();

                if (VendorEntity == null)
                {
                    VendorEntity =  new Vendor()
                    {
                         VendorName = vendorName
                    };

                    SupermarketContext.Vendors.Add(VendorEntity);
                }

                var monthExpenses = vendorElement.Elements("expenses");
                foreach (var monthExpense in monthExpenses)
                {
                    var dt = monthExpense.Attribute("month").Value;
                    var parsedDatetime = DateTime.Parse(dt);
                    var expense = monthExpense.Value;

                    var vendorExpense = new VendorExpense()
                    {
                        VendorId = VendorEntity.Id,
                        Date = parsedDatetime,
                        Total = decimal.Parse(expense, CultureInfo.InvariantCulture)
                    };

                    this.SupermarketContext.VendorExpenses.Add(vendorExpense);
                    this.SupermarketContext.SaveChanges();
                }
            }
        }
Ejemplo n.º 7
0
        public void TransferData()
        {
            var xmlDoc          = XDocument.Load(this.ExpensesImportPath);
            var vendorNamesList = xmlDoc.Root.Elements("vendor");

            foreach (var vendorElement in vendorNamesList)
            {
                ///V/endor  v = null;
                //if (vendorElement.Attribute("name").Value != null)
                string vendorName = vendorElement.Attribute("name").Value;
                if (vendorName == null)
                {
                    throw new Exception("no vendor name found");
                }

                var VendorEntity = SupermarketContext.Vendors.Where(v => v.VendorName == vendorName).FirstOrDefault();

                if (VendorEntity == null)
                {
                    VendorEntity = new Vendor()
                    {
                        VendorName = vendorName
                    };

                    SupermarketContext.Vendors.Add(VendorEntity);
                }

                var monthExpenses = vendorElement.Elements("expenses");
                foreach (var monthExpense in monthExpenses)
                {
                    var dt             = monthExpense.Attribute("month").Value;
                    var parsedDatetime = DateTime.Parse(dt);
                    var expense        = monthExpense.Value;

                    var vendorExpense = new VendorExpense()
                    {
                        VendorId = VendorEntity.Id,
                        Date     = parsedDatetime,
                        Total    = decimal.Parse(expense, CultureInfo.InvariantCulture)
                    };

                    this.SupermarketContext.VendorExpenses.Add(vendorExpense);
                    this.SupermarketContext.SaveChanges();
                }
            }
        }
        public IEnumerable<VendorExpense> GetAllVendorExpenses()
        {
            var allVendorExpenses = new List<VendorExpense>();

            var doc = new XmlDocument();
            doc.Load(XmlSettings.Default.InitialXmlFileLocation);

            var vendorNodesList = doc.SelectNodes("/expenses-by-month/vendor");

            if (vendorNodesList != null)
            {
                foreach (XmlNode vendorNode in vendorNodesList)
                {
                    if (vendorNode.Attributes != null)
                    {
                        var vendorName = vendorNode.Attributes.GetNamedItem("name").Value;
                        if (string.IsNullOrEmpty(vendorName))
                        {
                            throw new ArgumentNullException("Vendor name cannot be empty!", nameof(vendorName));
                        }
                        var vendorExpenses = vendorNode.SelectNodes("expenses");
                        if (vendorExpenses != null)
                        {
                            foreach (XmlNode expense in vendorExpenses)
                            {
                                var vendorExpense = new VendorExpense { VendorName = vendorName };

                                decimal parsedAmmount = 0;
                                if (
                                    !decimal.TryParse(
                                        expense.InnerText,
                                        NumberStyles.Any,
                                        CultureInfo.InvariantCulture,
                                        out parsedAmmount))
                                {
                                    throw new FormatException(
                                        "Unable to parse expenses ammount in"
                                        + XmlSettings.Default.InitialXmlFileLocation + "! Parse string: "
                                        + expense.InnerText);
                                }

                                vendorExpense.Ammount = parsedAmmount;

                                var parsedDate = new DateTime();
                                if (
                                    !DateTime.TryParseExact(
                                        expense.Attributes.GetNamedItem("month").Value,
                                        "MMM-yyyy",
                                        CultureInfo.InvariantCulture,
                                        DateTimeStyles.None,
                                        out parsedDate))
                                {
                                    throw new FormatException(
                                        "Unable to parse date from expenses entry in"
                                        + XmlSettings.Default.InitialXmlFileLocation + "! Parse string: "
                                        + expense.Attributes.GetNamedItem("month").Value);
                                }

                                vendorExpense.Date = parsedDate;
                                allVendorExpenses.Add(vendorExpense);
                            }
                        }
                    }
                }
            }

            return allVendorExpenses;
        }