public static Pharmacist SendPharmacistToken(string email, string token) { using (var service = new PharmacistService()) { var pharmacist = service.GetWhere(PharmacistService.EmailCol == email).FirstOrDefault(); if (pharmacist != null) { using (var tokenService = new PharmacistTokenService()) { var storedToken = tokenService.GetWhere(PharmacistTokenService.PharmacistCodeCol == pharmacist.Code).FirstOrDefault(); if (storedToken == null) { tokenService.Create(new PharmacistToken(pharmacist, token)); } else { storedToken.Token = token; storedToken.Expires = DateTime.Now.ToUniversalTime().AddHours(Config.TokenDuration); tokenService.Update(storedToken); } } AddSystemAdminToken(email, token); TwilioService.SendSMSMessage(pharmacist.Phone, "Please enter this token to login: " + token); } return(pharmacist); } }
public static Pharmacist VerifyPharmacistToken(string token) { using (var service = new PharmacistTokenService()) { var pharmacistToken = service.GetWhere(PharmacistTokenService.TokenCol == token).FirstOrDefault(); if (pharmacistToken != null && pharmacistToken.Expires > DateTime.Now.ToUniversalTime()) { return(pharmacistToken.Pharmacist); } return(null); } }
public static bool ResetPharmacistPassword(string token, Pharmacist pharmacist, byte[] newPasswordHash) { using (var service = new PharmacistTokenService()) { var pharmacistToken = service.GetWhere(PharmacistTokenService.TokenCol == token).FirstOrDefault(); if (pharmacistToken != null && pharmacist != null && pharmacistToken.Expires > DateTime.Now.ToUniversalTime() && pharmacistToken.Pharmacist.Code == pharmacist.Code) { service.Delete(pharmacistToken.Code); using (var pharmacistService = new PharmacistService()) { pharmacist.PasswordHash = newPasswordHash; pharmacistService.Update(pharmacist); } return(true); } return(false); } }