protected override CommandResult Execute(ConsoleContext context, RoleArgument arguments) { if (string.IsNullOrEmpty(arguments.Rename) || string.IsNullOrEmpty(arguments.Name)) { System.Console.WriteLine("Przy update wymagany parametr -n <NAZWA> -r <NAZWA>"); return(new CommandResult()); } Task <ConnectorResult <Response <IEnumerable <Role> > > > role = WinApiConnector.RequestGet <Response <IEnumerable <Role> > >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Configuration/GetRole/" + $"{arguments.Name.ToLower()}"); ConnectorResult <Response <IEnumerable <Role> > > preResult = role.Result; if (!preResult.IsSuccess) { return(new CommandResult(preResult.Message, false)); } if (!preResult.Response.IsSuccess) { return(new CommandResult(preResult.Response.Code, false)); } if (!preResult.Response.Payload.Any()) { return(new CommandResult($"The Role {arguments.Name} doesn't exist in database", false)); } if (preResult.Response.Payload.Count() != 1) { return(new CommandResult(preResult.Response.Payload.Count() == 0 ? "Nie można zmienić roli, która nie istnieje" : "Wiecej niż jeden wynik", false)); } Task <ConnectorResult <Response <string> > > result = WinApiConnector.RequestPut <Role, Response <string> >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Configuration/UpdateRole", new Role() { Identifier = preResult.Response.Payload.FirstOrDefault().Identifier, Name = arguments.Rename.ToLower() }); ConnectorResult <Response <string> > connectorResult = result.Result; if (!connectorResult.IsSuccess) { return(new CommandResult(connectorResult.Message, false)); } if (!connectorResult.Response.IsSuccess) { return(new CommandResult(connectorResult.Response.Code, false)); } if (connectorResult.Response.Payload == null) { return(new CommandResult("The payload of response is null or empty", false)); } return(new CommandResult($"The Role {arguments.Rename} has been updated", true)); }
protected override CommandResult Execute(ConsoleContext context, QuarryArguments arguments) { IList <Quarry> quarriesList = new List <Quarry>(); Quarry quarry = new Quarry(); if (string.IsNullOrEmpty(arguments.Identifier)) { Task <ConnectorResult <Response <IEnumerable <Quarry> > > > quarries = WinApiConnector.RequestGet <Response <IEnumerable <Quarry> > >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Hunting/GetQuarries"); ConnectorResult <Response <IEnumerable <Quarry> > > preResult = quarries.Result; if (!preResult.IsSuccess) { return(new CommandResult(preResult.Message, false)); } if (!preResult.Response.IsSuccess) { return(new CommandResult(preResult.Response.Code, false)); } if (!preResult.Response.Payload.Any()) { return(new CommandResult("The payload of response is null or empty", false)); } int index = 1; foreach (var item in preResult.Response.Payload) { System.Console.WriteLine($"{index++}. {item.Animal.Name} - amount: {item.Amount} szt."); quarriesList.Add(item); } bool shouldWork = true; int choisenOne = 0; do { System.Console.Write("Wybierz zwierzyne do aktualizacji: "); string userChoice = System.Console.ReadLine(); bool isParsed = int.TryParse(userChoice, out choisenOne); shouldWork = isParsed ? choisenOne > quarriesList.Count(): true; }while(shouldWork); quarry.Identifier = quarriesList[choisenOne - 1].Identifier; } if (!string.IsNullOrEmpty(arguments.Identifier)) { Task <ConnectorResult <Response <IEnumerable <Quarry> > > > result = WinApiConnector.RequestGet <Response <IEnumerable <Quarry> > >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Hunting/GetQuarry/" + $"{arguments.Identifier}"); ConnectorResult <Response <IEnumerable <Quarry> > > connectorResult = result.Result; if (!connectorResult.IsSuccess) { return(new CommandResult(connectorResult.Message, false)); } if (!connectorResult.Response.IsSuccess) { return(new CommandResult(connectorResult.Response.Code, false)); } if (!connectorResult.Response.Payload.Any()) { return(new CommandResult("The payload od response is null or empty", false)); } if (connectorResult.Response.Payload.Count() != 1) { return(new CommandResult("Too many results in payload", false)); } quarry.Identifier = connectorResult.Response.Payload.FirstOrDefault().Identifier; } quarry.Amount = arguments.Amount; Task <ConnectorResult <Response <string> > > update = WinApiConnector.RequestPut <Quarry, Response <string> >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Hunting/UpdateQuarry", quarry); ConnectorResult <Response <string> > postResult = update.Result; if (!postResult.IsSuccess) { return(new CommandResult(postResult.Message, false)); } if (!postResult.Response.IsSuccess) { return(new CommandResult(postResult.Response.Code, false)); } if (string.IsNullOrEmpty(postResult.Response.Payload)) { return(new CommandResult("The paylod of response is null or empty", false)); } return(new CommandResult(postResult.Response.Payload, true)); }
protected override CommandResult Execute(ConsoleContext context, AnimalArguments arguments) { IList <Animal> animals = new List <Animal>(); Animal updateAnimal = new Animal(); if (string.IsNullOrEmpty(arguments.Rename)) { return(new CommandResult("Przy update wymagany parametr -r <NAZWA>")); } if (string.IsNullOrEmpty(arguments.Name)) { Task <ConnectorResult <Response <IEnumerable <Animal> > > > animalsList = WinApiConnector.RequestGet <Response <IEnumerable <Animal> > >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Configuration/GetAllAnimals"); ConnectorResult <Response <IEnumerable <Animal> > > preResponse = animalsList.Result; if (!preResponse.IsSuccess) { return(new CommandResult(preResponse.Message, false)); } if (!preResponse.Response.IsSuccess) { return(new CommandResult(preResponse.Response.Code, false)); } if (!preResponse.Response.Payload.Any()) { return(new CommandResult("The payload od request is null or empty", false)); } foreach (var preRes in preResponse.Response.Payload) { animals.Add(preRes); System.Console.WriteLine($"{preRes.Name}"); } bool shouldWork = true; int choisenOne = 0; do { string readLine = System.Console.ReadLine(); bool isParsed = int.TryParse(readLine, out choisenOne); shouldWork = isParsed ? choisenOne > animals.Count() : true; }while(shouldWork); updateAnimal.Identifier = animals[choisenOne - 1].Identifier; } if (!string.IsNullOrEmpty(arguments.Name)) { Task <ConnectorResult <Response <IEnumerable <Animal> > > > existAnimal = WinApiConnector.RequestGet <Response <IEnumerable <Animal> > >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Configuration/GetAnimal/" + $"{arguments.Name.ToLower()}"); ConnectorResult <Response <IEnumerable <Animal> > > connectorResult = existAnimal.Result; if (!connectorResult.IsSuccess) { return(new CommandResult(connectorResult.Message, false)); } if (!connectorResult.Response.IsSuccess) { return(new CommandResult(connectorResult.Response.Code, false)); } if (!connectorResult.Response.Payload.Any()) { return(new CommandResult("The Payload of request is null or empty", false)); } if (connectorResult.Response.Payload.Count() != 1) { return(new CommandResult("There is too many results", true)); } updateAnimal.Identifier = connectorResult.Response.Payload.FirstOrDefault().Identifier; } updateAnimal.Name = arguments.Rename.ToLower(); Task <ConnectorResult <Response <string> > > result = WinApiConnector.RequestPut <Animal, Response <string> >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/Configuration/UpdateAnimal", updateAnimal); ConnectorResult <Response <string> > postResult = result.Result; if (!postResult.IsSuccess) { return(new CommandResult(postResult.Message, false)); } if (!postResult.Response.IsSuccess) { return(new CommandResult(postResult.Response.Code, false)); } if (postResult.Response.Payload == null) { return(new CommandResult("The payload of response is null or empty", false)); } return(new CommandResult($"The Animal {updateAnimal.Identifier} has been updated", true)); }
protected override CommandResult Execute(ConsoleContext context, UserArgumentsExtension arguments) { IList <User> users = new List <User>(); User updateUser = new User(); Guid identifier = Guid.Empty; if (string.IsNullOrEmpty(arguments.Identifier) && string.IsNullOrEmpty(arguments.Login)) { Task <ConnectorResult <Response <IEnumerable <User> > > > usersRequest = WinApiConnector.RequestGet <Response <IEnumerable <User> > >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/User/GetAll"); ConnectorResult <Response <IEnumerable <User> > > preResponse = usersRequest.Result; if (!preResponse.IsSuccess) { return(new CommandResult(preResponse.Message, false)); } if (!preResponse.Response.IsSuccess) { return(new CommandResult(preResponse.Response.Code, false)); } if (!preResponse.Response.Payload.Any()) { return(new CommandResult("The payload od request is null or empty", false)); } int index = 1; foreach (var ur in preResponse.Response.Payload) { users.Add(ur); System.Console.WriteLine($"{index++}. {ur.Login} - {ur.Identifier}"); } System.Console.WriteLine($"Wybierz numer użytkownika do aktualizacji 1-{users.Count}"); bool shouldWork = true; int choisenOne = 0; do { string readLine = System.Console.ReadLine(); bool isParsed = int.TryParse(readLine, out choisenOne); shouldWork = isParsed ? choisenOne > users.Count : true; }while(shouldWork); updateUser.Identifier = users[choisenOne - 1].Identifier; } if (!string.IsNullOrEmpty(arguments.Identifier)) { var tmp = Guid.TryParse(arguments.Identifier, out identifier); if (!tmp) { return(new CommandResult("Cannot parse identifier from -i param", false)); } updateUser.Identifier = identifier; } if (!string.IsNullOrEmpty(arguments.Login) && string.IsNullOrEmpty(arguments.Identifier)) { User tmpUser = new User() { Login = arguments.Login }; Task <ConnectorResult <Response <IEnumerable <User> > > > userByLogin = WinApiConnector.RequestGet <Response <IEnumerable <User> > >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/User/GetByLogin/" + $"{arguments.Login}"); ConnectorResult <Response <IEnumerable <User> > > preResponse = userByLogin.Result; if (!preResponse.IsSuccess) { return(new CommandResult(preResponse.Message, false)); } if (!preResponse.Response.IsSuccess) { return(new CommandResult(preResponse.Response.Code, false)); } if (!preResponse.Response.Payload.Any()) { return(new CommandResult("The Payload of request is null or empty", false)); } if (preResponse.Response.Payload.Count() != 1) { return(new CommandResult("There is too many results", true)); } updateUser.Identifier = preResponse.Response.Payload.FirstOrDefault().Identifier; } updateUser.Name = arguments.Name; updateUser.Surname = arguments.Surname; updateUser.Password = arguments.Password; updateUser.Email = arguments.Email; Task <ConnectorResult <Response <User> > > result = WinApiConnector.RequestPut <User, Response <User> >($"{context.ConsoleSettings.ServerAddress}:{context.ConsoleSettings.Port}/Api/User/Update", updateUser); ConnectorResult <Response <User> > postResponse = result.Result; if (!postResponse.IsSuccess) { return(new CommandResult(postResponse.Message, false)); } if (!postResponse.Response.IsSuccess) { return(new CommandResult(postResponse.Response.Code, false)); } if (postResponse.Response.Payload == null) { return(new CommandResult("The payload of response is null or empty", false)); } return(new CommandResult($"The User {updateUser.Identifier} has been updated", true)); }