public SmartController() { var connectionString = System.Configuration.ConfigurationManager. ConnectionStrings["ModuleContext"].ConnectionString; NinjectModule smartModule = new SmartModule(); NinjectModule serviceModule = new ServiceModule(connectionString); var kernel = new StandardKernel(smartModule, serviceModule); var processor = kernel.Get <ISmartService>(); smartService = processor; }
public MvcController(ISmartService smartService) { }
private void AdditionalMenu(ISmartService smartService, string str) { ArrayList Places = new ArrayList { "In house", "In room" }; ArrayList Durations = new ArrayList { "Day", "Month", "Year" }; int option; switch (str) { case "EnterValueOfTemperature": option = ChooseOption("Back", Places); if (option == 0) { return; } EnterValueMenu(smartService, (string)Places[option - 1]); break; case "CalculateTheAverageTemperature": option = ChooseOption("Back", Places); if (option == 0) { return; } CalculateAverageMenu(smartService, (string)Places[option - 1]); break; } void EnterValueMenu(ISmartService smartService, string myStr) { int number; string data; int house; int room; switch (myStr) { case "In house": houses = GetHouseList(); number = ChooseOption("Back", houses); if (number == 0) { return; } house = houses[number - 1].Id; Console.WriteLine("Enter value of temperature in house"); data = Console.ReadLine(); while (IsDigit(data) == false) { data = Console.ReadLine(); } try { smartService.EnterValueOfTemperature(Convert.ToInt32(data), house); } catch (ValidationException ex) { Console.WriteLine(ex.Message); } break; case "In room": houses = GetHouseList(); number = ChooseOption("Back", houses); if (number == 0) { return; } house = houses[number - 1].Id; var RoomsDtos = smartService.ShowRoomsInHouse(house); var mapperRoom = new MapperConfiguration(cfg => cfg.CreateMap <RoomDTO, RoomViewModel>()).CreateMapper(); var rooms = mapperRoom.Map <IEnumerable <RoomDTO>, List <RoomViewModel> >(RoomsDtos); int numberRoom = ChooseOption("Back", rooms); if (numberRoom == 0) { return; } room = rooms[numberRoom - 1].Id; Console.WriteLine($"Enter value of temperature in room {room} house {house}"); data = Console.ReadLine(); while (IsDigit(data) == false) { data = Console.ReadLine(); } try { smartService.EnterValueOfTemperature(house, room, Convert.ToInt32(data)); } catch (ValidationException ex) { Console.WriteLine(ex.Message); } break; } } void CalculateAverageMenu(ISmartService smartService, string myStr) { int number; int numberDuration; int numberRoom; int house; int room; int duration; string strDur = ""; switch (myStr) { case "In house": houses = GetHouseList(); number = ChooseOption("Back", houses); if (number == 0) { return; } house = houses[number - 1].Id; numberDuration = ChooseOption("Back", Durations); if (numberDuration == 0) { return; } duration = numberDuration - 1; if (duration == 0) { strDur = "day"; } else if (duration == 1) { strDur = "month"; } else { strDur = "year"; } try { Console.WriteLine($"Average for {strDur} in House Id {house} is {smartService.CalculateAverage(house, duration, 0)}"); } catch (ValidationException ex) { Console.WriteLine(ex.Message); } break; case "In room": houses = GetHouseList(); number = ChooseOption("Back", houses); if (number == 0) { return; } house = houses[number - 1].Id; var RoomsDtos = smartService.ShowRoomsInHouse(house); var mapperRoom = new MapperConfiguration(cfg => cfg.CreateMap <RoomDTO, RoomViewModel>()).CreateMapper(); var rooms = mapperRoom.Map <IEnumerable <RoomDTO>, List <RoomViewModel> >(RoomsDtos); numberRoom = ChooseOption("Back", rooms); if (numberRoom == 0) { return; } room = rooms[numberRoom - 1].Id; numberDuration = ChooseOption("Back", Durations); if (numberDuration == 0) { return; } duration = numberDuration - 1; if (duration == 0) { strDur = "day"; } else if (duration == 1) { strDur = "month"; } else { strDur = "year"; } try { Console.WriteLine($"Average for {strDur} in House Id {house} in Room ID {room} is {smartService.CalculateAverage(house, duration, room)}"); } catch (ValidationException ex) { Console.WriteLine(ex.Message); } break; } } }