Beispiel #1
0
        private void LoadDataFromFile()
        {
            // Marina marina = new Software_Implementation_Project.Marina();

            try
            {
                FileOperations      fileOps     = new Software_Implementation_Project.FileOperations();
                Factory.BoatFactory BoatFactory = new Factory.BoatFactory();
                List <string>       fileList    = new List <string>();
                Factory.Boat        boat        = null;
                fileList = fileOps.readDataFromFile();

                if (fileList.Count < 1)
                {
                    // throw new Exception("No data was returned from file");
                }
                else
                {
                    foreach (string item in fileList)
                    {
                        //split array at commas and put result into an array
                        string[] arrSplitRow = item.Split(",".ToCharArray());
                        //create boat based on type
                        string strBoatType  = arrSplitRow[3];
                        string strBoatLen   = arrSplitRow[4];
                        string strBoatDraft = arrSplitRow[2];
                        switch (strBoatType)
                        {
                        case "NarrowBoat":
                            boat = Factory.BoatFactory.BuildBoat(strBoatType);

                            //Factory.NarrowBoat NB =(Factory.NarrowBoat)BoatFactory.BuildBoat(strBoatType);
                            boat = Factory.BoatFactory.BuildBoat(strBoatType);
                            Factory.NarrowBoat NB = (Factory.NarrowBoat)boat;
                            int boatSubType       = BoatFactory.BuildBoatSubTypes(strBoatType);
                            NB.TypeofBoat = strBoatType;

                            NB.NameOfBoat  = arrSplitRow[0];
                            NB.NameOfOwner = arrSplitRow[1];
                            int boatLen   = 0;
                            int boatDraft = 0;
                            try
                            {
                                int.TryParse(strBoatLen, out boatLen);
                                NB.BoatLength = boatLen;
                            }
                            catch (Exception ex)
                            {
                                NB.BoatLength = -1;
                            }
                            try
                            {
                                int.TryParse(strBoatDraft, out boatDraft);
                                NB.BoatDraft = boatDraft;
                            }
                            catch (Exception ex)
                            {
                                NB.BoatDraft = 1;
                            }
                            NB.SternType = arrSplitRow[5];
                            boat         = NB;
                            break;

                        case "Sailing":
                            //boat = BoatFactory.BuildBoat(3);
                            boat = Factory.BoatFactory.BuildBoat(strBoatType);
                            Factory.SailingBoat SB = (Factory.SailingBoat)boat;
                            //  Factory.SailingBoat SB = (Factory.SailingBoat)(BoatFactory.BuildBoat(strBoatType));
                            SB.TypeofBoat  = strBoatType;
                            SB.TypeofBoat  = strBoatType;
                            SB.NameOfBoat  = arrSplitRow[0];
                            SB.NameOfOwner = arrSplitRow[1];
                            boatLen        = 0;
                            try
                            {
                                int.TryParse(strBoatLen, out boatLen);
                                SB.BoatLength = boatLen;
                            }
                            catch (Exception ex)
                            {
                                SB.BoatLength = -1;
                            }
                            try
                            {
                                int.TryParse(strBoatDraft, out boatDraft);
                                SB.BoatDraft = boatDraft;
                            }
                            catch (Exception ex)
                            {
                                SB.BoatDraft = 1;
                            }
                            SB.SailingType = arrSplitRow[5];
                            boat           = SB;
                            break;

                        case "MotorBoat":
                            //  boat = BoatFactory.BuildBoat(strBoatType);
                            // Factory.MotorBoat MB = (Factory.MotorBoat)(BoatFactory.BuildBoat(strBoatType));
                            boat = Factory.BoatFactory.BuildBoat(strBoatType);
                            Factory.MotorBoat MB = (Factory.MotorBoat)boat;
                            MB.TypeofBoat  = strBoatType;
                            MB.NameOfBoat  = arrSplitRow[0];
                            MB.NameOfOwner = arrSplitRow[1];
                            MB.DriveType   = arrSplitRow[5];
                            try
                            {
                                int.TryParse(strBoatLen, out boatLen);
                                MB.BoatLength = boatLen;
                            }
                            catch (Exception ex)
                            {
                                MB.BoatLength = -1;
                            }
                            try
                            {
                                int.TryParse(strBoatDraft, out boatDraft);
                                MB.BoatDraft = boatDraft;
                            }
                            catch (Exception ex)
                            {
                                MB.BoatDraft = 1;
                            }
                            boat = MB;
                            break;

                        default:
                            break;
                        }
                        //end of switch
                        // marina.addBoatToMarina(boat);
                        if (boat != null)
                        {
                            if (count == 0)
                            {
                                BoatNode boatNode = new Software_Implementation_Project.BoatNode(boat);

                                Add(0, boatNode);
                            }
                            else
                            {
                                AddToEnd(boat);
                            }
                            // count++;
                        }
                    }
                    //end of foreach loop
                }
            }
            catch (Exception ex)
            {
                DisplayManager.displayInvalidInputMessage(ex.ToString());
            }


            //return Marina;
        }
Beispiel #2
0
 public Marina()
 {
     head        = null;
     BoatFactory = new Factory.BoatFactory();
     count       = 0;
 }