Esempio n. 1
0
 partial void UpdateClientData(ClientData instance);
Esempio n. 2
0
 partial void DeleteClientData(ClientData instance);
Esempio n. 3
0
 partial void DeleteClientData(ClientData instance);
Esempio n. 4
0
 partial void InsertClientData(ClientData instance);
Esempio n. 5
0
 partial void UpdateClientData(ClientData instance);
Esempio n. 6
0
 partial void InsertClientData(ClientData instance);
Esempio n. 7
0
 public Client( ClientData cd )
 {
     Load( cd );
 }
Esempio n. 8
0
        private void Load( ClientData data )
        {
            Init();

            if ( data == null )
            {
                return;
            }

            ClientId = data.client_id;
            Name = data.client_name;
            ApiKey = data.api_key;
            ApiSecret = data.api_secret;
            Callback = data.callback_url;
            CreatedByUserId = data.created_by;
            ModifiedByUserId = data.modified_by;
            Active = data.active;
        }
Esempio n. 9
0
        public bool Save(string userId)
        {
            try
            {
                using (OAuthDataContext context = OAuthContextHelper.GetContext())
                {
                    ClientData data;

                    if ( ClientId > 0 )
                    {
                        data = context.ClientDatas.FirstOrDefault( c => c.client_id == ClientId );
                        if ( data == null )
                        {
                            throw new ArgumentOutOfRangeException( "Client Not Found for ClientID" );
                        }
                    }
                    else
                    {
                        data = new ClientData();

                        if ( ApiKey == Guid.Empty )
                        {
                            GenerateApiKey();
                        }
                        if ( ApiSecret == Guid.Empty )
                        {
                            GenerateApiSecret();
                        }
                    }

                    data.client_name = Name;
                    data.callback_url = Callback;
                    data.api_key = ApiKey;
                    data.api_secret = ApiSecret;
                    data.modified_by = userId;
                    data.date_modified = DateTime.Now;
                    data.active = Active;

                    if ( data.client_id <= 0 )
                    {
                        data.created_by = userId;
                        data.date_created = DateTime.Now;

                        if ( Scopes != null )
                        {
                            foreach ( var scope in Scopes )
                            {
                                data.ClientScopeDatas.Add( new ClientScopeData
                                {
                                    scope_id = scope.ScopeId,
                                    created_by = userId,
                                    date_created = DateTime.Now,
                                    modified_by = userId,
                                    date_modified = DateTime.Now,
                                    active = true
                                } );
                            }
                        }

                        context.ClientDatas.InsertOnSubmit( data );
                    }
                    else
                    {
                        var scopeIDRemove = data.ClientScopeDatas.Select( cs => cs.scope_id ).Where( cs => !Scopes.Select( s => s.ScopeId ).Contains( cs ) ).ToArray() ;
                        foreach ( var scopeId in scopeIDRemove )
                        {
                            var scopeToRemove = data.ClientScopeDatas.Where( cs => cs.scope_id == scopeId ).FirstOrDefault();

                            if ( scopeToRemove != null )
                            {
                                context.ClientScopeDatas.DeleteOnSubmit( scopeToRemove );
                            }
                        }

                        var scopeIdAdd = Scopes.Select( s => s.ScopeId ).Where( s => !data.ClientScopeDatas.Select( cs => cs.scope_id ).Contains( s ) );

                        foreach ( var scopeId in scopeIdAdd )
                        {
                            data.ClientScopeDatas.Add(
                                    new ClientScopeData
                                    {
                                        scope_id = scopeId,
                                        created_by = userId,
                                        modified_by = userId,
                                        date_created = DateTime.Now,
                                        date_modified = DateTime.Now,
                                        active = true
                                    }
                                );
                        }
                    }

                    context.SubmitChanges();

                    if ( data.client_id > 0 )
                    {
                        Load( data );
                        return true;
                    }

                    return false;
                }
            }
            catch ( Exception ex )
            {

                throw new Exception( "An error occurred when saving client.", ex );
            }
        }