Example #1
0
        public void Handle(AddTableCommand command)
        {
            if (UnitOfWork.AnyActual <Table>(x => x.Title == command.Title))
            {
                throw new InvalidOperationException("Table with the same name exists.");
            }

            var login      = command.Title;
            var secondHash = _passwordManager.CreateSecondHash(login, command.Password);

            var addedUser = UnitOfWork.Add(new User()
            {
                SecondHash = secondHash, Login = login
            });

            UnitOfWork.Add(new Table {
                Title = command.Title, Description = command.Description, User = addedUser
            });
        }
        public void Handle(AddWaiterCommand command)
        {
            if (UnitOfWork.AnyActual <Waiter>(x => x.User.Login == command.Login))
            {
                throw new InvalidOperationException("Waiter with the same login exists.");
            }

            var secondHash = _passwordManager.CreateSecondHash(command.Login, command.Password);

            var addedUser = UnitOfWork.Add(new User()
            {
                SecondHash = secondHash, Login = command.Login
            });

            UnitOfWork.Add(new Waiter()
            {
                FirstName = command.FirstName, LastName = command.LastName, User = addedUser
            });
        }