Example #1
0
        public async Task <LogInResult> Login(LogInCommand creds)
        {
            if (creds.Username == null || creds.Password == null)
            {
                return(new LogInResult {
                    Status = "Empty"
                });
            }
            var user = await _userManager.FindByNameAsync(creds.Username);

            if (user == null)
            {
                return(new LogInResult {
                    Status = "NotFound"
                });
            }

            var persistence = false;
            var result      = await _signInManager.PasswordSignInAsync(creds.Username, creds.Password, persistence, false);

            if (result.Succeeded)
            {
                return(new LogInResult {
                    Status = "Success"
                });
            }

            return(new LogInResult {
                Status = "Failed"
            });
        }
        public User DispatchCommand(string[] commandParameters)
        {
            string command = commandParameters[0].ToLower();

            User user = new User();

            switch (command)
            {
            case "return":
                user = ReturnCommand.Execute(commandParameters);
                Console.WriteLine("Welcome back");
                break;

            case "login":
                user = LogInCommand.Execute(commandParameters, user);
                break;

            case "registeruser":
                user = RegisterUserCommand.Execute(commandParameters);
                break;

            default:
                throw new InvalidOperationException($"LogInCommand {command} not valid!");
                break;
            }

            return(user);
        }
 public LogInViewModel(MainWidowViewModel containingVm)
 {
     this.containingVm = containingVm;
     logInModel        = new LogInModel();
     LogInUserCommand  = new LogInCommand(this);
     Message           = "";
 }
 public MainWindowButtons()
 {
     InitializeComponent();
     LogInCommand      = new LogInCommand();
     GraphCommand      = new GraphCommand();
     ProfileCommand    = new ProfileCommand();
     EnterMealsCommand = new EnterMealsCommand();
     //MainGrid.DataContext = new MainWindowVM();
 }
Example #5
0
        public void Handle(LogInCommand command)
        {
            using (var dbContext = new UserAccountDataContext())
            {
                User user = dbContext.Users.SingleOrDefault(u => u.Login == command.Login);
                ValidateLoginData(user, command);

                var appUser = CreateAppUserEntity(user);
                CookieHandler.Create(appUser, command.RememberMe);
            }
        }
 public static void CommandValidation(LogInCommand command)
 {
     if (command.Login == null || command.Password == null)
     {
         throw new InternalSystemException("Fields can't be empty!");
     }
     else if (!loginRegex.Match(command.Login).Success || !passwordRegex.Match(command.Password).Success)
     {
         throw new InternalSystemException("Wrong login or password");
     }
 }
Example #7
0
        public IActionResult LogIn(LogInCommand creds)
        {
            var result = _identityService.Login(creds).Result.Status;

            if (result == "Success")
            {
                return(RedirectToAction("RoleReroute"));
            }

            creds.ErrorMessage = result;
            return(View(creds));
        }
Example #8
0
        /// <summary>
        ///     Executes the log in command.
        /// </summary>
        /// <returns>The log in command.</returns>
        private async Task ExecuteLogInCommand()
        {
            var shouldShowSelectUser = false;

            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            LogInCommand.ChangeCanExecute();
            try
            {
                if (IsLoggedIn)
                {
                    var checkLogout = await ShowLogoutConfirm();

                    if (checkLogout)
                    {
                        HaccpAppSettings.SharedInstance.CurrentUserId = 0;
                    }
                }
                else
                {
                    shouldShowSelectUser = true;
                }

                if (shouldShowSelectUser)
                {
                    IDataStore dataStore   = new SQLiteDataStore();
                    var        isUserExist = dataStore.CheckUsersExist();
                    if (isUserExist)
                    {
                        await Page.NavigateTo(PageEnum.SelectUser, true);
                    }
                    else
                    {
                        await Page.ShowAlert(HACCPUtil.GetResourceString("NoUsersFound"),
                                             HACCPUtil.GetResourceString("NousersfoundPleasetapUpdateUserListintheWirelessTasksmenu"));
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Ooops! Something went wrong while login. Exception: {0}", ex);
            }
            finally
            {
                IsBusy = false;
                LogInCommand.ChangeCanExecute();
            }
        }
Example #9
0
        private void ValidateLoginData(User user, LogInCommand command)
        {
            if (user == null)
            {
                throw new ServerSideException(
                          String.Format("User with login: {0} not found, try agine", command.Login));
            }

            if (!command.Password.CompareWithHash(user.Password))
            {
                throw new ServerSideException("Wrong password");
            }
        }
Example #10
0
 public MainWindowVM()
 {
     Model             = new MainModel();
     MainWindowButtons = new MainWindowButtons();
     initLogIn();
     LogInCommand                      = new LogInCommand();
     GraphCommand                      = new GraphCommand();
     EnterMealsCommand                 = new EnterMealsCommand();
     ProfileCommand                    = new ProfileCommand();
     LogInCommand.ShowLogIn           += LogInCommand_ShowlogIn;
     ProfileCommand.ShowProfile       += ProfileCommand_ShowProfile;
     EnterMealsCommand.ShowEnterMeals += MealCommand_ShowEnterMeals;
     GraphCommand.ShowGraph           += GraphCommand_ShowGraph;
 }
Example #11
0
        // MvvmCross Lifecycle
        public override void Prepare(ApplicationUserModel parameter)
        {
            if (parameter != null)
            {
                Email.Value    = parameter.Email;
                Password.Value = parameter.Password;

                Task.Run(async() =>
                {
                    await Task.Delay(5000);
                    LogInCommand?.Execute(null);
                });
            }
        }
        public void ExecuteShouldThrowExceptionWhenNoPassPassed()
        {
            // Arrange
            var state   = new Mock <ISessionState>();
            var builder = new Mock <IStringBuilderWrapper>();
            var service = new Mock <IUserService>();

            var command = new LogInCommand(state.Object, builder.Object, service.Object);

            state.SetupGet(m => m.IsLogged).Returns(false);

            var parameters = new string[] { "username", "" };

            var result = command.Execute(parameters);
        }
        public void ExecuteShouldReturnMessageWhenAlreadyLogged()
        {
            // Arrange
            var state   = new Mock <ISessionState>();
            var builder = new Mock <IStringBuilderWrapper>();
            var service = new Mock <IUserService>();

            var command = new LogInCommand(state.Object, builder.Object, service.Object);

            state.SetupGet(m => m.IsLogged).Returns(true);

            var parameters = new string[] { "UserName", "12345" };

            //Assert + Act
            Assert.AreEqual("You are already logged.", command.Execute(parameters));
        }
        public void ExecuteShouldReturnMessageWhenCommandExecuteSuccessfully()
        {
            // Arrange
            var state   = new Mock <ISessionState>();
            var builder = new Mock <IStringBuilderWrapper>();
            var service = new Mock <IUserService>();

            var command = new LogInCommand(state.Object, builder.Object, service.Object);

            state.SetupGet(m => m.IsLogged).Returns(false);

            var parameters = new string[] { "username", "12345" };

            //Assert+Act
            Assert.AreEqual("User username succesfully logged. Your role is -1", command.Execute(parameters));
        }
Example #15
0
        public async Task <Account> LoginAccountAsync(LogInCommand command)
        {
            var account = await Task.FromResult(_context.Accounts.SingleOrDefault(x => x.Login.ToLowerInvariant() ==
                                                                                  command.Login.ToLowerInvariant()));

            if (account == null)
            {
                throw new InternalSystemException("There is no account with given credentials.");
            }

            var isPasswordCorrect = _passwordManager.VerifyPasswordHash(command.Password, account.PasswordHash, account.Salt);

            if (isPasswordCorrect == false)
            {
                throw new InternalSystemException("Wrong credentials.");
            }

            return(account);
        }
Example #16
0
        public async Task <IActionResult> LogIn(LogInCommand command)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.ShowMessage = true;
                ViewBag.Message     = "Something went wrong";
                return(View());
            }

            try
            {
                LogInValidator.CommandValidation(command);

                var account = await _accountService.LoginAccountAsync(command);

                HttpContext.Session.SetString("Login", account.Login);
                HttpContext.Session.SetString("IsAdmin", account.IsAdmin.ToString());
                HttpContext.Session.SetString("Id", account.Id.ToString());

                if (account.IsAdmin == false)
                {
                    TempData["LoggedIn"] = true;
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    return(RedirectToAction("Messages", "Admin"));
                }
            }
            catch (InternalSystemException ex)
            {
                ViewBag.ShowMessage = true;
                ViewBag.Message     = ex.Message;
                return(View());
            }
            catch (Exception)
            {
                ViewBag.ShowMessage = true;
                ViewBag.Message     = "Something went wrong";
                return(View());
            }
        }
        public ActionResult SignIn(LogInCommand logInCommand)
        {
            if (ModelState.IsValid && this._authenticationService.Validate(logInCommand.Email, logInCommand.Password))
            {
                var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Email, logInCommand.Email), }, DefaultAuthenticationTypes.ApplicationCookie);

                this._authenticationManager.SignIn(
                    new AuthenticationProperties
                {
                    IsPersistent = logInCommand.RememberMe
                }, identity);

                return(Json(new { success = true }));
            }
            else
            {
                ModelState.AddModelError("", "Invalid login attempt.");
            }

            this.Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Json(this.ValidationJsonResponse(), JsonRequestBehavior.DenyGet));
        }
Example #18
0
        private static void Bot_OnCallbackQuery(object sender, CallbackQueryEventArgs e)
        {
            var buttonText = e.CallbackQuery.Data;

            botClient.OnMessage       -= Bot_OnMessage;
            botClient.OnCallbackQuery -= Bot_OnCallbackQuery;
            switch (buttonText)
            {
            case "Зарегистрироваться":
                var registrate = new RegistrateCommand();
                registrate.Execute(e.CallbackQuery.Message, botClient);
                break;

            case "Войти в аккаунт":
                var logIn = new LogInCommand();

                logIn.Execute(e.CallbackQuery.Message, botClient);
                botClient.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "Метод закончил выполнение");
                break;
            }
            botClient.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "Оброботчик событий работает");
            botClient.OnMessage       += Bot_OnMessage;
            botClient.OnCallbackQuery += Bot_OnCallbackQuery;
        }
        public async Task <IActionResult> LogIn([FromBody] LogInCommand command)
        {
            var result = await _mediator.Send(command);

            return(Ok(result));
        }
Example #20
0
        //public SignVM(View.ISignService vs)
        //{
        //    myModel = new SignModel();
        //     MyCom = new LogInCommand(this);
        //    ViewService = vs;

        //}
        public SignVM()
        {
            myModel = new SignModel();
            MyCom   = new LogInCommand(this);
        }
Example #21
0
 public LogInUserControlVM()
 {
     MyModel           = new LogInModel();
     MyCommandLogIn    = new LogInCommand();
     MyCommandRegister = new RegisterCommand();
 }
Example #22
0
        public ActionResult Login(LogInCommand command)
        {
            HandleCommand(command, Json("LoggIn"));

            return(RedirectToAction("Index", "Home"));
        }
Example #23
0
        public string DispatchCommand(string[] commandParameters)
        {
            var command = commandParameters[0];

            if (loggedInUserCommands.Contains(command) && Session.User == null)
            {
                throw new InvalidOperationException("Invalid credentials!");
            }

            var args = commandParameters.Skip(1).ToArray();

            var returnValue = "";

            switch (command)
            {
            case "Login":
                returnValue = LogInCommand.Execute(args);
                break;

            case "RegisterUser":
                returnValue = RegisterUserCommand.Execute(args);
                break;

            case "ListFriends":
                returnValue = PrintFriendsListCommand.Execute(args);
                break;

            case "Logout":
                returnValue = LogOutCommand.Execute(args);
                break;

            case "AddTown":
                returnValue = AddTownCommand.Execute(args);
                break;

            case "ModifyUser":
                returnValue = ModifyUserCommand.Execute(args);
                break;

            case "DeleteUser":
                returnValue = DeleteUser.Execute(args);
                break;

            case "AddTag":
                returnValue = AddTagCommand.Execute(args);
                break;

            case "CreateAlbum":
                returnValue = CreateAlbumCommand.Execute(args);
                break;

            case "AddTagTo":
                returnValue = AddTagToCommand.Execute(args);
                break;

            case "AddFriend":
                returnValue = AddFriendCommand.Execute(args);
                break;

            case "AcceptFriend":
                returnValue = AcceptFriendCommand.Execute(args);
                break;

            case "ShareAlbum":
                returnValue = ShareAlbumCommand.Execute(args);
                break;

            case "UploadPicture":
                returnValue = UploadPictureCommand.Execute(args);
                break;

            case "Exit":
                returnValue = ExitCommand.Execute();
                break;

            default:
                throw new InvalidOperationException($"Command {command} not valid!");
            }
            return(returnValue);
        }
Example #24
0
        protected override void OnReceived(byte[] body)
        {
            ByteArrayArrayStream stream = new ByteArrayArrayStream(body);

            ByteArrayStreamReader reader = new ByteArrayStreamReader(stream);

            try
            {
                if (Adler32.Generate(body, 4) == reader.ReadUInt())
                {
                    if (Keys == null)
                    {
                        Rsa.DecryptAndReplace(body, 9);
                    }
                    else
                    {
                        Xtea.DecryptAndReplace(body, 4, 32, Keys);

                        stream.Seek(Origin.Current, 2);
                    }

                    Command command = null;

                    switch (reader.ReadByte())
                    {
                    case 0x0A:
                    {
                        var packet = server.PacketsFactory.Create <SelectedCharacterIncomingPacket>(reader);

                        command = new LogInCommand(this, packet);
                    }
                    break;

                    case 0x14:

                        command = new LogOutCommand(Client.Player);

                        break;

                    case 0x1E:

                        command = new PongCommand(Client.Player);

                        break;

                    case 0x64:
                    {
                        var packet = server.PacketsFactory.Create <WalkToIncomingPacket>(reader);

                        command = new WalkToKnownPathCommand(Client.Player, packet.MoveDirections);
                    }
                    break;

                    case 0x65:

                        command = new WalkCommand(Client.Player, MoveDirection.North);

                        break;

                    case 0x66:

                        command = new WalkCommand(Client.Player, MoveDirection.East);

                        break;

                    case 0x67:

                        command = new WalkCommand(Client.Player, MoveDirection.South);

                        break;

                    case 0x68:

                        command = new WalkCommand(Client.Player, MoveDirection.West);

                        break;

                    case 0x69:

                        command = new StopWalkCommand(Client.Player);

                        break;

                    case 0x6A:

                        command = new WalkCommand(Client.Player, MoveDirection.NorthEast);

                        break;

                    case 0x6B:

                        command = new WalkCommand(Client.Player, MoveDirection.SouthEast);

                        break;

                    case 0x6C:

                        command = new WalkCommand(Client.Player, MoveDirection.SouthWest);

                        break;

                    case 0x6D:

                        command = new WalkCommand(Client.Player, MoveDirection.NorthWest);

                        break;

                    case 0x6F:

                        command = new TurnCommand(Client.Player, Direction.North);

                        break;

                    case 0x70:

                        command = new TurnCommand(Client.Player, Direction.East);

                        break;

                    case 0x71:

                        command = new TurnCommand(Client.Player, Direction.South);

                        break;

                    case 0x72:

                        command = new TurnCommand(Client.Player, Direction.West);

                        break;

                    case 0x78:
                    {
                        var packet = server.PacketsFactory.Create <MoveItemIncomingPacket>(reader);

                        Position fromPosition = new Position(packet.FromX, packet.FromY, packet.FromZ);

                        Position toPosition = new Position(packet.ToX, packet.ToY, packet.ToZ);

                        if (fromPosition.IsContainer)
                        {
                            if (toPosition.IsContainer)
                            {
                                command = new MoveItemFromContainerToContainerCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.FromItemId, toPosition.ContainerId, toPosition.ContainerIndex, packet.Count);
                            }
                            else if (toPosition.IsInventory)
                            {
                                command = new MoveItemFromContainerToInventoryCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.FromItemId, toPosition.InventoryIndex, packet.Count);
                            }
                            else
                            {
                                command = new MoveItemFromContainerToTileCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.FromItemId, toPosition, packet.Count);
                            }
                        }
                        else if (fromPosition.IsInventory)
                        {
                            if (toPosition.IsContainer)
                            {
                                command = new MoveItemFromInventoryToContainerCommand(Client.Player, fromPosition.InventoryIndex, packet.FromItemId, toPosition.ContainerId, toPosition.ContainerIndex, packet.Count);
                            }
                            else if (toPosition.IsInventory)
                            {
                                command = new MoveItemFromInventoryToInventoryCommand(Client.Player, fromPosition.InventoryIndex, packet.FromItemId, toPosition.InventoryIndex, packet.Count);
                            }
                            else
                            {
                                command = new MoveItemFromInventoryToTileCommand(Client.Player, fromPosition.InventoryIndex, packet.FromItemId, toPosition, packet.Count);
                            }
                        }
                        else
                        {
                            if (toPosition.IsContainer)
                            {
                                command = new MoveItemFromTileToContainerCommand(Client.Player, fromPosition, packet.FromIndex, packet.FromItemId, toPosition.ContainerId, toPosition.ContainerIndex, packet.Count);
                            }
                            else if (toPosition.IsInventory)
                            {
                                command = new MoveItemFromTileToInventoryCommand(Client.Player, fromPosition, packet.FromIndex, packet.FromItemId, toPosition.InventoryIndex, packet.Count);
                            }
                            else
                            {
                                command = new MoveItemFromTileToTileCommand(Client.Player, fromPosition, packet.FromIndex, packet.FromItemId, toPosition, packet.Count);
                            }
                        }
                    }
                    break;

                    case 0x79:
                    {
                        var packet = server.PacketsFactory.Create <LookItemNpcTradeIncommingPacket>(reader);

                        command = new LookFromNpcTradeCommand(Client.Player, packet.ItemId, packet.Type);
                    }
                    break;

                    case 0x7A:
                    {
                        var packet = server.PacketsFactory.Create <BuyNpcTradeIncommingPacket>(reader);

                        command = new BuyNpcTradeCommand(Client.Player, packet);
                    }
                    break;

                    case 0x7B:
                    {
                        var packet = server.PacketsFactory.Create <SellNpcTradeIncommingPacket>(reader);

                        command = new SellNpcTradeCommand(Client.Player, packet);
                    }
                    break;

                    case 0x7C:

                        command = new CloseNpcTradeCommand(Client.Player);

                        break;

                    case 0x7D:
                    {
                        var packet = server.PacketsFactory.Create <TradeWithIncommingPacket>(reader);

                        Position fromPosition = new Position(packet.X, packet.Y, packet.Z);

                        if (fromPosition.IsContainer)
                        {
                            command = new TradeWithFromContainerCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.ItemId, packet.CreatureId);
                        }
                        else if (fromPosition.IsInventory)
                        {
                            command = new TradeWithFromInventoryCommand(Client.Player, fromPosition.InventoryIndex, packet.ItemId, packet.CreatureId);
                        }
                        else
                        {
                            command = new TradeWithFromTileCommand(Client.Player, fromPosition, packet.Index, packet.ItemId, packet.CreatureId);
                        }
                    }
                    break;

                    case 0x7E:
                    {
                        var packet = server.PacketsFactory.Create <LookItemTradeIncommingPacket>(reader);

                        command = new LookFromTradeCommand(Client.Player, packet.WindowId, packet.Index);
                    }
                    break;

                    case 0x7F:

                        command = new AcceptTradeCommand(Client.Player);

                        break;

                    case 0x80:

                        command = new CancelTradeCommand(Client.Player);

                        break;

                    case 0x82:
                    {
                        var packet = server.PacketsFactory.Create <UseItemIncomingPacket>(reader);

                        Position fromPosition = new Position(packet.X, packet.Y, packet.Z);

                        if (fromPosition.IsContainer)
                        {
                            command = new UseItemFromContainerCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.ItemId, packet.ContainerId);
                        }
                        else if (fromPosition.IsInventory)
                        {
                            command = new UseItemFromInventoryCommand(Client.Player, fromPosition.InventoryIndex, packet.ItemId);
                        }
                        else
                        {
                            command = new UseItemFromTileCommand(Client.Player, fromPosition, packet.Index, packet.ItemId);
                        }
                    }
                    break;

                    case 0x83:
                    {
                        var packet = server.PacketsFactory.Create <UseItemWithItemIncomingPacket>(reader);

                        Position fromPosition = new Position(packet.FromX, packet.FromY, packet.FromZ);

                        Position toPosition = new Position(packet.ToX, packet.ToY, packet.ToZ);

                        if (fromPosition.IsContainer)
                        {
                            if (toPosition.IsContainer)
                            {
                                command = new UseItemWithItemFromContainerToContainerCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.FromItemId, toPosition.ContainerId, toPosition.ContainerIndex, packet.ToItemId);
                            }
                            else if (toPosition.IsInventory)
                            {
                                command = new UseItemWithItemFromContainerToInventoryCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.FromItemId, toPosition.InventoryIndex, packet.ToItemId);
                            }
                            else
                            {
                                command = new UseItemWithItemFromContainerToTileCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.FromItemId, toPosition, packet.ToIndex, packet.ToItemId);
                            }
                        }
                        else if (fromPosition.IsInventory)
                        {
                            if (toPosition.IsContainer)
                            {
                                command = new UseItemWithItemFromInventoryToContainerCommand(Client.Player, fromPosition.InventoryIndex, packet.FromItemId, toPosition.ContainerId, toPosition.ContainerIndex, packet.ToItemId);
                            }
                            else if (toPosition.IsInventory)
                            {
                                command = new UseItemWithItemFromInventoryToInventoryCommand(Client.Player, fromPosition.InventoryIndex, packet.FromItemId, toPosition.InventoryIndex, packet.ToItemId);
                            }
                            else
                            {
                                command = new UseItemWithItemFromInventoryToTileCommand(Client.Player, fromPosition.InventoryIndex, packet.FromItemId, toPosition, packet.ToIndex, packet.ToItemId);
                            }
                        }
                        else
                        {
                            if (toPosition.IsContainer)
                            {
                                command = new UseItemWithItemFromTileToContainerCommand(Client.Player, fromPosition, packet.FromIndex, packet.FromItemId, toPosition.ContainerId, toPosition.ContainerIndex, packet.ToItemId);
                            }
                            else if (toPosition.IsInventory)
                            {
                                command = new UseItemWithItemFromTileToInventoryCommand(Client.Player, fromPosition, packet.FromIndex, packet.FromItemId, toPosition.InventoryIndex, packet.ToItemId);
                            }
                            else
                            {
                                command = new UseItemWithItemFromTileToTileCommand(Client.Player, fromPosition, packet.FromIndex, packet.FromItemId, toPosition, packet.ToIndex, packet.ToItemId);
                            }
                        }
                    }
                    break;

                    case 0x84:
                    {
                        var packet = server.PacketsFactory.Create <UseItemWithCreatureIncomingPacket>(reader);

                        Position fromPosition = new Position(packet.X, packet.Y, packet.Z);

                        if (fromPosition.IsContainer)
                        {
                            command = new UseItemWithCreatureFromContainerCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.ItemId, packet.CreatureId);
                        }
                        else if (fromPosition.IsInventory)
                        {
                            command = new UseItemWithCreatureFromInventoryCommand(Client.Player, fromPosition.InventoryIndex, packet.ItemId, packet.CreatureId);
                        }
                        else
                        {
                            command = new UseItemWithCreatureFromTileCommand(Client.Player, fromPosition, packet.Index, packet.ItemId, packet.CreatureId);
                        }
                    }
                    break;

                    case 0x85:
                    {
                        var packet = server.PacketsFactory.Create <RotateItemIncomingPacket>(reader);

                        var fromPosition = new Position(packet.X, packet.Y, packet.Z);

                        if (fromPosition.IsContainer)
                        {
                            command = new RotateItemFromContainerCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.ItemId);
                        }
                        else if (fromPosition.IsInventory)
                        {
                            command = new RotateItemFromInventoryCommand(Client.Player, fromPosition.InventoryIndex, packet.ItemId);
                        }
                        else
                        {
                            command = new RotateItemFromTileCommand(Client.Player, fromPosition, packet.Index, packet.ItemId);
                        }
                    }
                    break;

                    case 0x87:
                    {
                        var packet = server.PacketsFactory.Create <CloseContainerIncommingPacket>(reader);

                        command = new CloseContainerCommand(Client.Player, packet.ContainerId);
                    }
                    break;

                    case 0x88:
                    {
                        var packet = server.PacketsFactory.Create <OpenParentIncommingPacket>(reader);

                        command = new OpenParentContainerCommand(Client.Player, packet.ContainerId);
                    }
                    break;

                    case 0x8C:
                    {
                        var packet = server.PacketsFactory.Create <LookIncomingPacket>(reader);

                        var fromPosition = new Position(packet.X, packet.Y, packet.Z);

                        if (fromPosition.IsContainer)
                        {
                            command = new LookFromContainerCommand(Client.Player, fromPosition.ContainerId, fromPosition.ContainerIndex, packet.ItemId);
                        }
                        else if (fromPosition.IsInventory)
                        {
                            command = new LookFromInventoryCommand(Client.Player, fromPosition.InventoryIndex, packet.ItemId);
                        }
                        else
                        {
                            command = new LookFromTileCommand(Client.Player, fromPosition, packet.Index, packet.ItemId);
                        }
                    }
                    break;

                    case 0x96:
                    {
                        var packet = server.PacketsFactory.Create <TalkIncommingPacket>(reader);

                        switch (packet.TalkType)
                        {
                        case TalkType.Say:

                            command = new SayCommand(Client.Player, packet.Message);

                            break;

                        case TalkType.Whisper:

                            command = new WhisperCommand(Client.Player, packet.Message);

                            break;

                        case TalkType.Yell:

                            command = new YellCommand(Client.Player, packet.Message);

                            break;

                        case TalkType.Private:

                            command = new SendMessageToPlayerCommand(Client.Player, packet.Name, packet.Message);

                            break;

                        case TalkType.ChannelYellow:

                            command = new SendMessageToChannel(Client.Player, packet.ChannelId, packet.Message);

                            break;

                        case TalkType.ReportRuleViolationOpen:

                            command = new CreateReportRuleViolationCommand(Client.Player, packet.Message);

                            break;

                        case TalkType.ReportRuleViolationAnswer:

                            command = new AnswerInReportRuleViolationChannelCommand(Client.Player, packet.Name, packet.Message);

                            break;

                        case TalkType.ReportRuleViolationQuestion:

                            command = new AskInReportRuleViolationChannelCommand(Client.Player, packet.Message);

                            break;

                        case TalkType.Broadcast:

                            command = new BroadcastMessageCommand(Client.Player, packet.Message);

                            break;
                        }
                    }
                    break;

                    case 0x97:

                        command = new OpenNewChannelCommand(Client.Player);

                        break;

                    case 0x98:
                    {
                        var packet = server.PacketsFactory.Create <OpenedNewChannelIncomingPacket>(reader);

                        command = new OpenedNewChannelCommand(Client.Player, packet.ChannelId);
                    }
                    break;

                    case 0x99:
                    {
                        var packet = server.PacketsFactory.Create <CloseChannelIncommingPacket>(reader);

                        command = new CloseChannelCommand(Client.Player, packet.ChannelId);
                    }
                    break;

                    case 0x9A:
                    {
                        var packet = server.PacketsFactory.Create <OpenedPrivateChannelIncomingPacket>(reader);

                        command = new OpenedPrivateChannelCommand(Client.Player, packet.Name);
                    }
                    break;

                    case 0x9B:
                    {
                        var packet = server.PacketsFactory.Create <ProcessReportRuleViolationIncommingPacket>(reader);

                        command = new ProcessReportRuleViolationCommand(Client.Player, packet.Name);
                    }
                    break;

                    case 0x9C:
                    {
                        var packet = server.PacketsFactory.Create <CloseReportRuleViolationChannelAnswerIncommingPacket>(reader);

                        command = new CloseReportRuleViolationChannelAnswerCommand(Client.Player, packet.Name);
                    }
                    break;

                    case 0x9D:

                        command = new CloseReportRuleViolationChannelQuestionCommand(Client.Player);

                        break;

                    case 0x9E:

                        command = new CloseNpcsChannelCommand(Client.Player);

                        break;

                    case 0xA0:
                    {
                        var packet = server.PacketsFactory.Create <CombatControlsIncommingPacket>(reader);

                        command = new CombatControlsCommand(Client.Player, packet.FightMode, packet.ChaseMode, packet.SafeMode);
                    }
                    break;

                    case 0xA1:
                    {
                        var packet = server.PacketsFactory.Create <AttackIncommingPacket>(reader);

                        if (packet.CreatureId == 0)
                        {
                            command = new StopAttackCommand(Client.Player);
                        }
                        else
                        {
                            command = new StartAttackCommand(Client.Player, packet.CreatureId, packet.Nonce);
                        }
                    }
                    break;

                    case 0xA2:
                    {
                        var packet = server.PacketsFactory.Create <FollowIncommingPacket>(reader);

                        if (packet.CreatureId == 0)
                        {
                            command = new StopFollowCommand(Client.Player);
                        }
                        else
                        {
                            command = new StartFollowCommand(Client.Player, packet.CreatureId, packet.Nonce);
                        }
                    }
                    break;

                    case 0xA3:
                    {
                        var packet = server.PacketsFactory.Create <InviteToPartyIncomingPacket>(reader);

                        command = new InviteToPartyCommand(Client.Player, packet.CreatureId);
                    }
                    break;

                    case 0xA4:
                    {
                        var packet = server.PacketsFactory.Create <JoinPartyIncomingPacket>(reader);

                        command = new JoinPartyCommand(Client.Player, packet.CreatureId);
                    }
                    break;

                    case 0xA5:
                    {
                        var packet = server.PacketsFactory.Create <RevokePartyIncomingPacket>(reader);

                        command = new RevokePartyCommand(Client.Player, packet.CreatureId);
                    }
                    break;

                    case 0xA6:
                    {
                        var packet = server.PacketsFactory.Create <PassLeadershipToIncomingPacket>(reader);

                        command = new PassLeaderShipToCommand(Client.Player, packet.CreatureId);
                    }
                    break;

                    case 0xA7:

                        command = new LeavePartyCommand(Client.Player);

                        break;

                    case 0xA8:
                    {
                        var packet = server.PacketsFactory.Create <SharedExperienceIncomingPacket>(reader);

                        command = new SharedExperienceCommand(Client.Player, packet.Enabled);
                    }
                    break;

                    case 0xAA:

                        command = new OpenedMyPrivateChannelCommand(Client.Player);

                        break;

                    case 0xAB:
                    {
                        var packet = server.PacketsFactory.Create <InvitePlayerIncommingPacket>(reader);

                        command = new InvitePlayerCommand(Client.Player, packet.Name);
                    }
                    break;

                    case 0xAC:
                    {
                        var packet = server.PacketsFactory.Create <ExcludePlayerIncommingPacket>(reader);

                        command = new ExcludePlayerCommand(Client.Player, packet.Name);
                    }
                    break;

                    case 0xBE:

                        command = new StopCommand(Client.Player);

                        break;

                    case 0xD2:

                        command = new SelectOutfitCommand(Client.Player);

                        break;

                    case 0xD3:
                    {
                        var packet = server.PacketsFactory.Create <SelectedOutfitIncomingPacket>(reader);

                        command = new SelectedOutfitCommand(Client.Player, packet.Outfit);
                    }
                    break;

                    case 0xDC:
                    {
                        var packet = server.PacketsFactory.Create <AddVipIncommingPacket>(reader);

                        command = new AddVipCommand(Client.Player, packet.Name);
                    }
                    break;

                    case 0xDD:
                    {
                        var packet = server.PacketsFactory.Create <RemoveVipIncommingPacket>(reader);

                        command = new RemoveVipCommand(Client.Player, packet.CreatureId);
                    }
                    break;

                    case 0xE6:
                    {
                        var packet = server.PacketsFactory.Create <ReportBugIncomingPacket>(reader);

                        command = new ReportBugCommand(Client.Player, packet.Message);
                    }
                    break;

                    case 0xF0:

                        command = new OpenQuestsCommand(Client.Player);

                        break;

                    case 0xF1:
                    {
                        var packet = server.PacketsFactory.Create <OpenQuestIncomingPacket>(reader);

                        command = new OpenQuestCommand(Client.Player, packet.QuestId);
                    }
                    break;
                    }

                    if (command != null)
                    {
                        server.QueueForExecution(command);
                    }
                }
            }
            catch (Exception ex)
            {
                server.Logger.WriteLine(ex.ToString());
            }

            base.OnReceived(body);
        }
Example #25
0
 public LogInViewModel()
 {
     LogInCommand = new LogInCommand(this);
 }
        public string Dispatch(string input)
        {
            string[] arguments = input.Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);

            string commandName = arguments.Length > 0 ? arguments[0] : string.Empty;

            arguments = arguments.Skip(1).ToArray();

            switch (commandName)
            {
            case "RegisterUser":
                RegisterUserCommand register = new RegisterUserCommand(authenticationManager);
                return(register.Execute(arguments));

            case "Login":
                LogInCommand login = new LogInCommand(authenticationManager);
                return(login.Execute(arguments));

            case "Logout":
                LogOutCommand logout = new LogOutCommand(authenticationManager);
                return(logout.Execute(arguments));

            case "DeleteUser":
                DeleteUserCommand delete = new DeleteUserCommand(authenticationManager);
                return(delete.Execute(arguments));

            case "CreateEvent":
                CreateEventCommand createEvent = new CreateEventCommand(authenticationManager);
                return(createEvent.Execute(arguments));

            case "CreateTeam":
                CreateTeamCommand createTeam = new CreateTeamCommand(authenticationManager);
                return(createTeam.Execute(arguments));

            case "InviteToTeam":
                InviteToTeamCommand inviteToTeam = new InviteToTeamCommand(authenticationManager);
                return(inviteToTeam.Execute(arguments));

            case "AcceptInvite":
                AcceptInviteCommand acceptInvite = new AcceptInviteCommand(authenticationManager);
                return(acceptInvite.Execute(arguments));

            case "DeclineInvite":
                DeclineInviteCommand declineInvite = new DeclineInviteCommand(authenticationManager);
                return(declineInvite.Execute(arguments));

            case "KickMember":
                KickMemberCommand kickMember = new KickMemberCommand(authenticationManager);
                return(kickMember.Execute(arguments));

            case "Disband":
                DisbandCommand disband = new DisbandCommand(authenticationManager);
                return(disband.Execute(arguments));

            case "AddTeamTo":
                AddTeamToCommand addTeamToCommand = new AddTeamToCommand(authenticationManager);
                return(addTeamToCommand.Execute(arguments));

            case "ShowEvent":
                ShowEventCommand showEvent = new ShowEventCommand(authenticationManager);
                return(showEvent.Execute(arguments));

            case "ShowTeam":
                ShowTeamCommand showTeam = new ShowTeamCommand(authenticationManager);
                return(showTeam.Execute(arguments));

            case "Exit":
                ExitCommand exitCommand = new ExitCommand();
                return(exitCommand.Execute(arguments));

            default:
                throw new NotSupportedException($"Command {commandName} is not supported!");
            }
        }
Example #27
0
 public async Task <ActionResult <UserDto> > Login([FromBody] LogInCommand logInCommand)
 {
     return(await Mediator.Send(logInCommand));
 }
        public string DispatchCommand(string[] commandParameters, Session session)
        {
            string command = commandParameters[0].ToLower();

            string result = "";

            switch (command)
            {
            case "login":
                result = LogInCommand.Execute(commandParameters, session);
                break;

            case "logout":
                result = LogoutCommand.Execute(session);
                break;

            case "exit":
                result = ExitCommand.Execute();
                break;

            case "registeruser":
                result = RegisterUserCommand.Execute(commandParameters);
                break;

            case "uploadpicture":
                result = UploadPictureCommand.Execute(commandParameters);
                break;

            case "sharealbum":
                result = ShareAlbumCommand.Execute(commandParameters);
                break;

            case "listfriends":
                result = PrintFriendsListCommand.Execute(session);
                break;

            case "acceptfriend":
                result = AcceptFriendCommand.Execute(commandParameters, session);
                break;

            case "addfriend":
                result = AddFriendCommand.Execute(commandParameters, session);
                break;

            case "addtagto":
                result = AddTagToCommand.Execute(commandParameters);
                break;

            case "createalbum":
                result = CreateAlbumCommand.Execute(commandParameters, session);
                break;

            case "addtown":
                result = AddTownCommand.Execute(commandParameters);
                break;

            case "modifyuser":
                result = ModifyUserCommand.Execute(commandParameters, session);
                break;

            case "addtag":
                result = AddTagCommand.Execute(commandParameters);
                break;

            case "deleteuser":
                result = DeleteUser.Execute(session);
                break;

            default:
                throw new InvalidOperationException($"Command {command} not valid!");
            }
            return(result);
        }
 public LogInPageViewModel()
 {
     User             = new User();
     LogInCommand     = new LogInCommand(this);
     NoAccountCommand = new NoAccountCommand();
 }