예제 #1
0
        public async Task <bool> PutVolunteerCredential(string u, string g, string c, [FromBody] AssignCredentialsViewModel assignCredentialsViewModel, CancellationToken cancellationToken)
        {
            int targetUserId = Base64Utils.Base64DecodeToInt(u);
            int groupId      = Base64Utils.Base64DecodeToInt(g);
            int credentialId = Base64Utils.Base64DecodeToInt(c);

            var user = await _authService.GetCurrentUser(HttpContext, cancellationToken);

            DateTime?validUntil = assignCredentialsViewModel.ValidUntil == "Null" ? (DateTime?)null : DateTime.ParseExact(assignCredentialsViewModel.ValidUntil, DatePickerHelpers.DATE_PICKER_DATE_FORMAT, new CultureInfo("en-GB"));

            PutGroupMemberCredentialsRequest putGroupMemberCredentialsRequest = new PutGroupMemberCredentialsRequest()
            {
                AuthorisedByUserID = user.ID,
                UserId             = targetUserId,
                GroupId            = groupId,
                CredentialId       = credentialId,
                Reference          = assignCredentialsViewModel.Reference,
                Notes      = assignCredentialsViewModel.Notes,
                ValidUntil = validUntil,
            };

            return(await _groupMemberService.PutGroupMemberCredentials(putGroupMemberCredentialsRequest));
        }