/// <summary> /// ComputerForm UI'da Sorgula butonu ya da Tük kayıtları getir butonu tıklandığından çağrılan method. /// </summary> /// <param name="btnName"> Tıklanılan Butonun adını parametre olarak alır. Tıklanılan butona göre farklı liste oluşturur.</param> /// <param name="arananPc">Arama alanına girilen değeri parametre olarak alır.Bilgisayar arama yapılırken kullanılır ///Girilen text , AD Veritabanında Bilgisayar adı ya da bilgisayar IP'si ile eşleşme kontrolü için. /// </param> /// <returns>From üzerindeki Datagrid'in veri kaynağı olan Datatable döner.</returns> public DataTable FillGridView(string btnName, string arananPc) { List <ComputersProperties> secilenPcList = new List <ComputersProperties>(); var dataTableFill = new DataTableFill(); if (ComputerList == null) { ComputerList = GetAllComputers().ToList(); } switch (btnName) { case "AraBtn": secilenPcList = SearchSingleComputer(EnglishChar.ConvertTRCharToENChar(arananPc.ToUpper())); break; case "HepsiniGetirBtn": secilenPcList = ComputerList; break; } DataTable dataTableComputers = dataTableFill.FillDataTableWithComputers(secilenPcList); return(dataTableComputers); }
// Kullanıcı Adı textBox'ı (name.surname) otomatik olarak dolduran method. private void SurnameTxt_KeyUp(object sender, KeyEventArgs e) { if (!(String.IsNullOrEmpty(NameTxt.Text))) { UserNameTxt.Text = EnglishChar.ConvertTRCharToENChar($"{NameTxt.Text}.{SurnameTxt.Text}".ToLower()); } }
// Kullanıcı Kayıt private void SaveUserData() { ExceptionCatcher(() => { string userNameEnglishChar = EnglishChar.ConvertTRCharToENChar(UserNameTxt.Text); var userFormInputs = new UserFormInputs(NameTxt.Text, SurnameTxt.Text, userNameEnglishChar, PasswordTxt.Text, true, (comboBox1.SelectedIndex >= 0)?comboBox1.SelectedItem.ToString():null); _blUser.CreateUserAccount(userFormInputs); MessageBox.Show($"{_blUser.ResponseMessage}", "Durum", MessageBoxButtons.OK, MessageBoxIcon.Information); }); }
// Kullanıcı arama private void SearchPersonel() { ExceptionCatcher(() => { _searchedName = EnglishChar.ConvertTRCharToENChar(SearchTxt.Text.ToUpper()); IEnumerable <UsersProperties> userList = _blUser.SearchUser(_searchedName); _searchedUserDT = _blUser.SetSearchedPersonDT(userList); dataGridView1.Columns.Clear(); if (_searchedUserDT.Rows.Count == 0) { MessageBox.Show("Kayıt Bulunamadı", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Error); } dataGridView1.DataSource = _searchedUserDT; _allUserDT = new DataTable(); }); }
/// <summary> /// Aktif Dizin sunucusu veritabanında bilgisayar araması için kullanılan method.Ip ya da cihaz adına göre arama yapar. /// </summary> /// <returns>Bulunan Cihazların listesini döner.</returns> public List <ComputersProperties> SearchSingleComputer(string arananPc) { List <ComputersProperties> bulunanCihazlar = new List <ComputersProperties>(); bool isContain = false; for (int a = 0; a < ComputerList.Count; a++) { var computerPro = ComputerList[a]; isContain = EnglishChar.ConvertTRCharToENChar(computerPro.computerName.ToUpper()).Contains(arananPc) || computerPro.ipAdress.Contains(arananPc); if (isContain) { bulunanCihazlar.Add(computerPro); } } return(bulunanCihazlar); }
/// <summary> /// Actif Dizin veritabanında kullanıcı arama yapmak için kullanılır. /// </summary> /// <param name="arananKisi">UI'da girilen , aranan kullanıcının adı </param> /// <returns>Kullanıcı listesini döner.</returns> public List <UsersProperties> SearchUser(string arananKisi) { List <UsersProperties> userList = new List <UsersProperties>(); using (PrincipalContext principialCon = user.BaglantiKur()) using (UserPrincipal userPrincipial = user.SetUserPrincipial(principialCon)) { userPrincipial.Name = $"{arananKisi}*"; using (PrincipalSearcher principialSearcher = new PrincipalSearcher(userPrincipial)) { foreach (var ps in principialSearcher.FindAll().Where(x => (EnglishChar.ConvertTRCharToENChar(x.SamAccountName.ToUpper())).Contains(arananKisi))) { DirectoryEntry de = (DirectoryEntry)ps.GetUnderlyingObject(); userList.Add(GetUserProperties(de)); } } } return(userList); }