public override async Task <ActivationReply> ActivateUser(ActivationRequest request, ServerCallContext context) { try { var op = await dataAccess.GetUserByEmail(request.Email); if (op != null && op.otp == request.ActivationKey) { if (await dataAccess.ActivateUser(op.userID)) { return(new ActivationReply { ErrorCode = ErrorCode.Success }); } } return(new ActivationReply { ErrorCode = ErrorCode.Fail }); } catch (Exception e) { Console.WriteLine(e.ToString()); return(new ActivationReply { ErrorCode = ErrorCode.FailUnknown }); } }