Esempio n. 1
0
        public string DispatchCommand(string[] commandParameters)
        {
            string cmdName = commandParameters[0];

            commandParameters = commandParameters.Skip(1).ToArray();
            string         result         = string.Empty;
            TagService     tagService     = new TagService();
            UserService    userService    = new UserService();
            TownService    townService    = new TownService();
            AlbumService   albumService   = new AlbumService();
            PictureService pictureService = new PictureService();

            switch (cmdName)
            {
            case "Login":
                LoginUserCommand loginUser = new LoginUserCommand(userService);
                result = loginUser.Execute(commandParameters);
                break;

            case "RegisterUser":
                RegisterUserCommand registerUser = new RegisterUserCommand(userService);
                result = registerUser.Execute(commandParameters);
                break;

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

            case "CreateAlbum":
                CreateAlbumCommand createAlbum = new CreateAlbumCommand(albumService, userService, tagService);
                result = createAlbum.Execute(commandParameters);
                break;

            case "ShareAlbum":
                ShareAlbumCommand shareAlbum = new ShareAlbumCommand(albumService, userService);
                result = shareAlbum.Execute(commandParameters);
                break;

            case "UploadPicture":
                UploadPictureCommand uploadPicture = new UploadPictureCommand(albumService, pictureService);
                result = uploadPicture.Execute(commandParameters);
                break;

            case "AddTown":
                AddTownCommand addTown = new AddTownCommand(townService);
                result = addTown.Execute(commandParameters);
                break;

            case "AddTag":
                AddTagCommand addTag = new AddTagCommand(tagService);
                result = addTag.Execute(commandParameters);
                break;

            case "AddTagTo":
                AddTagToCommand addTagTo = new AddTagToCommand(tagService, albumService);
                result = addTagTo.Execute(commandParameters);
                break;

            case "ModifyUser":
                ModifyUserCommand modifyUser = new ModifyUserCommand(userService, townService);
                result = modifyUser.Execute(commandParameters);
                break;

            case "MakeFriends":
                MakeFriendsCommand makeFriends = new MakeFriendsCommand(userService);
                result = makeFriends.Execute(commandParameters);
                break;

            case "DeleteUser":
                DeleteUser deleteUser = new DeleteUser(userService);
                result = deleteUser.Execute(commandParameters);
                break;

            case "ListFriends":
                PrintFriendsListCommand listFriends = new PrintFriendsListCommand(userService);
                result = listFriends.Execute(commandParameters);
                break;

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

            default:
                throw new NotImplementedException($"Command < {cmdName} > not valid!");
            }
            return(result);
        }
        public string DispatchCommand(string[] commandParameters)
        {
            string command = commandParameters[0].ToLower();

            string result = null;

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

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

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

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

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

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

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

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

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

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

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

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

            case "login":
                result = LoginCommand.Execute(commandParameters);
                break;

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

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

            default:
                throw new InvalidOperationException($"Command {command} not valid!");
            }
            return(result);
        }
Esempio n. 3
0
        public string DispatchCommand(string[] commandParameters)
        {
            string commandName = commandParameters[0];

            commandParameters = commandParameters.Skip(1).ToArray();
            string result = string.Empty;

            switch (commandName)
            {
            case "RegisterUser":
                RegisterUserCommand registerUser = new RegisterUserCommand();
                result = registerUser.Execute(commandParameters);
                break;

            case "AddTown":
                AddTownCommand addTown = new AddTownCommand();
                result = addTown.Execute(commandParameters);
                break;

            case "ModifyUser":
                ModifyUserCommand modifyUser = new ModifyUserCommand();
                result = modifyUser.Execute(commandParameters);
                break;

            case "DeleteUser":
                DeleteUserCommand deleteUser = new DeleteUserCommand();
                result = deleteUser.Execute(commandParameters);
                break;

            case "AddTag":
                AddTagCommand addTag = new AddTagCommand();
                result = addTag.Execute(commandParameters);
                break;

            case "CreateAlbum":
                CreateAlbumCommand createAlbum = new CreateAlbumCommand();
                result = createAlbum.Execute(commandParameters);
                break;

            case "AddTagTo":
                AddTagToCommand addTagTo = new AddTagToCommand();
                result = addTagTo.Execute(commandParameters);
                break;

            case "MakeFriends":
                MakeFriendsCommand makeFriend = new MakeFriendsCommand();
                result = makeFriend.Execute(commandParameters);
                break;

            case "ListFriends":
                PrintFriendsListCommand listFriends = new PrintFriendsListCommand();
                result = listFriends.Execute(commandParameters);
                break;

            case "UploadPicture":
                UploadPictureCommand uploadPicture = new UploadPictureCommand();
                result = uploadPicture.Execute(commandParameters);
                break;

            case "ShareAlbum":
                ShareAlbumCommand shareAlbum = new ShareAlbumCommand();
                result = shareAlbum.Execute(commandParameters);
                break;

            case "Login":
                LoginCommand login = new LoginCommand();
                result = login.Execute(commandParameters);
                break;

            case "Logout":
                LogoutCommand logout = new LogoutCommand();
                result = logout.Execute(commandParameters);
                break;

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

            default:
                Console.WriteLine($"Command {commandName} not valid!");
                break;
            }

            return(result);
        }
        public string DispatchCommand(string[] commandParameters)
        {
            string commandName = commandParameters[0];

            var    commandArg = commandParameters.Skip(1).ToArray();
            string result     = string.Empty;

            switch (commandName)
            {
            case "RegisterUser":
                var registerUser = new RegisterUserCommand();
                result = registerUser.Execute(commandArg);
                break;

            case "AddTown":
                var addTown = new AddTownCommand();
                result = addTown.Execute(commandArg);
                break;

            case "ModifyUser":
                var modifyUser = new ModifyUserCommand();
                result = modifyUser.Execute(commandArg);
                break;

            case "DeleteUser":
                var deleteUser = new DeleteUser();
                result = deleteUser.Execute(commandArg);
                break;

            case "AddTag":
                var tag = new AddTagCommand();
                result = tag.Execute(commandArg);
                break;

            case "CreateAlbum":
                var album = new CreateAlbumCommand();
                result = album.Execute(commandArg);
                break;

            case "AddTagTo":
                var tagTo = new AddTagToCommand();
                result = tagTo.Execute(commandArg);
                break;

            case "AddFriend":
                var addFriend = new AddFriendCommand();
                result = addFriend.Execute(commandArg);
                break;

            case "AcceptFriend":
                var acceptFriend = new AcceptFriendCommand();
                result = acceptFriend.Execute(commandArg);
                break;

            case "ListFriends":
                var listFriend = new PrintFriendsListCommand();
                result = listFriend.Execute(commandArg);
                break;

            case "ShareAlbum":
                var shareAlbum = new ShareAlbumCommand();
                result = shareAlbum.Execute(commandArg);
                break;

            case "UploadPicture":
                var uploadPicture = new UploadPictureCommand();
                result = uploadPicture.Execute(commandArg);
                break;

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

            case "Login":
                var login = new LoginCommand();
                result = login.Execute(commandArg);
                break;

            case "Logout":
                var logout = new LogoutCommand();
                result = logout.Execute();
                break;

            default:
                throw new InvalidOperationException($"Command {commandName} not valid!");
            }

            return(result);
        }
Esempio n. 5
0
        public string DispatchCommand(string[] commandParameters)
        {
            string commandName = commandParameters[0];

            commandParameters = commandParameters.Skip(1).ToArray(); // skipping commandName

            string result = string.Empty;

            UserService    userService    = new UserService();
            TownService    townService    = new TownService();
            TagService     tagService     = new TagService();
            AlbumService   albumService   = new AlbumService();
            PictureService pictureService = new PictureService();

            switch (commandName)
            {
            // 1. Photo Share System
            case "RegisterUser":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 4);
                RegisterUserCommand registerUser = new RegisterUserCommand(userService);
                result = registerUser.Execute(commandParameters);
                break;

            case "AddTown":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 2);
                AddTownCommand addTown = new AddTownCommand(townService);
                result = addTown.Execute(commandParameters);
                break;

            case "ModifyUser":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 3);
                ModifyUserCommand modifyUser = new ModifyUserCommand(userService, townService);
                result = modifyUser.Execute(commandParameters);
                break;

            case "DeleteUser":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 1);
                DeleteUserCommand deleteUser = new DeleteUserCommand(userService);
                result = deleteUser.Execute(commandParameters);
                break;

            case "AddTag":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 1);
                AddTagCommand addTag = new AddTagCommand(tagService);
                result = addTag.Execute(commandParameters);
                break;

            case "CreateAlbum":
                ValidateInput.CheckMinInputArgsCount(commandName, commandParameters.Count(), 4);
                CreateAlbumCommand createAlbum = new CreateAlbumCommand(userService, albumService, tagService);
                result = createAlbum.Execute(commandParameters);
                break;

            case "AddTagTo":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 2);
                AddTagToCommand addTagTo = new AddTagToCommand(albumService, tagService);
                result = addTagTo.Execute(commandParameters);
                break;

            case "MakeFriends":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 2);
                MakeFriendsCommand makeFriends = new MakeFriendsCommand(userService);
                result = makeFriends.Execute(commandParameters);
                break;

            case "ListFriends":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 1);
                ListFriendsCommand listFriends = new ListFriendsCommand(userService);
                result = listFriends.Execute(commandParameters);
                break;

            case "ShareAlbum":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 3);
                ShareAlbumCommand shareAlbum = new ShareAlbumCommand(userService, albumService);
                result = shareAlbum.Execute(commandParameters);
                break;

            case "UploadPicture":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 3);
                UploadPictureCommand uploadPicture = new UploadPictureCommand(albumService, pictureService);
                result = uploadPicture.Execute(commandParameters);
                break;

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

            // 2. Extend Photo Share System
            case "Login":
                ValidateInput.CheckExactInputArgsCount(commandName, commandParameters.Count(), 2);
                LoginCommand login = new LoginCommand(userService);
                result = login.Execute(commandParameters);
                break;

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

            // 1. Photo Share System
            default:
                throw new InvalidOperationException($"Command <{commandName}> not valid!");
            }

            return(result);
        }
Esempio n. 6
0
        public string DispatchCommand(string[] commandParameters)
        {
            string commandName = commandParameters[0];

            commandParameters = commandParameters.Skip(1).ToArray();
            string result = string.Empty;

            switch (commandName)
            {
            case "RegisterUser":
                if (commandParameters.Count() != 4)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                RegisterUserCommand registerUser = new RegisterUserCommand(new UserService());
                result = registerUser.Execute(commandParameters);
                break;

            case "AddTown":
                if (commandParameters.Count() != 2)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                AddTownCommand addTown = new AddTownCommand(new TownService());
                result = addTown.Execute(commandParameters);
                break;

            case "ModifyUser":
                if (commandParameters.Count() != 3)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                ModifyUserCommand modifyUser = new ModifyUserCommand(new UserService(), new TownService());
                result = modifyUser.Execute(commandParameters);
                break;

            case "DeleteUser":
                if (commandParameters.Count() != 1)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                DeleteUserCommand deleteUser = new DeleteUserCommand(new UserService());
                result = deleteUser.Execute(commandParameters);
                break;

            case "AddTag":
                if (commandParameters.Count() != 1)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                AddTagCommand addTag = new AddTagCommand(new TagService());
                result = addTag.Execute(commandParameters);
                break;

            case "CreateAlbum":
                if (commandParameters.Count() < 4)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                CreateAlbumCommand createAlbum = new CreateAlbumCommand(new AlbumService(), new UserService(), new TagService());
                result = createAlbum.Execute(commandParameters);
                break;

            case "AddTagTo":
                if (commandParameters.Count() != 2)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                AddTagToCommand addTagTo = new AddTagToCommand(new TagService(), new AlbumService());
                result = addTagTo.Execute(commandParameters);
                break;

            case "MakeFriends":
                if (commandParameters.Count() != 2)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                MakeFriendsCommand makeFriends = new MakeFriendsCommand(new UserService());
                result = makeFriends.Execute(commandParameters);
                break;

            case "ListFriends":
                if (commandParameters.Count() != 1)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                PrintFriendsListCommand printFriends = new PrintFriendsListCommand(new UserService());
                result = printFriends.Execute(commandParameters);
                break;

            case "ShareAlbum":
                if (commandParameters.Count() != 3)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                ShareAlbumCommand shareAlbum = new ShareAlbumCommand(new UserService(), new AlbumService());
                result = shareAlbum.Execute(commandParameters);
                break;

            case "UploadPicture":
                if (commandParameters.Count() != 3)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                UploadPictureCommand uploadPicture = new UploadPictureCommand(new AlbumService(), new PictureService());
                result = uploadPicture.Execute(commandParameters);
                break;

            case "Login":
                if (commandParameters.Count() != 2)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                LoginCommand loginCommand = new LoginCommand(new AuthenticationService(), new UserService());
                result = loginCommand.Execute(commandParameters);
                break;

            case "Logout":
                if (commandParameters.Count() > 0)
                {
                    throw new InvalidOperationException($"Command {commandName} not valid!");
                }
                LogoutCommand logoutCommand = new LogoutCommand(new AuthenticationService(), new UserService());
                result = logoutCommand.Execute();
                break;

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

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

            return(result);
        }
Esempio n. 7
0
        public string DispatchCommand(string[] commandParameters)
        {
            string result;

            switch (commandParameters[0])
            {
            case "RegisterUser":        ////
                if (commandParameters.Length != 5)
                {
                    goto default;
                }
                AccessAsLoggedOut();
                Commands.RegisterUserCommand registerUser = new RegisterUserCommand();
                result = registerUser.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "AddTown":        ////
                if (commandParameters.Length != 3)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.AddTownCommand addTown = new AddTownCommand();
                result = addTown.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "ModifyUser":        ////
                if (commandParameters.Length != 3)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.ModifyUserCommand modifyUser = new ModifyUserCommand();
                result = modifyUser.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "DeleteUser":        ////
                if (commandParameters.Length != 1)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.DeleteUserCommand deleteUser = new DeleteUserCommand();
                result = deleteUser.Execute();
                break;

            case "AddTag":        ////
                if (commandParameters.Length != 2)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.AddTagCommand addTag = new AddTagCommand();
                result = addTag.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "CreateAlbum":        ////
                if (commandParameters.Length < 2)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.CreateAlbumCommand createAlbum = new CreateAlbumCommand();
                result = createAlbum.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "AddTagTo":        ////
                if (commandParameters.Length != 3)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.AddTagToCommand addTagTo = new AddTagToCommand();
                result = addTagTo.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "MakeFriends":        ////
                if (commandParameters.Length != 2)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.MakeFriendsCommand makeFriends = new MakeFriendsCommand();
                result = makeFriends.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "ListFriends":        ////
                if (commandParameters.Length != 2)
                {
                    goto default;
                }
                // both users can
                Commands.PrintFriendsListCommand printFriends = new PrintFriendsListCommand();
                result = printFriends.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "ShareAlbum":        ////
                if (commandParameters.Length != 3)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.ShareAlbumCommand shareAlbum = new ShareAlbumCommand();
                result = shareAlbum.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "UploadPicture":        ////
                if (commandParameters.Length != 4)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.UploadPictureCommand uppCommand = new UploadPictureCommand();
                result = uppCommand.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "Exit":        ////
                if (commandParameters.Length != 1)
                {
                    goto default;
                }
                // both users can
                Commands.ExitCommand exit = new ExitCommand();
                result = exit.Execute();
                break;

            case "Login":        ////
                if (commandParameters.Length != 3)
                {
                    goto default;
                }
                AccessAsLoggedOut();
                Commands.LoginCommand login = new LoginCommand();
                result = login.Execute(commandParameters.Skip(1).ToArray());
                break;

            case "Logout":        ///
                if (commandParameters.Length != 1)
                {
                    goto default;
                }
                AccessAsLoggedIn(commandParameters);
                Commands.LogoutCommand logout = new LogoutCommand();
                result = logout.Execute();
                break;

            default:
                throw new InvalidOperationException($"Command {commandParameters[0]} not valid!");
            }

            return(result);
        }