public string DispatchCommand(string[] commandParameters) { var userService = new UserService(); var townService = new TownService(); var tagService = new TagService(); var albumService = new AlbumService(); var pictureService = new PictureService(); var securityService = new SecurityService(); string command = commandParameters[0]; commandParameters = commandParameters.Skip(1).ToArray(); string result = string.Empty; switch (command) { case "RegisterUser": var registerUser = new RegisterUserCommand(userService); result = registerUser.Execute(commandParameters); break; case "AddTown": var addTown = new AddTownCommand(townService); result = addTown.Execute(commandParameters); break; case "ModifyUser": var modifyUser = new ModifyUserCommand(userService, townService); result = modifyUser.Execute(commandParameters); break; case "Exit": ExitCommand exit = new ExitCommand(); exit.Execute(); break; case "DeleteUser": var deleteUser = new DeleteUser(userService); result = deleteUser.Execute(commandParameters); break; case "AddTag": var addTag = new AddTagCommand(tagService); result = addTag.Execute(commandParameters); break; case "CreateAlbum": var createAlbum = new CreateAlbumCommand(albumService, userService, tagService); result = createAlbum.Execute(commandParameters); break; case "AddTagTo": var addTagTo = new AddTagToCommand(tagService, albumService); result = addTagTo.Execute(commandParameters); break; case "MakeFriends": var makeFriends = new MakeFriendsCommand(userService); result = makeFriends.Execute(commandParameters); break; case "ListFriends": var listFriends = new ListFriendsCommand(userService); result = listFriends.Execute(commandParameters); break; case "ShareAlbum": var shareAlbum = new ShareAlbumCommand(albumService, userService); result = shareAlbum.Execute(commandParameters); break; case "UploadPicture": var uploadPicture = new UploadPictureCommand(pictureService, albumService); result = uploadPicture.Execute(commandParameters); break; case "Login": var loginCommand = new LoginCommand(securityService); result = loginCommand.Execute(commandParameters); break; case "Logout": var logoutCommand = new LogoutCommand(securityService); result = logoutCommand.Execute(); break; } return(result); }
public string DispatchCommand(string[] commandParameters) { PictureService pictureService = new PictureService(); AlbumService albumService = new AlbumService(); UserService userService = new UserService(); TownService townService = new TownService(); TagService tagService = new TagService(); string commandName = commandParameters[0]; commandParameters = commandParameters.Skip(1).ToArray(); string result = string.Empty; switch (commandName) { case "RegisterUser": RegisterUserCommand registerUser = new RegisterUserCommand(userService); result = registerUser.Execute(commandParameters); break; case "AddTown": AddTownCommand addTown = new AddTownCommand(townService); result = addTown.Execute(commandParameters); break; case "ModifyUser": ModifyUserCommand modifyUser = new ModifyUserCommand(userService, townService); result = modifyUser.Execute(commandParameters); break; case "DeleteUser": DeleteUserCommand deleteUser = new DeleteUserCommand(userService); result = deleteUser.Execute(commandParameters); break; case "AddTag": AddTagCommand addTag = new AddTagCommand(tagService); result = addTag.Execute(commandParameters); break; case "CreateAlbum": CreateAlbumCommand createAlbum = new CreateAlbumCommand(albumService, userService, tagService); result = createAlbum.Execute(commandParameters); break; case "AddTagTo": AddTagToCommand addTagTo = new AddTagToCommand(albumService, tagService); result = addTagTo.Execute(commandParameters); break; case "MakeFriends": MakeFriendsCommand makeFriends = new MakeFriendsCommand(userService); result = makeFriends.Execute(commandParameters); break; case "ListFriends": ListFriendsCommand listFriends = new ListFriendsCommand(userService); result = listFriends.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 "Exit": ExitCommand exit = new ExitCommand(); exit.Execute(); break; case "Login": LoginUserCommand loginUser = new LoginUserCommand(); result = loginUser.Execute(commandParameters); break; case "Logout": LogoutUserCommand logoutUser = new LogoutUserCommand(); result = logoutUser.Execute(commandParameters); break; default: result = $"Command {commandName} not valid!"; break; } return(result); }
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]; 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); }
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); }
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); }