Beispiel #1
0
 public Invoice(string invNumber, SenderCompany sender, Company reciever, DateTime startDate, DateTime dueDate)
 {
     this.InvoiceNumber   = invNumber;
     this.SenderCompany   = sender;
     this.RecieverCompany = reciever;
     this.StartDate       = startDate;
     this.DueDate         = dueDate;
 }
        /// <summary>
        /// Creates an Invoice from the specified file
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public Invoice CreateInvoiceFromFile(string filePath)
        {
            DateTime invDate, dueDate;

            string[] data = InvoiceReader.ReadInvoiceFile(filePath);

            if (!DateTime.TryParse(data[1], out invDate))
            {
                Console.WriteLine("Kunde inte läsa startdatum");
            }

            if (!DateTime.TryParse(data[2], out dueDate))
            {
                Console.WriteLine("Kunde inte läsa slutdatum");
            }

            string  recieverPerson = data[4];
            Company reciever       = new Company(data[3], new Address(data[5], data[6], data[7], data[8]));

            reciever.Person = recieverPerson;

            int numItems;

            Int32.TryParse(data[9], out numItems);

            List <string> products = SplitArray(data, 10, numItems * 4);

            Cart cart = GetProductsFromArray(products, numItems);

            List <string> withoutProducts = data.ToList <string>();

            withoutProducts.RemoveRange(9, (numItems * 4) + 1);

            data = withoutProducts.ToArray();

            SenderCompany senderCompany = new SenderCompany(data[9], new Address(data[10], data[11], data[12], data[13]));

            string phone    = data[14];
            string homepage = data[15];

            senderCompany.Phonenumber = phone;
            senderCompany.Website     = homepage;

            inv      = new Invoice(data[0], senderCompany, reciever, invDate, dueDate);
            inv.Cart = cart;

            return(this.inv);
        }