public void Configuration(IAppBuilder app)
        {
            HttpConfiguration config = new HttpConfiguration();

            //AreaRegistration.RegisterAllAreas();
            // throw new Exception("Test Start up check");
            WebApiConfig.Register(config);
            this.RegisterDependencyResolver(config);
            ConfigureOAuth(app);
            var logger = (ILoggerBusinessComponent)_container.Resolve(typeof(ILoggerBusinessComponent));

            _authenticationBusinessComponent = (IUserBusinessComponent)_container.Resolve(typeof(IUserBusinessComponent));
            //config.MessageHandlers.Add(new CorsHandler(_authenticationBusinessComponent));
            config.MessageHandlers.Add(new ApiLogHandler(logger));
            //CorsPolicies = GetCorsPoliciesfromConfiguration();
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseWebApi(config);
            config.Filters.Add(new ValidateModelAttribute());
            //config.Filters.Add(new CheckModelForNullAttribute());
            config.Filters.Add(new CheckContextErrorAttribute());
            config.Filters.Add(new GlobalExceptionFilterAttribute(logger));
            config.SuppressDefaultHostAuthentication();
            //config.Filters.Add(new System.Web.Http.AuthorizeAttribute());
            config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
            //var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
            //jsonFormatter.UseDataContractJsonSerializer = true;
            //jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            ExceptionHelper.Log = logger.LogSystemError;
            //GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
            //new Uri(Application.StartupPath + "\\log4net.config")
            log4net.Config.XmlConfigurator.Configure();
        }
        private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult messageBoxResult = MessageBox.Show("Are you sure?", "Accept Confirmation", MessageBoxButton.YesNo);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                var selectedItem = (User)UsersListView.SelectedItem;
                if (selectedItem.Role == UserRole.Client)
                {
                    var clientToDelete = _clientBusinessComponent.GetByUserId(selectedItem.UserId);
                    _clientBusinessComponent.Delete(clientToDelete);
                    _usersList.Remove(selectedItem);
                    _clientBusinessComponent = _ninjectKernel.Get <IClientBusinessComponent>();
                }
                else
                {
                    if (selectedItem.Role == UserRole.Admin &&
                        _userBusinessComponent.GetAll().Count(x => x.Role == UserRole.Admin) <= 1)
                    {
                        MessageBox.Show("This is the last admin. Record cannot be deleted!");
                    }
                    else
                    {
                        _userBusinessComponent.Delete(selectedItem);
                        _usersList.Remove(selectedItem);
                        _userBusinessComponent = _ninjectKernel.Get <IUserBusinessComponent>();
                    }
                }
            }
        }
Beispiel #3
0
        // ADD YOUR COMPONENTS HERE

        public LoginPage(IKernel ninjectKernel /*ENTER NEEDED BUSINESS COMPONENTS HERE*/,
                         IUserBusinessComponent userBusinessComponent)
        {
            _ninjectKernel         = ninjectKernel;
            _userBusinessComponent = userBusinessComponent;

            InitializeComponent();
        }
Beispiel #4
0
        // ADD YOUR COMPONENTS HERE
        public LoginPage(IKernel ninjectKernel/*ENTER NEEDED BUSINESS COMPONENTS HERE*/,
            IUserBusinessComponent userBusinessComponent)
        {
            _ninjectKernel = ninjectKernel;
            _userBusinessComponent = userBusinessComponent;

            InitializeComponent();
        }
        public void ConfigureOAuth(IAppBuilder app)
        {
            //use a cookie to temporarily store information about a user logging in with a third party login provider
            app.UseExternalSignInCookie(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ExternalCookie);
            OAuthBearerOptions = new OAuthBearerAuthenticationOptions();
            _authenticationBusinessComponent = (IUserBusinessComponent)_container.Resolve(typeof(IUserBusinessComponent));
            OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
            {
                AllowInsecureHttp         = true,
                TokenEndpointPath         = new PathString("/token"),
                AccessTokenExpireTimeSpan = TimeSpan.FromHours(3),
                Provider             = new SimpleAuthorizationServerProvider(_authenticationBusinessComponent),
                RefreshTokenProvider = new SimpleRefreshTokenProvider(_authenticationBusinessComponent),
            };

            // Token Generation
            app.UseOAuthAuthorizationServer(OAuthServerOptions);
            app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
        }
        public AdministratorPage(IUserBusinessComponent userBusinessComponent, IClientBusinessComponent clientBusinessComponent, ICreditTypeBusinessComponent creditTypeBusinessComponent, IKernel ninjectKernel)
        {
            this._userBusinessComponent = userBusinessComponent;
            this._clientBusinessComponent = clientBusinessComponent;
            this._creditTypeBusinessComponent = creditTypeBusinessComponent;
            this._ninjectKernel = ninjectKernel;
            InitializeComponent();

            DeleteCreditTypeButton.IsEnabled = false;
            DisableCreditTypeButton.IsEnabled = false;

            UpdateClientButton.IsEnabled = false;
            DeleteButton.IsEnabled = false;
            DisableButton.IsEnabled = false;
            EnableButton.IsEnabled = false;

            defaultOption.IsChecked = true;

            CreditTypesListView.SelectionMode = SelectionMode.Single;
            UsersListView.SelectionMode = SelectionMode.Single;
            RefreshCreditTypes();
        }
        public AdministratorPage(IUserBusinessComponent userBusinessComponent, IClientBusinessComponent clientBusinessComponent, ICreditTypeBusinessComponent creditTypeBusinessComponent, IKernel ninjectKernel)
        {
            this._userBusinessComponent       = userBusinessComponent;
            this._clientBusinessComponent     = clientBusinessComponent;
            this._creditTypeBusinessComponent = creditTypeBusinessComponent;
            this._ninjectKernel = ninjectKernel;
            InitializeComponent();

            DeleteCreditTypeButton.IsEnabled  = false;
            DisableCreditTypeButton.IsEnabled = false;

            UpdateClientButton.IsEnabled = false;
            DeleteButton.IsEnabled       = false;
            DisableButton.IsEnabled      = false;
            EnableButton.IsEnabled       = false;


            defaultOption.IsChecked = true;

            CreditTypesListView.SelectionMode = SelectionMode.Single;
            UsersListView.SelectionMode       = SelectionMode.Single;
            RefreshCreditTypes();
        }
 public SimpleRefreshTokenProvider(IUserBusinessComponent Instance)
 {
     _authenticationBusinessComponent = Instance;
 }
        public RegistrationWindow(IUserBusinessComponent userBusinessComponent, UserRole userRole,
                                  IClientBusinessComponent clientBusinessComponent, Client clientToUpdate)
        {
            _userBusinessComponent   = userBusinessComponent;
            _clientBusinessComponent = clientBusinessComponent;
            this._clientToUpdate     = clientToUpdate;
            _role = userRole;

            InitializeComponent();

            // tab 1 setup
            textBox_Create_Login.MaxLength             = UserValidation.UserNameMaxLength;
            passwordBox_Create_Password.MaxLength      = UserValidation.PasswordMaxLength;
            passwordBox_Create_Password_Copy.MaxLength = UserValidation.PasswordMaxLength;

            ClientInfoTabItem.IsEnabled  = false;
            ClientInfoTabItem.Visibility = Visibility.Hidden;

            // tab 2 setup
            LastNameTextBox.MaxLength = ClientValidation.LastNameMaxLength;
            NameTextBox.MaxLength     = ClientValidation.NameMaxLength;
            //PatronymicTextBox.MaxLength = ClientValidation.PatronymicMaxLength;
            BirthdayDatePicker.DisplayDateStart           = ClientValidation.MinBirthDate;
            BirthdayDatePicker.DisplayDateEnd             = ClientValidation.MaxBirthDate;
            MobilePhoneNumberTextBox.MaxLength            = ClientValidation.MobileMaxLength;
            PassportNoTextBox.MaxLength                   = ClientValidation.PassportNoMaxLength;
            PasswordExpirationDatePicker.DisplayDateStart = ClientValidation.MinPassportExpirationDate;
            PasswordExpirationDatePicker.DisplayDateEnd   = ClientValidation.MaxPassportExpirationDate;
            PassportIdentityNoTextBox.MaxLength           = ClientValidation.PassportIdentityNoMaxLength;
            PassportAuthorityTextBox.MaxLength            = ClientValidation.PasswordAuthorityMaxLength;
            PlaceOfResidenceTextBox.MaxLength             = ClientValidation.AddressMaxLength;
            RegistrationAddressTextBox.MaxLength          = ClientValidation.AddressMaxLength;

            if (_role != UserRole.Admin) // client
            {
                roleComboBox.Visibility = Visibility.Hidden;
                roleComboBox.IsEnabled  = false;
                labelRole.Visibility    = Visibility.Hidden;

                button_End_Tab1.Visibility = Visibility.Hidden;
                button_End_Tab1.IsEnabled  = false;
                button_Next.Visibility     = Visibility.Visible;
                button_Next.IsEnabled      = true;
            }
            else
            {
                if (_clientToUpdate == null)
                {
                    roleComboBox.Items.Add("Client");
                    if (_role == UserRole.Admin)
                    {
                        roleComboBox.Items.Add("Operator");
                        roleComboBox.Items.Add("Security Service Employee");
                        roleComboBox.Items.Add("Admin");
                    }
                }
                else
                {
                    roleComboBox.Items.Add("Client");
                    roleComboBox.SelectedValue = "Client";
                    roleComboBox.IsEnabled     = false;
                    roleComboBox.Visibility    = Visibility.Hidden;
                    labelRole.Visibility       = Visibility.Hidden;


                    tabControl.SelectedIndex   = 1;
                    UserInfoTabItem.IsEnabled  = false;
                    UserInfoTabItem.Visibility = Visibility.Hidden;

                    ClientInfoTabItem.Visibility = Visibility.Visible;
                    ClientInfoTabItem.IsEnabled  = true;

                    button_Back.Visibility = Visibility.Hidden;
                    button_Back.IsEnabled  = false;

                    button_End.Content = "Apply";


                    textBox_Create_Login.Text = _clientToUpdate.Name;
                    LastNameTextBox.Text      = _clientToUpdate.LastName;
                    NameTextBox.Text          = _clientToUpdate.Name;
                    //PatronymicTextBox.Text = _clientToUpdate.Patronymic;
                    BirthdayDatePicker.SelectedDate = _clientToUpdate.Birthday;
                    MobilePhoneNumberTextBox.Text   = _clientToUpdate.Mobile;
                    EmailTextBox.Text      = _clientToUpdate.Email;
                    PassportNoTextBox.Text = _clientToUpdate.PassportNo;
                    PasswordExpirationDatePicker.SelectedDate = _clientToUpdate.PassportExpirationDate;
                    PassportIdentityNoTextBox.Text            = _clientToUpdate.PassportIdentificationNo;
                    PassportAuthorityTextBox.Text             = _clientToUpdate.PassportAuthority;
                    PlaceOfResidenceTextBox.Text    = _clientToUpdate.PlaceOfResidence;
                    RegistrationAddressTextBox.Text = _clientToUpdate.RegistrationAddress;
                }
            }
        }
 public CorsHandler(IUserBusinessComponent Instance)
 {
     _authenticationBusinessComponent = Instance;
 }
Beispiel #11
0
 public AccountController(IUserBusinessComponent Instance, IOrderBusinessComponent OrderBusinessInstance)
 {
     _businessInstance      = Instance;
     _orderBusinessInstance = OrderBusinessInstance;
 }
Beispiel #12
0
 public BaseController(IUserBusinessComponent UserInstance)
 {
     _userBusinessComponent = UserInstance;
 }
 public SimpleAuthorizationServerProvider(IUserBusinessComponent Instance)
 {
     _authenticationBusinessComponent = Instance;
 }
 private void DeleteButton_Click(object sender, RoutedEventArgs e)
 {
     MessageBoxResult messageBoxResult = MessageBox.Show("Are you sure?", "Accept Confirmation", MessageBoxButton.YesNo);
     if (messageBoxResult == MessageBoxResult.Yes)
     {
         var selectedItem = (User)UsersListView.SelectedItem;
         if (selectedItem.Role == UserRole.Client)
         {
             var clientToDelete = _clientBusinessComponent.GetByUserId(selectedItem.UserId);
             _clientBusinessComponent.Delete(clientToDelete);
             _usersList.Remove(selectedItem);
             _clientBusinessComponent = _ninjectKernel.Get<IClientBusinessComponent>();
         }
         else
         {
             if (selectedItem.Role == UserRole.Admin
                 && _userBusinessComponent.GetAll().Count(x => x.Role == UserRole.Admin) <= 1)
             {
                 MessageBox.Show("This is the last admin. Record cannot be deleted!");
             }
             else
             {
                 _userBusinessComponent.Delete(selectedItem);
                 _usersList.Remove(selectedItem);
                 _userBusinessComponent = _ninjectKernel.Get<IUserBusinessComponent>();
             }
         }
     }
 }
        public RegistrationWindow(IUserBusinessComponent userBusinessComponent, UserRole userRole,
            IClientBusinessComponent clientBusinessComponent, Client clientToUpdate)
        {
            _userBusinessComponent = userBusinessComponent;
            _clientBusinessComponent = clientBusinessComponent;
            this._clientToUpdate = clientToUpdate;
            _role = userRole;

            InitializeComponent();

            // tab 1 setup
            textBox_Create_Login.MaxLength = UserValidation.UserNameMaxLength;
            passwordBox_Create_Password.MaxLength = UserValidation.PasswordMaxLength;
            passwordBox_Create_Password_Copy.MaxLength = UserValidation.PasswordMaxLength;

            ClientInfoTabItem.IsEnabled = false;
            ClientInfoTabItem.Visibility = Visibility.Hidden;

            // tab 2 setup
            LastNameTextBox.MaxLength = ClientValidation.LastNameMaxLength;
            NameTextBox.MaxLength = ClientValidation.NameMaxLength;
            //PatronymicTextBox.MaxLength = ClientValidation.PatronymicMaxLength;
            BirthdayDatePicker.DisplayDateStart = ClientValidation.MinBirthDate;
            BirthdayDatePicker.DisplayDateEnd = ClientValidation.MaxBirthDate;
            MobilePhoneNumberTextBox.MaxLength = ClientValidation.MobileMaxLength;
            PassportNoTextBox.MaxLength = ClientValidation.PassportNoMaxLength;
            PasswordExpirationDatePicker.DisplayDateStart = ClientValidation.MinPassportExpirationDate;
            PasswordExpirationDatePicker.DisplayDateEnd = ClientValidation.MaxPassportExpirationDate;
            PassportIdentityNoTextBox.MaxLength = ClientValidation.PassportIdentityNoMaxLength;
            PassportAuthorityTextBox.MaxLength = ClientValidation.PasswordAuthorityMaxLength;
            PlaceOfResidenceTextBox.MaxLength = ClientValidation.AddressMaxLength;
            RegistrationAddressTextBox.MaxLength = ClientValidation.AddressMaxLength;

            if (_role != UserRole.Admin) // client
            {
                roleComboBox.Visibility = Visibility.Hidden;
                roleComboBox.IsEnabled = false;
                labelRole.Visibility = Visibility.Hidden;

                button_End_Tab1.Visibility = Visibility.Hidden;
                button_End_Tab1.IsEnabled = false;
                button_Next.Visibility = Visibility.Visible;
                button_Next.IsEnabled = true;
            }
            else
            {
                if (_clientToUpdate == null)
                {

                    roleComboBox.Items.Add("Client");
                    if (_role == UserRole.Admin)
                    {
                        roleComboBox.Items.Add("Operator");
                        roleComboBox.Items.Add("Security Service Employee");
                        roleComboBox.Items.Add("Admin");
                    }
                }
                else
                {
                    roleComboBox.Items.Add("Client");
                    roleComboBox.SelectedValue = "Client";
                    roleComboBox.IsEnabled = false;
                    roleComboBox.Visibility = Visibility.Hidden;
                    labelRole.Visibility = Visibility.Hidden;

                    tabControl.SelectedIndex = 1;
                    UserInfoTabItem.IsEnabled = false;
                    UserInfoTabItem.Visibility = Visibility.Hidden;

                    ClientInfoTabItem.Visibility = Visibility.Visible;
                    ClientInfoTabItem.IsEnabled = true;

                    button_Back.Visibility = Visibility.Hidden;
                    button_Back.IsEnabled = false;

                    button_End.Content = "Apply";

                    textBox_Create_Login.Text = _clientToUpdate.Name;
                    LastNameTextBox.Text = _clientToUpdate.LastName;
                    NameTextBox.Text = _clientToUpdate.Name;
                    //PatronymicTextBox.Text = _clientToUpdate.Patronymic;
                    BirthdayDatePicker.SelectedDate = _clientToUpdate.Birthday;
                    MobilePhoneNumberTextBox.Text = _clientToUpdate.Mobile;
                    EmailTextBox.Text = _clientToUpdate.Email;
                    PassportNoTextBox.Text = _clientToUpdate.PassportNo;
                    PasswordExpirationDatePicker.SelectedDate = _clientToUpdate.PassportExpirationDate;
                    PassportIdentityNoTextBox.Text = _clientToUpdate.PassportIdentificationNo;
                    PassportAuthorityTextBox.Text = _clientToUpdate.PassportAuthority;
                    PlaceOfResidenceTextBox.Text = _clientToUpdate.PlaceOfResidence;
                    RegistrationAddressTextBox.Text = _clientToUpdate.RegistrationAddress;
                }
            }
        }