public async Task <IActionResult> Create([Bind("Id,Capacity,roomTypes,IsAvailable,PriceAdult,PriceKid,roomNumber")] Room room) { if (ModelState.IsValid) { try { SecurityChecker.CheckRoom(room); } catch (Exception) { return(View(room)); } try { AvailabilityChecker.CheckRoomAvailabikity(room, _context); } catch (RoomNumberExistsException) { ViewData["message"] = "Room number already exists"; room.roomNumber = 0; return(View(room)); } catch (Exception) { return(View(room)); } _context.Add(room); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(room)); }
public void loadXmlFromPayload() { // Creates a XmlDocument from the XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(LevelXmlPayload.Instance.levelXml); var levelFile = xmlDocument.SelectSingleNode("LevelFile"); var hashMatching = SecurityChecker.validateXmlLevel(levelFile); if (!hashMatching) { Debug.LogError("Level hashes are not matching!"); } if (!(hashMatching || overrideHashCheck)) { return; } var versionString = ParseHelper.getAttributeValueByName(levelFile, "version"); if (!int.TryParse(versionString, out var version)) { throw new Exception("Could not parse a valid Versionnumber from: " + versionString); } var levelXml = levelFile.SelectSingleNode("Level"); CurrentLevel = ParserFactory.getLevelParserByVersion(version).parseLevelFromXmlString(levelXml); CurrentTutorial = ParserFactory.getTutorialParserByVersion(version).parseTutorialFromXmlString(levelXml); CurrentLevel.initializeLevel(); CurrentTutorial.initializeTutorial(); }
public async Task <IActionResult> Create([Bind("Id,Username,Password,FirstName,SecondName,LastName,Egn,PhoneNumber,Email,IsActive,HireDate,LeaveDate")] User user) { if (ModelState.IsValid) { user.IsActive = true; user.HireDate = DateTime.Now; try { SecurityChecker.CheckUser(user); } catch (InvalidEgnException) { ViewData["message"] = "Egn is invalid"; user.Egn = null; return(View(user)); } catch (Exception) { return(View(user)); } try { AvailabilityChecker.CheckUserAvailabikity(user, _context); } catch (UsernameAlreadyExistsException) { ViewData["message"] = "Username is taken"; user.Username = null; return(View(user)); } catch (EmailAlreadyExistsException) { ViewData["message"] = "Email is already registered"; user.Email = null; return(View(user)); } catch (EgnAlreadyExistsException) { ViewData["message"] = "EGN is already registered"; user.Egn = null; return(View(user)); } catch (PhoneAlreadyExistsException) { ViewData["message"] = "Phone is already registered"; user.PhoneNumber = null; return(View(user)); } catch (Exception) { return(View(user)); } user.Password = Hasher.GetHash(user.Password); _context.Add(user); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(user)); }
public TControlViewModel GetContent <TControlViewModel, TControl>(bool changeTitle, params Arg[] args) where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { TControlViewModel ret; Dictionary <string, object> parameterDictionary = args.ToDictionary(x => x.Name, x => x.Value); Arguments castleArgs = new Arguments(parameterDictionary); bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); ret = Container.Resolve <TControlViewModel>(parameterDictionary); if (!isAllowed) { throw SecurityException.CreateCoreException <TControlViewModel>(ret); } ret.WindowViewModel.Value = this; ret.ControlLoadedCommand.Execute(ret); if (changeTitle) { Title.Value = string.Format("{0} {1}", MVVMConfiguration.Configuration.DefaultTitle, ((IBaseViewModel)ret).Title != null ? string.Format("- {0}", ((IBaseViewModel)ret).Title) : ""); } return(ret); }
public async Task <IActionResult> Create([Bind("Id,StartDate,EndDate,IsBreakfastIncluded,IsAllInclusive,Price")] Reservation reservation) { //reservation.Price = 1; // if (ModelState.IsValid) // { try { SecurityChecker.CheckDate(reservation.StartDate, reservation.EndDate); } catch (Exception) { return(View(reservation)); } // HttpContext.Items.Add("startdate", reservation.StartDate.ToString()); TempData["startdate"] = reservation.StartDate; //reservation.Reserver = CurrentUser.GetCurrent(_context); // HttpContext.Items.Add("enddate", reservation.EndDate.ToString()); TempData["enddate"] = reservation.EndDate; // HttpContext.Items.Add("IsAllInclusive", reservation.IsAllInclusive.ToString()); TempData["allink"] = reservation.IsAllInclusive; // CurrentReservation.SetResFirst(reservation); // HttpContext.Items.Add("breakfast", reservation.IsBreakfastIncluded.ToString()); TempData["breakfast"] = reservation.IsBreakfastIncluded; //_context.Add(reservation); // await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ShowRooms))); // } // return View(reservation); }
public TControlViewModel GetContent <TControlViewModel, TControl>(bool changeTitle) where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { TControlViewModel ret; bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); ret = Container.Resolve <TControlViewModel>(); if (!isAllowed) { throw SecurityException.CreateCoreException <TControlViewModel>(ret); } ret.WindowViewModel.Value = this; ret.ControlLoadedCommand.Execute(ret); if (changeTitle) { Title.Value = string.Format("{0} {1}", MVVMConfiguration.Configuration.DefaultTitle, ((IBaseViewModel)ret).Title != null ? string.Format("- {0}", ((IBaseViewModel)ret).Title) : ""); } return(ret); }
public TControlViewModel LoadContent <TControlViewModel, TControl>() where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); //TControlViewModel controlViewModel = Container.Resolve<TControlViewModel>(); TControlViewModel controlViewModel = GetContent <TControlViewModel, TControl>(true); if (isAllowed) { Title.Value = string.Format("{0} {1}", MVVMConfiguration.Configuration.DefaultTitle, ((IClaim)controlViewModel).SecurityCode != null ? string.Format("- {0}", ((IClaim)controlViewModel).SecurityCode) : ""); CurrentControlViewModel.Value = controlViewModel; CurrentControlViewModel.Value.WindowViewModel.Value = this; //controlViewModel.ControlLoadedCommand.Execute(controlViewModel); return((TControlViewModel)CurrentControlViewModel.Value); } else { throw SecurityException.CreateCoreException <TControlViewModel>(controlViewModel); } }
public async Task <IActionResult> ConfirmClient(int id) { if (id == 0) { return(RedirectToAction(nameof(ShowClients))); } else { if (int.Parse(TempData["clientsnum"].ToString()) < int.Parse(TempData["roomcap"].ToString())) { var clients = (from c in _context.Clients where c.Id == id select c).ToList(); if (clients.Count > 0) { string clientIds; try { clientIds = TempData["clientids"].ToString(); } catch (Exception) { clientIds = ""; } clientIds += (clients[0].Id.ToString() + " "); TempData["clientsnum"] = int.Parse(TempData["clientsnum"].ToString()) + 1; //HttpContext.Items["clientIds"] = clientIds; TempData["clientids"] = clientIds; // CurrentReservation.Clients.Add(clients[0]); return(RedirectToAction(nameof(ShowClients))); } //return RedirectToAction(nameof(ShowClients)); } // Reservation res = CurrentReservation.GetReservation(); Reservation res = new Reservation(); res.StartDate = DateTime.Parse(TempData["startdate"].ToString()); res.EndDate = DateTime.Parse(TempData["enddate"].ToString()); res.IsAllInclusive = bool.Parse(TempData["allink"].ToString()); res.IsAllInclusive = bool.Parse(TempData["breakfast"].ToString()); // string a = TempData["clientids"].ToString(); res.Reserver = CurrentReservation.GetReserver(int.Parse(TempData["userId"].ToString()), _context); res.Room = CurrentReservation.GetRoom(int.Parse(TempData["roomid"].ToString()), _context); res.Clients = CurrentReservation.GetClients(TempData["clientids"].ToString().Substring(1), _context); res.Price = CurrentReservation.CalkPrice(res); try { SecurityChecker.CheckReservation(res); } catch (Exception) { return(RedirectToAction(nameof(Create))); } _context.Add(res); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } }
public TWindow LoadWindow <TWindowViewModel, TWindow>(TWindowViewModel windowViewModel) where TWindowViewModel : class, IWindowViewModel, IClaim where TWindow : class, IWindow { bool isAllowed = SecurityChecker.AmIAllowed <TWindowViewModel>(); if (isAllowed) { Window.Value = (IWindow)Container.Resolve <TWindow>(); Window.Value.DataContext = this; Window.Value.Show(); LoadedCommand.Execute(null); return((TWindow)Window.Value); } else { throw SecurityException.CreateCoreException <TWindowViewModel>(windowViewModel); } }
public async Task <IActionResult> Create([Bind("Id,FirstName,LastName,PhoneNumber,Email,IsMinor")] Client client) { if (ModelState.IsValid) { try { SecurityChecker.CheckClient(client); } catch (Exception) { return(View(client)); } try { AvailabilityChecker.CheckClientAvailabikity(client, _context); } catch (EmailAlreadyExistsException) { ViewData["message"] = "Email is already registered"; client.Email = null; return(View(client)); } catch (PhoneAlreadyExistsException) { ViewData["message"] = "Phone is already registered"; client.PhoneNumber = null; return(View(client)); } catch (Exception) { return(View(client)); } _context.Add(client); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(client)); }
public TControlViewModel LoadContent <TControlViewModel, TControl>(params Arg[] args) where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); TControlViewModel controlViewModel = GetContent <TControlViewModel, TControl>(true, args); if (isAllowed) { CurrentControlViewModel.Value = controlViewModel; CurrentControlViewModel.Value.WindowViewModel.Value = this; //controlViewModel.ControlLoadedCommand.Execute(controlViewModel); return((TControlViewModel)CurrentControlViewModel.Value); } else { throw SecurityException.CreateCoreException <TControlViewModel>(controlViewModel); } }
static void Main(string[] args) { var buttonGfloor = new Button(Floors.G); var buttonSfloor = new Button(Floors.S); var buttonT1floor = new Button(Floors.T1); var buttonT2floor = new Button(Floors.T2); var buttonArray = new Button[] { buttonGfloor, buttonSfloor, buttonT1floor, buttonT2floor }; var elevatorDoor = new SecurityChecker(); var baseElevator = new Elevator(Floors.G, Floors.G, buttonArray, elevatorDoor); var agentMulder = new Agent("Agent Mulder", ClearenceTypes.TopSecret, Floors.T1, 1000, baseElevator); var agentShelby = new Agent("Agent Shelby", ClearenceTypes.TopSecret, Floors.T2, 500, baseElevator); var agentJohnson = new Agent("Agent Johnson", ClearenceTypes.Secret, Floors.G, 500, baseElevator); var agentJohny = new Agent("Agent Johny", ClearenceTypes.Confidential, Floors.G, 500, baseElevator); var agentAmanda = new Agent("Agent Amanda", ClearenceTypes.Secret, Floors.S, 854, baseElevator); var agentGretchen = new Agent("Agent Gretchen ", ClearenceTypes.Confidential, Floors.G, 500, baseElevator); var elevatorThread = new Thread(baseElevator.MoveElevator); var agentMulderThread = new Thread(agentMulder.MoveAround); var agentShelbyThread = new Thread(agentShelby.MoveAround); var agentJohnsonThread = new Thread(agentJohnson.MoveAround); var agentJohnyThread = new Thread(agentJohny.MoveAround); var agentAmandaThread = new Thread(agentAmanda.MoveAround); var agentGretchenThread = new Thread(agentGretchen.MoveAround); elevatorThread.Start(); agentMulderThread.Start(); agentShelbyThread.Start(); agentJohnsonThread.Start(); agentJohnyThread.Start(); agentAmandaThread.Start(); agentGretchenThread.Start(); var agentList = new List <Agent>(); agentList.Add(agentMulder); agentList.Add(agentShelby); agentList.Add(agentJohnson); agentList.Add(agentJohny); agentList.Add(agentAmanda); agentList.Add(agentGretchen); for (int i = 0; i < 10; i++) { Console.WriteLine("Activity Log {0}:", i + 1); Console.WriteLine("Elevator is at floor {0}, target floor is {1}", baseElevator.CurrentFloor, baseElevator.DestinationFloor); foreach (var agent in agentList) { Console.WriteLine("{0} is on floor {1}, doing : {2}", agent.Name, agent.CurrentFloor.ToString(), agent.CurrentActivity); } Console.WriteLine(); Thread.Sleep(1000); } agentMulderThread.Abort(); agentShelbyThread.Abort(); agentJohnsonThread.Abort(); agentJohnyThread.Abort(); agentAmandaThread.Abort(); agentGretchenThread.Abort(); elevatorThread.Abort(); Console.WriteLine("This is the end.."); Console.ReadLine(); }