public async Task <AdminModel> CreateAdminAsync([FromBody] AdminCreateModel model)
        {
            var(error, admin) = await _adminsService.RegisterAsync(
                model.Email,
                model.Password,
                model.PhoneNumber,
                model.FirstName,
                model.LastName,
                model.Company,
                model.Department,
                model.JobTitle);

            switch (error)
            {
            case AdminServiceCreateResponseError.None:
                return(_mapper.Map <AdminModel>(admin));

            case AdminServiceCreateResponseError.AlreadyRegistered:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminAlreadyRegistered);

            case AdminServiceCreateResponseError.InvalidEmailOrPasswordFormat:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.InvalidEmailOrPasswordFormat);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        public async Task <AdminModel> CreateAdminAsync([FromBody] AdminCreateModel model)
        {
            var(error, admin) = await _adminsService.RegisterAsync(
                model.Email,
                model.Password,
                model.PhoneNumber,
                model.FirstName,
                model.LastName,
                model.Company,
                model.Department,
                model.JobTitle);

            if (error == AdminServiceCreateResponseError.None)
            {
                model.Password    = null;
                model.Email       = model.Email.SanitizeEmail();
                model.FirstName   = model.FirstName.SanitizeName();
                model.LastName    = model.LastName.SanitizeName();
                model.PhoneNumber = model.PhoneNumber.SanitizePhone();
                await _auditLogPublisher.PublishAuditLogAsync(_requestContext.UserId, model.ToJson(), ActionType.AdminCreate);

                return(_mapper.Map <AdminModel>(admin));
            }

            switch (error)
            {
            case AdminServiceCreateResponseError.AlreadyRegistered:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminAlreadyRegistered);

            case AdminServiceCreateResponseError.InvalidEmailOrPasswordFormat:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.InvalidEmailOrPasswordFormat);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }