public bool Add(Password pass) { List <Password> passwords = GetAllByUsers(pass.UserID); passwords = passwords.OrderByDescending(a => a.CreatedDate).Take(3).ToList(); if (passwords.FirstOrDefault(a => a.PasswordText == pass.PasswordText) != null) { throw new Exception("Son üç şifreden farklı olmalıdır."); } Delete(passwords.First()); pass.IsActive = true; pass.CreatedDate = DateTime.Now; return(_passwordDAL.Add(pass) > 0); }
public bool Add(Password pass) { List <Password> passwords = GetAllByUser(pass.UserID); passwords = passwords.OrderByDescending(a => a.CreatedDate).Take(3).ToList();//sıralama en sondan başa doğru yapıp 3 ünü aldık if (passwords.FirstOrDefault(a => a.PasswordText == pass.PasswordText) != null) { throw new Exception("Son 3 şifreden farklı bir şifre giriniz"); } if (passwords.FirstOrDefault() != null) { Delete(passwords.First()); //patlama riski var } Delete(passwords.First()); pass.IsActive = true; pass.CreatedDate = DateTime.Now; return(_passwordDAL.Add(pass) > 0); }
public bool Add(Password pass) { List <Password> passwords = GetAllByUser(pass.UserID); passwords = passwords.OrderByDescending(a => a.CreatedDate).Take(3).ToList(); if (passwords.FirstOrDefault(a => a.PasswordText == pass.PasswordText) != null) { throw new Exception("Son 3 şifreden farklı bir şifre giriniz!"); } if (passwords.FirstOrDefault() != null) { Delete(passwords.First()); //burada patlayacak mı? } pass.IsActive = true; pass.CreatedDate = DateTime.Now; return(_passwordDAL.Add(pass) > 0); }
public bool Add(Password password) { List <Password> passwords = GetAllByUser(password.UserID); passwords = passwords.OrderByDescending(a => a.CreatedDate).Take(3).ToList(); if (passwords.FirstOrDefault(a => a.PasswordText == password.PasswordText) != null) { throw new Exception("Son 3 Şifreden farklı bir şifre giriniz.!"); } if (passwords.FirstOrDefault() != null) //varsa silsin yoksa silmeye çalışıp patlamasın.! { Delete(passwords.First()); } password.IsActive = true; password.CreatedDate = DateTime.Now; return(_passwordDAL.Add(password) > 0); }