public void RecoverPassword(string email, string appLang) { var user = _db.user.FirstOrDefault(t => t.Email == email); if (user == null) { throw new MyException(Errors.UserNotFound); } var password = StringTransformationProvider.GeneratePassword(); user.Password = StringTransformationProvider.Md5(password); _db.SaveChanges(); var tenant = user.tenant.FirstOrDefault(); if (tenant != null) { MailProvider.SendMailRecoveryPassword(password, tenant.FirstName, tenant.MiddleName, user.Email, appLang); return; } else { var guide = user.guide.FirstOrDefault(); if (guide != null) { MailProvider.SendMailRecoveryPassword(password, guide.FirstName, guide.MiddleName, user.Email, appLang); return; } else { var journalist = user.journalist.FirstOrDefault(); if (journalist != null) { MailProvider.SendMailRecoveryPassword(password, journalist.FirstName, journalist.MiddleName, user.Email, appLang); return; } else { var editor = user.editor.FirstOrDefault(); if (editor != null) { MailProvider.SendMailRecoveryPassword(password, editor.FirstName, editor.MiddleName, user.Email, appLang); return; } else { MailProvider.SendMailRecoveryPassword(password, "", "", user.Email, appLang); return; } } } } }