示例#1
0
 private void btnThem_Click_1(object sender, EventArgs e)
 {
     try
     {
         string   last_name = txtHoTen.Text;
         string   address   = txtQueQuan.Text;
         string   phone     = txtSDT.Text;
         string   email     = txtEmail.Text;
         DateTime birth_day = dtpNgaySinh.Value;
         id_position = (int)cbChucVu.EditValue;
         PersonBuilder personBuilder;
         if (id_position == 1)
         {
             personBuilder = new AdminBuilder();
         }
         else
         {
             personBuilder = new EmployeeBuilder();
         }
         personBuilder
         .BuildAddress(address)
         .BuildFullName(last_name)
         .BuildEamil(email)
         .BuildPhone(phone)
         .BuildBirthDate(birth_day);
         PersonBus.Instance.InsertPerson(personBuilder.getPerson());
         LoadAllEmployee();
     }
     catch (Exception ex)
     {
         XtraMessageBox.Show("Error: " + ex.Message);
     }
     ResetInput();
 }
示例#2
0
        public void AdminBuilder_Should_Build_Valid_Admin_When_Inputs_Are_Valid()
        {
            var adminBuilder = AdminBuilder.Builder()
                               .WithName("Admin1")
                               .WithEmail(Email.Create("*****@*****.**").Value)
                               .WithPassword(Password.Create(_Bytes, _Bytes).Value)
                               .Build();

            adminBuilder.IsSuccessed.Should().BeTrue();
        }
示例#3
0
        public void AdminBuilder_Should_Return_Password_Empty_Error_When_Password_Is_Empty()
        {
            var adminBuilder = AdminBuilder.Builder()
                               .WithName("Admin")
                               .WithEmail(Email.Create("*****@*****.**").Value)
                               .WithPassword(null)
                               .Build();

            adminBuilder.IsSuccessed.Should().BeFalse();
            adminBuilder.GetErrorString().Should().Be(AdminBuilder.Password_Should_Not_Be_Empty);
        }
示例#4
0
        public void AdminBuilder_Should_Return_Email_Empty_Error_When_Email_Is_Empty()
        {
            var adminBuilder = AdminBuilder.Builder()
                               .WithName("Admin")
                               .WithEmail(null)
                               .WithPassword(Password.Create(_Bytes, _Bytes).Value)
                               .Build();

            adminBuilder.IsSuccessed.Should().BeFalse();
            adminBuilder.GetErrorString().Should().Be(AdminBuilder.Email_Should_Not_Be_Empty);
        }
示例#5
0
        public void AdminBuilder_Should_Return_Full_Name_Empty_Error_When_Name_Is_Empty()
        {
            var adminBuilder = AdminBuilder.Builder()
                               .WithName("")
                               .WithEmail(Email.Create("*****@*****.**").Value)
                               .WithPassword(Password.Create(_Bytes, _Bytes).Value)
                               .Build();

            adminBuilder.IsSuccessed.Should().BeFalse();
            adminBuilder.GetErrorString().Should().Be(AdminBuilder.FullName_Should_Not_Be_Empty);
        }
示例#6
0
        public AuthenticationControllerTests()
        {
            byte[] randomByteArray = new byte[32];
            Random random          = new Random();

            random.NextBytes(randomByteArray);

            admin = AdminBuilder.Builder()
                    .WithName("Admin1")
                    .WithEmail(Email.Create("*****@*****.**").Value)
                    .WithPassword(Password.Create(randomByteArray, randomByteArray).Value)
                    .Build().Value;
        }
示例#7
0
 private void buttonDangKy_Click(object sender, EventArgs e)
 {
     if (tbSEX.Text == "" || tbDC.Text == "" || tbID.Text == "" || tbMK.Text == "" || tbNV.Text == "" || tbTK.Text == "")
     {
         MessageBox.Show("Xin hãy điền đầy đủ thông tin!!!");
     }
     else
     {
         try
         {
             if (comboBoxLoaiTK.Text == "admin")
             {
                 //nv.themnvn(tbID.Text, tbTK.Text, tbMK.Text, tbLTK.Text, tbNV.Text, tbDC.Text, tbSEX.Text, ref err);
                 NhanVienBuiderDirectory buiderDirectory = new NhanVienBuiderDirectory();
                 AdminBuilder            adminBuilder    = new AdminBuilder();
                 controllerNhanVien      adminnhanvien   = buiderDirectory.Construct(adminBuilder, tbID.Text, tbTK.Text, tbMK.Text, tbNV.Text, tbDC.Text, tbSEX.Text);
                 if (nv.themnvn(adminnhanvien, ref err))
                 {
                     MessageBox.Show("Đã thêm xong rồi nè, hihi");
                 }
             }
             else if (comboBoxLoaiTK.Text == "thuthu")
             {
                 //nv.themnvn(tbID.Text, tbTK.Text, tbMK.Text, tbLTK.Text, tbNV.Text, tbDC.Text, tbSEX.Text, ref err);
                 NhanVienBuiderDirectory buiderDirectory = new NhanVienBuiderDirectory();
                 ThuThuBuilder           thuThuBuilder   = new ThuThuBuilder();
                 controllerNhanVien      thuthunhanvien  = buiderDirectory.Construct(thuThuBuilder, tbID.Text, tbTK.Text, tbMK.Text, tbNV.Text, tbDC.Text, tbSEX.Text);
                 if (nv.themnvn(thuthunhanvien, ref err))
                 {
                     MessageBox.Show("Đã thêm xong rồi nè, hihi");
                 }
             }
             else if (comboBoxLoaiTK.Text == "docgia")
             {
                 //nv.themnvn(tbID.Text, tbTK.Text, tbMK.Text, tbLTK.Text, tbNV.Text, tbDC.Text, tbSEX.Text, ref err);
                 NhanVienBuiderDirectory buiderDirectory = new NhanVienBuiderDirectory();
                 DocGiaBuilder           docGiaBuilder   = new DocGiaBuilder();
                 controllerNhanVien      docgianhanvien  = buiderDirectory.Construct(docGiaBuilder, tbID.Text, tbTK.Text, tbMK.Text, tbNV.Text, tbDC.Text, tbSEX.Text);
                 if (nv.themnvn(docgianhanvien, ref err))
                 {
                     MessageBox.Show("Đã thêm xong rồi nè, hihi");
                 }
             }
         }
         catch (SqlException)
         {
             MessageBox.Show("Bị lỗi khi thêm rồi !!!");
         }
     }
 }
示例#8
0
        public void RegisterAdminSites(IServiceProvider serviceProvider)
        {
            //IServiceScopeFactory _serviceScopeFactory = _serviceProvider.GetRequiredService<IServiceScopeFactory>();
            //using (var scope = _serviceScopeFactory.CreateScope())
            //{
            //    var provider = scope.ServiceProvider;

            var assemblies             = DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts(Globals.EntryPointAssembly);
            var adminConfiguratorTypes = assemblies.GetDerivedTypeInfos(typeof(IAdminConfigurator));

            //assemblies.GetDerivedTypeInfos(typeof(IAdminConfigurator))[0].GetInterfaces()[1].IsGenericType

            foreach (var adminConfiguratorType in adminConfiguratorTypes)
            {
                var          acInterface   = adminConfiguratorType.GetInterfaces().FirstOrDefault(i => i.IsGenericType);
                var          dbContextType = acInterface?.GetGenericArguments().FirstOrDefault();
                var          hasDbContext  = dbContextType != null;
                IAdminSite   adminSite;
                AdminBuilder adminBuilder;

                /**
                 * 1. Crete AdminSite instance
                 * 2. Create AdminConfigurator instance
                 * 3. Invoke IAdminConfigurator.ConfigureAdmin and pass adminSite as argument
                 */

                if (hasDbContext)
                {
                    using var contextObj = (DbContext)serviceProvider.GetRequiredService(dbContextType);
                    adminSite            = new AdminSite(serviceProvider, contextObj /*, serviceProvider.GetRequiredService<IModelMetadataProvider>()*/);
                    adminBuilder         = new AdminBuilder(adminSite);

                    if (!contextObj.Database.CanConnect())
                    {
                        throw new InvalidOperationException($"Database is not exist for {dbContextType}, create a database and try again");
                    }

                    ConfigureAdminSites(adminConfiguratorType, adminSite, adminBuilder);
                }
                else
                {
                    adminSite    = new AdminSite(serviceProvider /*, serviceProvider.GetRequiredService<IModelMetadataProvider>()*/);
                    adminBuilder = new AdminBuilder(adminSite);
                    ConfigureAdminSites(adminConfiguratorType, adminSite, adminBuilder);
                }
            }
        }
示例#9
0
        static void Main(string[] args)
        {
            var adminBuilder = new AdminBuilder("Eric");
            var assemble     = new AssembleUser();

            assemble.Construct(adminBuilder);

            IUser adminUser = adminBuilder.User;

            UserManagement adminUserManagement = new UserManagement(adminUser);
            IUser          agentUser           = adminUserManagement.CreateUser(new Agent("Taylor"), true);

            adminUserManagement.CanSchedulePostsAndCampaings(agentUser);


            Console.ReadLine();
        }
示例#10
0
        private void btnSua_Click_1(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Bạn có muốn cập nhật nhân vien!", "Cập nhật nhân viên", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                try
                {
                    string        last_name = txtHoTen.Text;
                    string        address   = txtQueQuan.Text;
                    string        phone     = txtSDT.Text;
                    string        email     = txtEmail.Text;
                    DateTime      birth_day = dtpNgaySinh.Value;
                    PersonBuilder personBuilder;
                    if (id_position == 1)
                    {
                        personBuilder = new AdminBuilder();
                    }
                    else
                    {
                        personBuilder = new EmployeeBuilder();
                    }
                    personBuilder
                    .BuildAddress(address)
                    .BuildFullName(last_name)
                    .BuildEamil(email)
                    .BuildPhone(phone)
                    .BuildBirthDate(birth_day);

                    PersonBus.Instance.UpdatePerson(personBuilder.getPerson(), id_employee);
                    XtraMessageBox.Show("Cập nhật nhân viên thành công!", "Cập nhật nhân viên");
                    LoadAllEmployee();
                }
                catch (Exception ex)
                {
                    XtraMessageBox.Show("Error: " + ex.Message);
                }
                ResetInput();
            }
        }
示例#11
0
        public static List <Admin> GetAdmins(IHashingService hashingService)
        {
            var salt           = hashingService.GenerateSalt();
            var password       = "******";
            var hashedPassword = hashingService.GetHash(password, salt);
            var admins         = new List <Admin>
            {
                AdminBuilder.Builder()
                .WithEmail(Email.Create("*****@*****.**").Value)
                .WithName("Admin Pearup")
                .WithPassword(Password.Create(hashedPassword, salt).Value)
                .Build().Value,

                AdminBuilder.Builder()
                .WithEmail(Email.Create("*****@*****.**").Value)
                .WithName("Admin2 Pearup")
                .WithPassword(Password.Create(hashedPassword, salt).Value)
                .Build().Value,
            };

            return(admins);
        }
示例#12
0
        private void ConfigureAdminSites(TypeInfo adminConfiguratorType, IAdminSite adminSite, AdminBuilder adminBuilder)
        {
            var objAdminConfigurator = Activator.CreateInstance(adminConfiguratorType);
            var genericInterface     = typeof(IAdminConfigurator);
            //var adminConfiguratorInterface = genericInterface.MakeGenericType(dbContextType);
            var configureAdminMethodInfo = genericInterface.GetMethod("ConfigureAdmin");

            configureAdminMethodInfo.Invoke(objAdminConfigurator, new object[] { adminBuilder });
            _adminConfigStore.GetOrAdd(adminConfiguratorType.AsType(), adminSite);
        }