public bool RegisterEmailCodeCombination(string Email) { var db = UserCodeDbContext.getInstance().getItemDb(); var code = new UserCode(); code.Email = Email; code.Key = "" + GenerateRandomNo(); code.RegisteredAt = DateTime.Now; db.Add(code); UserCodeDbContext.getInstance().db.SaveChanges(); var mailbody = string.Format( "Dear {0}, <br/><br/>" + "<p>Here is your registration verification code: {1}</p>" + "<p>Geminis CMS Team</p>", code.Email, code.Key ); var subject = string.Format( "[Geminis] Registration Verification Code" ); EmailHelper.SendEmail(new List <string> { code.Email }, mailbody, subject); return(true); }
public bool VerifyEmailCodeCombination(string Email, string Code) { var db = UserCodeDbContext.getInstance().db; var itemDb = UserCodeDbContext.getInstance().getItemDb(); // find existing non-completed code with correct email + code combination // if exists , then complete it, and return true // otherwise return false var codes = itemDb.Where(c => c.Email == Email && c.Key == Code).ToList(); if (codes.Count <= 0) { return(false); } foreach (var code in codes) { //if (code.isExpired()) //{ // continue; //} if (code.Completed) { continue; } db.Entry(code).State = EntityState.Modified; code.Completed = true; db.SaveChanges(); return(true); } return(false); }