static void DisplayDeleteCharacter()
        {
            FlintstoneCharacter character = new FlintstoneCharacter();

            DisplayScreenHeader("Delete Character");

            Console.Write("Id: ");
            int temp;

            while (!int.TryParse(Console.ReadLine(), out temp))
            {
                Console.WriteLine("Please Enter a Valid ID (20, 21, 22, etc)");
                DisplayContinuePrompt();
                Console.Clear();
                Console.Write("Id: ");
            }
            ;

            character.Id = temp;


            _fcBusiness.DeleteFlinstoneCharacter(character);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.WriteLine($"{character.FirstName} DELETED FROM DATA.");
            }
            else
            {
                Console.WriteLine("Something went wrong.");
            }

            DisplayMainMenuPrompt();
        }
Beispiel #2
0
        static void DisplayDeleteCharacter()
        {
            FlintstoneCharacter character = new FlintstoneCharacter();

            DisplayScreenHeader("Delete old character");
            bool checking = true;
            int  id       = 0;

            while (checking)
            {
                Console.Clear();
                Console.WriteLine("Enter the Id of the character that you want to delete");
                if (int.TryParse(Console.ReadLine(), out id) && id == character.Id)
                {
                    character.Id = id;
                    break;
                }
                else if (id != character.Id)
                {
                    Console.Clear();
                    Console.WriteLine("Nothing is here");
                    Console.ReadKey();
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("Please enter a valid number for your ID!");
                    Console.ReadKey();
                }
            }
            _fcBusiness.DeleteFlintstoneCharacter(character);
            Console.WriteLine("Whats done is done.");
            DisplayMainMenuPrompt();
        }
        /// <summary>
        /// retrieve a character using the repository
        /// </summary>
        /// <returns>character</returns>
        private FlintstoneCharacter GetCharacter(int id)
        {
            FlintstoneCharacter character = null;

            FileIoStatus = FileIoMessage.None;

            try
            {
                using (FlintstoneCharacterRepository fsRepository = new FlintstoneCharacterRepository())
                {
                    character = fsRepository.GetById(id);
                };

                if (character != null)
                {
                    FileIoStatus = FileIoMessage.Complete;
                }
                else
                {
                    FileIoStatus = FileIoMessage.RecordNotFound;
                }
            }
            catch (Exception)
            {
                FileIoStatus = FileIoMessage.FileAccessError;
            }

            return(character);
        }
Beispiel #4
0
        //private string jsonFile = @"Q:\Demo_NTier_XmlJsonData-master\Demo_NTier_XmlJsonData\DataAccessLayer\DataXml";
        //string xmlFile = @"Q:\Demo_NTier_XmlJsonData-master\Demo_NTier_XmlJsonData\DataAccessLayer\DataXml";

        static void DisplayUpdateCharacter()
        {
            /*
             *
             *
             *
             */
            DisplayScreenHeader("Who do you want to update? (By Id)");

            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();
            int id = DisplayGetCharacterIdFromList(characters);
            FlintstoneCharacter character = _fcBusiness.FlintstoneCharacterById(id);
            string whatToUpdate           = "";
            bool   checking = true;

            while (checking)
            {
                Console.WriteLine("Enter what you would like to update:");
                Console.WriteLine();
                Console.WriteLine($"<Age> <AverageAnnualGross> <FirstName> <LastName> <Gender> <Description> <GroceryList> <HireDate>");
                whatToUpdate = Console.ReadLine().ToLower();

                switch (whatToUpdate)
                {
                case "age":
                    bool checking2 = true;
                    while (checking2)
                    {
                        Console.WriteLine("what is the new age?");

                        character.Age = int.Parse(Console.ReadLine());
                        checking2     = false;
                        _fcBusiness.UpdateFlintstoneCharacter(character);
                        FlintstoneCharacterBusiness.whatToChange(whatToUpdate, character);
                        break;
                    }
                    break;

                case "description":
                {
                    Console.WriteLine("Gimme ein description!");
                    character.Description = Console.ReadLine();
                    FlintstoneCharacterBusiness.whatToChange(whatToUpdate, character);
                    _fcBusiness.UpdateFlintstoneCharacter(character);
                    break;
                }
                    //case "averageannualgross":
                    //    {

                    //    }

                    break;
                }

                DisplayMainMenuPrompt();
                break;
            }
        }
        /// <summary>
        /// SCREEN: add a character
        /// </summary>
        static void DisplayAddCharacter()
        {
            FlintstoneCharacter character = new FlintstoneCharacter();

            DisplayScreenHeader("Add a New Character");

            Console.Write("First Name:");
            character.FirstName = Console.ReadLine();

            Console.Write("Last Name:");
            character.LastName = Console.ReadLine();

            GetInteger("Age:", 1, 200, out int age);
            character.Age = age;

            Console.Write("Gender:");
            Enum.TryParse(Console.ReadLine(), out FlintstoneCharacter.GenderType gender);
            character.Gender = gender;

            Console.Write("Image File:");
            character.ImageFileName = Console.ReadLine();

            GetInteger("Gross Salary:", 1, 1000000, out int grossSalary);
            character.Age = grossSalary;

            Console.Write("Description:");
            character.Description = Console.ReadLine();

            character.GroceryList = new List <GroceryItem>();
            GetInteger("Number of Grocery Items:", 1, 20, out int numberOfGroceryItems);
            for (int i = 0; i < numberOfGroceryItems; i++)
            {
                GroceryItem groceryItem = new GroceryItem();

                Console.Write("Grocery Item Name:");
                groceryItem.Name = Console.ReadLine();

                GetInteger("Grocery Item Quantity:", 1, 200, out int quantity);
                groceryItem.Quantity = quantity;

                character.GroceryList.Add(groceryItem);
            }

            _fcBusiness.AddFlintstoneCharacter(character);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.WriteLine();
                Console.WriteLine($"{character.FirstName} {character.LastName} added successfully");
            }
            else
            {
                // process file IO error message
            }

            DisplayMainMenuPrompt();
        }
 /// <summary>
 /// display all character property values
 /// </summary>
 /// <param name="character">character</param>
 static void DisplayCharacterInfo(FlintstoneCharacter character)
 {
     Console.WriteLine($"Last Name: {character.LastName}");
     Console.WriteLine($"First Name: {character.FirstName}");
     Console.WriteLine($"Age: {character.Age}");
     Console.WriteLine($"Gender: {character.Gender}");
     Console.WriteLine($"Average Annual Gross: {character.AverageAnnualGross:c}");
     Console.WriteLine($"Description: \n{character.Description}");
 }
Beispiel #7
0
        private void OnSaveCharacter()
        {
            switch (_operationStatus)
            {
            case OperationStatus.ADD:
                if (_detailedViewCharacter != null)
                {
                    //
                    // add character to persistence
                    //
                    _fcBusiness.AddFlintstoneCharacter(_detailedViewCharacter);

                    //
                    // add character to list - update view
                    //
                    _characters.Add(DetailedViewCharacter);

                    //
                    // set SelectedCharacter property to the new character
                    //
                    SelectedCharacter = DetailedViewCharacter;
                }
                break;

            case OperationStatus.EDIT:
                FlintstoneCharacter characterToUpdate = _characters.FirstOrDefault(c => c.Id == SelectedCharacter.Id);

                if (characterToUpdate != null)
                {
                    FlintstoneCharacter updatedCharacter = DetailedViewCharacter;

                    //
                    // update character in persistence
                    //
                    _fcBusiness.UpdateFlintstoneCharacter(updatedCharacter);

                    //
                    // update character in list - update view
                    _characters.Remove(characterToUpdate);
                    _characters.Add(updatedCharacter);

                    //
                    // set SelectedCharacter property to updated character
                    //
                    SelectedCharacter = updatedCharacter;
                }
                break;

            default:

                break;
            }

            IsEditingAdding          = false;
            ShowAddEditDeleteButtons = true;
            _operationStatus         = OperationStatus.NONE;
        }
        public static void whatToChange(string propertyToChange, FlintstoneCharacter character)
        {
            var  d        = character;
            bool checking = true;

            int age = 0;

            switch (propertyToChange.ToLower())
            {
            case "age":
                character.Age = age;
                break;

            case "averageannualgross":
                int gross = 0;
                while (checking)
                {
                    Console.Clear();
                    Console.WriteLine("Annual Gross Salary?");
                    if (int.TryParse(Console.ReadLine(), out gross))
                    {
                        d.AverageAnnualGross = gross;
                        break;
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Please enter a valid number for your gross!");
                        Console.ReadKey();
                    }
                }

                character = d;
                break;

            case "firstname":
                break;

            case "lastname":
                break;

            case "gender":
                break;

            case "description":
                break;

            case "grocerylist":
                break;

            case "hiredate":
                break;

            default:
                break;
            }
        }
        /// <summary>
        /// SCREEN: update a character
        /// </summary>
        static void DisplayUpdateCharacter()
        {
            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();

            DisplayScreenHeader("Update Character");

            int id = DisplayGetCharacterIdFromList(characters);

            FlintstoneCharacter character = _fcBusiness.FlintstoneCharacterById(id);

            DisplayScreenHeader("Update Character");

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.Write($"Current First Name: {character.FirstName}   New First Name: ");
                character.FirstName = Console.ReadLine();

                Console.Write($"Current Last Name: {character.LastName}   New ");
                character.LastName = Console.ReadLine();

                GetInteger("Current Age:", 1, 200, out int age);
                character.Age = age;

                Console.Write($"Current Gender: {character.Gender}   New ");
                Enum.TryParse(Console.ReadLine(), out FlintstoneCharacter.GenderType gender);
                character.Gender = gender;

                Console.Write($"Current Image File: {character.ImageFileName}   New ");
                character.ImageFileName = Console.ReadLine();

                GetInteger("Gross Salary:", 1, 1000000, out int grossSalary);
                character.Age = grossSalary;

                Console.Write($"Current Description: {character.Description}   New ");
                character.Description = Console.ReadLine();
            }
            else
            {
                // process file IO error message
            }

            _fcBusiness.UpdateFlintstoneCharacter(character);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.WriteLine($"{character.FullName} updated.");
            }
            else
            {
                // process file IO error message
            }

            DisplayMainMenuPrompt();
        }
Beispiel #10
0
        // delete character xdxd

        static void DisplayDeleteCharacter()
        {
            DisplayScreenHeader("Delete Character Screen");
            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();

            int id = DisplayGetCharacterIdFromList(characters);

            FlintstoneCharacter character = _fcBusiness.FlintstoneCharacterById(id);

            _fcBusiness.DeleteFlintstoneCharacter(character);
        }
 /// <summary>
 /// add a new character
 /// </summary>
 /// <param name="character">character</param>
 public void Add(FlintstoneCharacter character)
 {
     try
     {
         _characters.Add(character);
         _dataService.WriteAll(_characters);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #12
0
        public MainWindowViewModel(FlintstoneCharacterBusiness fcBusiness)
        {
            _fcBusiness = fcBusiness;
            _characters = new ObservableCollection <FlintstoneCharacter>(_fcBusiness.AllFlintstoneCharacters());
            UpdateImagePath();

            //
            // set SelectedCharacter property to first in list
            //
            _selectedCharacter = _characters[0];
            UpdateDetailedViewCharacterToSelected();
        }
Beispiel #13
0
 /// <summary>
 /// display all character property values
 /// </summary>
 /// <param name="character">character</param>
 static void DisplayCharacterInfo(FlintstoneCharacter character)
 {
     Console.WriteLine($"Last Name: {character.LastName}");
     Console.WriteLine($"First Name: {character.FirstName}");
     Console.WriteLine($"Age: {character.Age}");
     Console.WriteLine($"Gender: {character.Gender}");
     Console.WriteLine($"Average Annual Gross: {character.AverageAnnualGross:c}");
     Console.WriteLine($"Description: \n{character.Description}");
     foreach (GroceryItem item in character.GroceryList)
     {
         Console.WriteLine("Grocery Item: " + item.Name + " Quaintily: " + item.Quantity);
     }
 }
        /// <summary>
        /// update a character
        /// </summary>
        /// <param name="character">character</param>
        public void Update(FlintstoneCharacter character)
        {
            try
            {
                _characters.Remove(_characters.FirstOrDefault(c => c.Id == character.Id));
                _characters.Add(character);

                _dataService.WriteAll(_characters);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public void DeleteFlintstoneCharacter(FlintstoneCharacter character)
 {
     FileIoStatus = FileIoMessage.None;
     using (FlintstoneCharacterRepository fsRepository = new FlintstoneCharacterRepository())
         try
         {
             fsRepository.Delete(character.Id);
             FileIoStatus = FileIoMessage.FileAccessError;
         }
         catch (Exception)
         {
             FileIoStatus = FileIoMessage.FileAccessError;
         }
 }
        static void DisplayDeleteCharacter()
        {
            DisplayScreenHeader("Delete Character");
            Console.WriteLine("Enter a character Id that you want to delete!");

            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();

            int id = DisplayGetCharacterIdFromList(characters);

            FlintstoneCharacter character = _fcBusiness.FlintstoneCharacterById(id);

            _fcBusiness.DeleteFlintstoneCharacter(character);

            DisplayMainMenuPrompt();
        }
 public void AddFlintstoneCharacter(FlintstoneCharacter character)
 {
     FileIoStatus = FileIoMessage.None;
     using (FlintstoneCharacterRepository fsRepository = new FlintstoneCharacterRepository())
     {
         try
         {
             fsRepository.Add(character);
             FileIoStatus = FileIoMessage.Complete;
         }
         catch (Exception)
         {
             FileIoStatus = FileIoMessage.FileAccessError;
         }
     }
 }
Beispiel #18
0
        private void UpdateDetailedViewCharacterToSelected()
        {
            FlintstoneCharacter tempCharacter = new FlintstoneCharacter();

            tempCharacter.Id                 = _selectedCharacter.Id;
            tempCharacter.FirstName          = _selectedCharacter.FirstName;
            tempCharacter.LastName           = _selectedCharacter.LastName;
            tempCharacter.Age                = _selectedCharacter.Age;
            tempCharacter.Gender             = _selectedCharacter.Gender;
            tempCharacter.AverageAnnualGross = _selectedCharacter.AverageAnnualGross;
            tempCharacter.HireDate           = _selectedCharacter.HireDate;
            tempCharacter.Description        = _selectedCharacter.Description;
            tempCharacter.ImageFileName      = _selectedCharacter.ImageFileName;
            tempCharacter.ImageFilePath      = _selectedCharacter.ImageFilePath;
            DetailedViewCharacter            = tempCharacter;
        }
Beispiel #19
0
        /// <summary>
        /// retrieve a character by id
        /// </summary>
        /// <param name="id">character id</param>
        /// <returns>character</returns>
        public FlintstoneCharacter FlintstoneCharacterById(int id)
        {
            List <FlintstoneCharacter> characters = FlintstoneCharactersList();
            FlintstoneCharacter        character  = characters.FirstOrDefault(c => c.Id == id);

            if (character == null)
            {
                FileIoStatus = FileIoMessage.RecordNotFound;
            }
            else
            {
                FileIoStatus = FileIoMessage.Complete;
            }

            return(character);
        }
Beispiel #20
0
        /// <summary>
        /// Delete a character
        /// </summary>
        private static void DisplayDeleteCharacter()
        {
            DisplayScreenHeader("Delete Character");

            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();

            int id = DisplayGetCharacterIdFromList(characters, "Choose Which Character You Would Like To Delete");

            FlintstoneCharacter character = _fcBusiness.FlintstoneCharacterById(id);

            _fcBusiness.DeleteFlintstoneCharacter(character);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.WriteLine($"{character.FullName} was deleted from the database successfully.");
            }

            DisplayMainMenuPrompt();
        }
Beispiel #21
0
        /// <summary>
        /// display a single character's information
        /// </summary>
        static void DisplayCharacterDetail()
        {
            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();

            int id = DisplayGetCharacterIdFromList(characters);

            FlintstoneCharacter character = _fcBusiness.FlintstoneCharacterById(id);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                DisplayScreenHeader("Character Information");
                DisplayCharacterInfo(character);
            }
            else
            {
                // process file IO error message
            }

            DisplayMainMenuPrompt();
        }
Beispiel #22
0
 /// <summary>
 /// display all character property values
 /// </summary>
 /// <param name="character">character</param>
 static void DisplayCharacterInfo(FlintstoneCharacter character)
 {
     Console.WriteLine($"Last Name: {character.LastName}");
     Console.WriteLine($"First Name: {character.FirstName}");
     Console.WriteLine($"Age: {character.Age}");
     Console.WriteLine($"Gender: {character.Gender}");
     Console.WriteLine($"Average Annual Gross: {character.AverageAnnualGross:c}");
     Console.WriteLine($"Description: \n{character.Description}");
     Console.WriteLine($"Grocery List: \n");
     if (character.GroceryList != null)
     {
         for (int i = 0; i < character.GroceryList.Count; i++)
         {
             Console.WriteLine($"Item Name: {character.GroceryList[i].Name} Quantity {character.GroceryList[i].Quantity}");
         }
     }
     else
     {
         Console.WriteLine($"{character.FirstName} does not have a grocery list!");
         List <GroceryItem> list1 = new List <GroceryItem>();
         character.GroceryList = list1;
     }
 }
        public void UpdateFlintstoneCharacter(FlintstoneCharacter updatedCharacter)
        {
            try
            {
                if (GetCharacter(updatedCharacter.Id) != null)
                {
                    using (FlintstoneCharacterRepository repo = new FlintstoneCharacterRepository())
                    {
                        repo.Update(updatedCharacter);
                    }

                    FileIoStatus = FileIoMessage.Complete;
                }
                else
                {
                    FileIoStatus = FileIoMessage.RecordNotFound;
                }
            }
            catch (Exception)
            {
                FileIoStatus = FileIoMessage.FileAccessError;
            }
        }
Beispiel #24
0
        static void DisplayAddCharacter()
        {
            int    Response2 = 0;
            string Response  = "g";
            FlintstoneCharacter character = new FlintstoneCharacter();

            character.GroceryList = new List <GroceryItem>();


            DisplayScreenHeader("Add New Character");

            Console.Write("ID:");
            character.Id = int.Parse(Console.ReadLine());
            Console.Write("First Name:");
            character.FirstName = Console.ReadLine();
            Console.Write("Last Name:");
            character.LastName = Console.ReadLine();
            Console.Write("Age:");
            character.Age = int.Parse(Console.ReadLine());
            Console.Write("Gender: male = 2 Female = 1 Obama = 0 ");
            int obama = int.Parse(Console.ReadLine());

            switch (obama)
            {
            case 0:
                character.Gender = FlintstoneCharacter.GenderType.None;
                break;

            case 1:
                character.Gender = FlintstoneCharacter.GenderType.Female;
                break;

            case 2:
                character.Gender = FlintstoneCharacter.GenderType.Male;
                break;

            default:
                break;
            }
            Console.Write("Description");
            character.Description = Console.ReadLine();
            Console.Write("Annual Gross Income");
            character.AverageAnnualGross = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter Grocery list.");
            Console.WriteLine("Item:");
            Console.WriteLine("Quantity:");
            Console.WriteLine("Enter quit to exit");
            while (Response != "quit")
            {
                Response = Console.ReadLine();
                if (Response != "quit")
                {
                    Response2 = int.Parse(Console.ReadLine());
                    character.GroceryList.Add(new GroceryItem {
                        Name = Response, Quantity = Response2
                    });
                }
            }

            _fcBusiness.AddFlintstoneCharacter(character);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.WriteLine(character.FirstName + " Added to the database");
            }
            else
            {
                Console.WriteLine("and it failed congrats");
            }

            DisplayMainMenuPrompt();
        }
Beispiel #25
0
        static void DisplayAddCharacter()
        {
            bool checking = true;
            int  id       = 0;
            FlintstoneCharacter character = new FlintstoneCharacter();
            List <GroceryItem>  list      = new List <GroceryItem>();

            character.GroceryList = list;

            DisplayScreenHeader("Add New character");

            while (checking)
            {
                Console.Clear();
                Console.WriteLine("ID?");
                bool found = false;

                if (int.TryParse(Console.ReadLine(), out id))
                {
                    //    character.Id = id;
                    foreach (FlintstoneCharacter character1 in _fcBusiness.AllFlintstoneCharacters())
                    {
                        if (id == character1.Id)
                        {
                            found = true;
                            break;
                        }
                    }
                    if (found)
                    {
                        Console.Clear();
                        Console.WriteLine("Please enter a valid unused number for your ID!");
                        Console.ReadKey();
                    }
                    else
                    {
                        character.Id = id;
                        break;
                    }
                }
            }

            Console.Write("First Name?");
            character.FirstName = Console.ReadLine();
            Console.Write("Last Name?");
            character.LastName = Console.ReadLine();

            int age = 0;

            while (checking)
            {
                Console.Clear();
                Console.WriteLine("Age?");
                if (int.TryParse(Console.ReadLine(), out age))
                {
                    character.Age = age;
                    break;
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("Please enter a valid number for your age!");
                    Console.ReadKey();
                }
            }
            FlintstoneCharacter.GenderType gender;
            while (checking)
            {
                Console.WriteLine("Gender? <Male> OR <Female>");
                if (Enum.TryParse(Console.ReadLine(), out gender))
                {
                    if (gender == FlintstoneCharacter.GenderType.Female || gender == FlintstoneCharacter.GenderType.Male)
                    {
                        character.Gender = gender;
                        break;
                    }
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("Please enter a valid gender <Male> : <Female>!");
                }
            }
            int gross = 0;

            while (checking)
            {
                Console.Clear();
                Console.WriteLine("Annual Gross Salary?");
                if (int.TryParse(Console.ReadLine(), out gross))
                {
                    character.AverageAnnualGross = gross;
                    break;
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("Please enter a valid number for your gross!");
                    Console.ReadKey();
                }
            }
            Console.Clear();
            Console.WriteLine("Gimme a description!");
            character.Description = Console.ReadLine();

            _fcBusiness.AddFlintstoneCharacter(character);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.WriteLine("added to the data");
            }
            else
            {
                Console.WriteLine("Something went wrong");
            }
            Console.Clear();
            bool finished = false;

            while (!finished)
            {
                Console.WriteLine("Would you like to add an item to your grocerylist?  yes/no");
                string answer = Console.ReadLine().ToLower();
                if (answer == "yes" || answer == "y")
                {
                    //Run adding to grocery list

                    string name = "";
                    Console.Clear();
                    Console.WriteLine("Please enter in the name of your new item.");
                    name = Console.ReadLine();
                    int  quant     = 1;
                    bool quantloop = true;
                    while (quantloop)
                    {
                        Console.WriteLine("Please enter the quantity of your new item.");
                        if (int.TryParse(Console.ReadLine(), out quant))
                        {
                            GroceryItem item = new GroceryItem();
                            item.Name     = name;
                            item.Quantity = quant;
                            character.GroceryList.Add(item);
                            break;
                        }
                    }
                }
                else if (answer == "no" || answer == "n")
                {
                    //Break out of this loop
                    break;
                }
            }
            DisplayMainMenuPrompt();
        }
        /// <summary>
        /// add a new character
        /// </summary>
        static void DisplayAddCharacter()
        {
            FlintstoneCharacter        character  = new FlintstoneCharacter();
            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();
            bool responding;
            bool adding = true;

            DisplayScreenHeader("Add New Character");

            do
            {
                Console.Write("ID: ");

                if (int.TryParse(Console.ReadLine(), out int result))
                {
                    foreach (var flintstone in characters)
                    {
                        if (result == flintstone.Id)
                        {
                            Console.WriteLine();
                            Console.WriteLine("ID already in database. Please try again.");
                            adding = true;
                            break;
                        }
                        else
                        {
                            character.Id = result;
                            adding       = false;
                        }
                    }
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("Invalid entry. Please try again.");
                    adding = true;
                }
            } while (adding);

            Console.Write("First Name: ");
            character.FirstName = Console.ReadLine();
            Console.Write("Last Name: ");
            character.LastName = Console.ReadLine();

            //get age from user
            do
            {
                Console.Write("Age: ");

                if (int.TryParse(Console.ReadLine(), out int result))
                {
                    character.Age = result;
                    responding    = false;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("Invalid entry. Please try again.");
                    responding = true;
                }
            } while (responding);

            //get gender from user
            do
            {
                Console.WriteLine("Gender (F for Female, M for Male): ");
                string response = Console.ReadLine();

                if (response.ToLower() == "f")
                {
                    character.Gender = FlintstoneCharacter.GenderType.Female;
                    responding       = false;
                }
                else if (response.ToLower() == "m")
                {
                    character.Gender = FlintstoneCharacter.GenderType.Male;
                    responding       = false;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("Enter a valid value. F for female, M for male...)");
                    responding = true;
                }
            } while (responding);

            _fcBusiness.AddFlinstoneCharacter(character);

            Console.WriteLine("Character successfully added!");
            DisplayMainMenuPrompt();
        }
 /// <summary>
 /// update a character
 /// </summary>
 /// <param name="character">character</param>
 public void Update(FlintstoneCharacter character)
 {
     _characters.Remove(_characters.FirstOrDefault(c => c.Id == character.Id));
     _characters.Add(character);
 }
Beispiel #28
0
        /// <summary>
        /// Updates the properties of a character based on Id
        /// </summary>
        private static void DisplayUpdateCharacter()
        {
            DisplayScreenHeader("Update Character");

            List <FlintstoneCharacter> characters = _fcBusiness.AllFlintstoneCharacters();
            int id = DisplayGetCharacterIdFromList(characters, "Choose Which Character You Would Like To Update");

            // Creating a character to work with:
            FlintstoneCharacter character       = _fcBusiness.FlintstoneCharacterById(id);
            FlintstoneCharacter updateCharacter = new FlintstoneCharacter();

            updateCharacter.Id = character.Id;

            char menuChoiceKey;
            bool quitUpdate = false;

            do
            {
                //
                // get the user's menu choice
                //
                DisplayScreenHeader("Update Character");
                Console.WriteLine("\tCurrent Character: " + character.FirstName + " " + character.LastName);
                Console.WriteLine();
                Console.WriteLine("Please select which properties you would like to change: ");
                Console.WriteLine("\ta) First Name");
                Console.WriteLine("\tb) Last Name");
                Console.WriteLine("\tc) Age");
                Console.WriteLine("\td) Gender");
                Console.WriteLine("\te) Avg Gross Income");
                Console.WriteLine("\tf) Description");
                Console.WriteLine("\tg) Grocery List");
                Console.WriteLine("\th) All");

                Console.WriteLine("\tq) Return to Main Menu");
                Console.Write("\n\tEnter Choice: ");
                menuChoiceKey = Console.ReadKey().KeyChar;

                //
                // process user's choice
                //
                switch (menuChoiceKey)
                {
                case 'a':
                    //New First Name:
                    character.FirstName = GetStringInput("First Name", "Please enter new first name: ");
                    break;

                case 'b':
                    // New Last Name:
                    character.LastName = GetStringInput("Last Name", "Please enter a new last name: ");
                    break;

                case 'c':
                    // New Age:
                    character.Age = GetIntInput("Age", "Please enter a new character age: ");
                    break;

                case 'd':
                    // New Gender:
                    character.Gender = GetGenderType("Please enter a new gender: ");
                    break;

                case 'e':
                    //Gross:
                    character.AverageAnnualGross = GetDoubleInput("Annual Gross", "Please enter a new average annual gross: ");
                    break;

                case 'f':
                    // Description:
                    character.Description = GetStringInput("Description", "Please enter new description for the character.");
                    break;

                case 'g':
                    // grocery list:
                    character.GroceryList = DisplayUpdateGroceryList("Grocery List");
                    break;

                case 'h':
                    // All of the above
                    updateCharacter.FirstName          = GetStringInput("First Name", "Please enter new first name: ");
                    updateCharacter.LastName           = GetStringInput("Last Name", "Please enter a new last name: ");
                    updateCharacter.Age                = GetIntInput("Age", "Please enter a new character age: ");
                    updateCharacter.Description        = GetStringInput("Description", "Please enter new description for the character.");
                    updateCharacter.Gender             = GetGenderType("Please enter a new gender: ");
                    updateCharacter.AverageAnnualGross = GetDoubleInput("Annual Gross", "Please enter a new average annual gross: ");
                    updateCharacter.GroceryList        = DisplayUpdateGroceryList("Grocery List");
                    character = updateCharacter;
                    break;

                case 'q':
                    quitUpdate = true;
                    break;

                default:
                    Console.WriteLine();
                    Console.WriteLine("\t*************************************************");
                    Console.WriteLine("\t   Please indicate your choice with a letter.");
                    Console.WriteLine("\t**************************************************");
                    DisplayContinuePrompt();
                    break;
                }
            } while (!quitUpdate);



            _fcBusiness.UpdateFlinstonCharacter(character);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                DisplayScreenHeader("Update Character");
                Console.WriteLine("\t\t" + $"{character.FullName} was updated in the database successfully.");
            }

            DisplayMainMenuPrompt();
        }
 /// <summary>
 /// add a new character
 /// </summary>
 /// <param name="character">caracter</param>
 public void Add(FlintstoneCharacter character)
 {
     _characters.Add(character);
     _dataService.WriteAll(_characters);
 }
Beispiel #30
0
        /// <summary>
        /// display interface for user to add a character
        /// </summary>
        static private void DisplayAddCharacter()
        {
            DisplayScreenHeader("Add New Character");

            FlintstoneCharacter newCharacter = new FlintstoneCharacter();

            // Id:
            newCharacter.Id = GetIntInput("Id", "Please enter the characters Id: ");

            //New First Name:
            newCharacter.FirstName = GetStringInput("First Name", "Please enter new first name: ");

            // New Last Name:
            newCharacter.LastName = GetStringInput("Last Name", "Please enter a new last name: ");

            // New Age:
            newCharacter.Age = GetIntInput("Age", "Please enter a new character age: ");

            // New Gender:
            DisplayScreenHeader("Gender");
            Console.WriteLine("Gender: ");
            Console.Write("Options: ");
            foreach (string item in _genderString)
            {
                Console.WriteLine($"{item} ");
            }

            FlintstoneCharacter.GenderType newGender;
            while (!FlintstoneCharacter.GenderType.TryParse(Console.ReadLine(), out newGender))
            {
                DisplayScreenHeader("Gender");
                Console.WriteLine("Please enter one of the following:");
                Console.Write("New Gender: ");
                foreach (string item in _genderString)
                {
                    Console.WriteLine($"{item} ");
                }

                FlintstoneCharacter.GenderType.TryParse(Console.ReadLine(), out newGender);
            }

            newCharacter.Gender = newGender;

            //Hire Date:
            //Console.WriteLine("Hire Date");
            //System.DateTime.TryParse(Console.ReadLine(), out DateTime result);
            //newCharacter.HireDate = result;

            //Gross:
            newCharacter.AverageAnnualGross = GetDoubleInput("Annual Gross", "Please enter a new average annual gross: ");

            // Description:
            newCharacter.Description = GetStringInput("Description", "Please enter new description for the character. ");

            // Grocery List:
            newCharacter.GroceryList = DisplayUpdateGroceryList("Update Grocery List");

            _fcBusiness.AddFlintstoneCharacter(newCharacter);

            if (_fcBusiness.FileIoStatus == FileIoMessage.Complete)
            {
                Console.WriteLine("{0} was added to the database successfully.", newCharacter.FullName);
            }

            DisplayMainMenuPrompt();
        }