示例#1
0
        private void StoreOnShelf()
        {
            try
            {
                ResponseHandler.Clear();

                var chosenProduct = RequestHandler.RequestChoice <Product>(ResponseHandler, Session);

                var amount = RequestHandler.RequestStruct <int>(ResponseHandler, "Choose an amount:");
                while (amount < 1)
                {
                    amount = RequestHandler.RequestStruct <int>(ResponseHandler, "Choose a positive amount:");
                }

                var chosenShelf = RequestHandler.RequestChoice <Shelf>(ResponseHandler, Session);

                chosenProduct.StoreProduct(chosenShelf, amount);

                Session.SaveOrUpdate(chosenProduct);
                Session.Flush();

                ResponseHandler.Clear();
                ResponseHandler.WriteLine("Stuff stored.");
            }
            catch (NoChoiceException)
            {
                ResponseHandler.Clear();
                ResponseHandler.WriteLine("Aborted");
            }

            Show();
        }
示例#2
0
        protected virtual void Add()
        {
            ResponseHandler.Clear();
            ResponseHandler.WriteLine("Type name:");
            var name = RequestHandler.ReadLine();

            var p = new T {
                Name = name
            };

            p = ScreenAdd(p);
            Session.SaveOrUpdate(p);
            ResponseHandler.Clear();
            ResponseHandler.WriteLine($"{typeof(T).Name} '{name}' saved.");
            Show();
        }
示例#3
0
        protected override bool HandleKey(char key)
        {
            switch (key)
            {
            case 'a':
                Add();
                break;

            case 'l':
                ResponseHandler.Clear();
                List();
                ResponseHandler.WriteLine("");
                Show();
                break;

            default:
                return(false);
            }
            return(true);
        }
示例#4
0
        protected override void Add()
        {
            ResponseHandler.Clear();
            ResponseHandler.WriteLine("Type buildingname to add:");
            var buildingName = RequestHandler.ReadLine();

//            Console.WriteLine("Type weight in kg to add:");
//            var weight = Console.ReadLine();
//            var weightKg = 0m;
//            while (!decimal.TryParse(weight, out weightKg))
//            {
//                Console.WriteLine("Type a decimal please:");
//                weight = Console.ReadLine();
//            }

            var building = new Building {
                Name = buildingName
            };

            Session.SaveOrUpdate(building);
            ResponseHandler.Clear();
            ResponseHandler.WriteLine($"{buildingName} saved.");
            Show();
        }
示例#5
0
        private void DetailsOfBuilding()
        {
            if (!_buildings.Any())
            {
                ResponseHandler.WriteLine("Add some buildings first...");
            }
            else
            {
                ResponseHandler.Clear();
                ResponseHandler.WriteLine("Info of which building?");
                List();

                try
                {
                    Building chosenBuilding = RequestHandler.RequestChoice <Building>(ResponseHandler, Session);
                    ScreenHandler.ShowScreen(typeof(BuildingScreen), true, chosenBuilding);
                }
                catch (NoChoiceException)
                {
                    ResponseHandler.Clear();
                    Show();
                }
            }
        }
示例#6
0
 private void ShowDetails()
 {
     ResponseHandler.Clear();
     ResponseHandler.WriteLine($"{_building.Name} (Airco: {_building.Airco.AircoStatus})");
 }