我卡住的情況下,我想爲給定的用戶名生成密碼。技術迭代通過名字,姓氏創建用戶名
我從用戶的輸入通過文本框爲FirstName和LastName,由用戶的姓氏+ firstname的第一個字母創建一個用戶名。對於e.x.,如果用戶的名字是'Ronald'並且姓氏是'Test',那麼我將數據庫中的用戶名添加爲'Testr'。但是,如果我對其他用戶有相同的姓氏和名字具有相同的名稱作爲數據庫中現有的用戶開始,我加名字的前兩個字母是這樣 -
if (entities.Users.Any(a => a.LastName == tbLname.Text && a.FirstName.StartsWith(fname)))
username = (tbLname.Text + tbFname.Text.Substring(0,2)).ToLower();
現在的問題是,這僅適用於前兩個字母與名字相匹配的情況。如果我有3個甚至4個名字匹配,該怎麼辦?我沒有線索如何檢查剩餘的字符有一個唯一的用戶名。
有關如何實現這一點的任何想法? 在此先感謝。
你有什麼規則,如果用戶有相同的名字和姓氏作爲另一個用戶?如果發生這種情況,你的應用程序就會中斷 –
你可能不得不重新考慮這一點。您將無法每次都基於姓氏和名字動態生成用戶名,因爲您永遠無法知道您可能擁有多少匹配的名稱。也許第一次生成一個用戶名,然後相應地存儲它。 –
爲什麼不只是做一個檢查,看看他們是否是相同的用戶名,然後附加一個增量數字呢?因此,第一個將是'Testr',第二個將是'Testr1'等。 – MyCodeSucks