protected AuthorizationResponse GetAuthorizationResponse(AccountAuthorizationRequest request, bool doAccept)
        {
            AuthorizationResponse response = new AuthorizationResponse();

            response.GeneratedOn          = request.Response.AuthorizationGeneratedOn;
            response.NaasUsername         = request.NaasAccount;
            response.AccountCreatedInNaas = request.Response.DidCreateInNaas;
            response.Comments             = request.Response.AuthorizationComments;
            if (!CollectionUtils.IsNullOrEmpty(request.RequestedFlows))
            {
                response.AuthorizationList = new AuthorizationItem[request.RequestedFlows.Count];
                for (int i = 0; i < request.RequestedFlows.Count; ++i)
                {
                    AccountAuthorizationRequestFlow requestFlow = request.RequestedFlows[i];
                    AuthorizationItem authorizationItem         = new AuthorizationItem();
                    authorizationItem.AccessGranted           = doAccept ? requestFlow.AccessGranted : false;
                    authorizationItem.RequestedDataSourceName = requestFlow.FlowName;
                    response.AuthorizationList[i]             = authorizationItem;
                }
            }
            else
            {
                response.AuthorizationList = new AuthorizationItem[0];
            }
            return(response);
        }
 private void SaveRequestedFlows(string requestId, IList <AccountAuthorizationRequestFlow> requestedFlows)
 {
     if (CollectionUtils.IsNullOrEmpty(requestedFlows))
     {
         return;
     }
     object[] insertValues = new object[4];
     DoBulkInsert(FLOW_TABLE_NAME, "Id;AccountAuthRequestId;FlowName;AccessGranted",
                  delegate(int currentInsertIndex)
     {
         if (currentInsertIndex < requestedFlows.Count)
         {
             AccountAuthorizationRequestFlow flow = requestedFlows[currentInsertIndex];
             if (string.IsNullOrEmpty(flow.Id))
             {
                 flow.Id = IdProvider.Get();
             }
             insertValues[0] = flow.Id;
             insertValues[1] = requestId;
             insertValues[2] = flow.FlowName;
             insertValues[3] = DbUtils.ToDbBool(flow.AccessGranted);
             return(insertValues);
         }
         else
         {
             return(null);
         }
     });
 }
        private AccountAuthorizationRequestFlow MapAccountAuthorizationRequestFlow(IDataReader reader)
        {
            AccountAuthorizationRequestFlow requestFlow = new AccountAuthorizationRequestFlow();
            int index = 0;

            requestFlow.Id            = reader.GetString(index++);
            requestFlow.FlowName      = reader.GetString(index++);
            requestFlow.AccessGranted = DbUtils.ToBool(reader.GetString(index++));
            return(requestFlow);
        }