public ActionResult <string> CreateClient([Required, FromBody] AltSourceNewClientDto input)
        {
            AccountsLib.Client newClient;

            try
            {
                UserInputValidation.ValidateUsername(input.Username);
                UserInputValidation.ValidateName(input.FirstName);
                UserInputValidation.ValidateName(input.LastName);

                var userInfo = User.GetUserInfo();
                var username = userInfo.AccountsUsername;

                using (var session = Logic.Login(Repository, username))
                {
                    newClient = Logic.CreateClient(session, input.Username, input.FirstName, input.LastName);
                }
            }
            catch (AccountsLibException ex)
            {
                return(new ActionFailureResult(new ApiResponse(500, ex.Message)));
            }

            return(newClient?.ClientId);
        }
예제 #2
0
        public async Task <string> CreateClient(string username, string firstName, string lastName)
        {
            UserInputValidation.ValidateUsername(username);
            UserInputValidation.ValidateName(firstName);
            UserInputValidation.ValidateName(lastName);

            var newClient   = new AltSourceNewClientDto(username, firstName, lastName);
            var jsonNewUser = JsonConvert.SerializeObject(newClient);
            var content     = new StringContent(jsonNewUser, Encoding.UTF8, "application/json");
            var response    = await this.InvokeApiAsync(Post, @"api/admin/create/client", content);

            var newClientId = await response.TryGetResponseContent();

            return(newClientId);
        }