public ActionResult Registration([Bind(Exclude = "IsEmailVerified,ActivationCode")] Subscriber_Table subscriber) { bool Status = false; string message = ""; StreamWriter stream = null; //Model Validation if (ModelState.IsValid) { #region Email is already existing var isExist = IsEmailExist(subscriber.email); if (isExist) { ModelState.AddModelError("EmailExist", "Email already exist"); return(View(subscriber)); } #endregion #region Activation Code Generation subscriber.ActivationCode = Guid.NewGuid(); #endregion #region Password Hashing subscriber.password = Crypto.Hash(subscriber.password); subscriber.confirmpassword = Crypto.Hash(subscriber.confirmpassword); #endregion subscriber.IsEmailVerified = false; #region Save data to database using (PostEntity pe = new PostEntity()) { pe.Subscriber_Table.Add(subscriber); try { pe.SaveChanges(); } catch (DbEntityValidationException dbEx) { stream = new StreamWriter(@"D:\Exception.txt"); foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { stream.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } stream.Close(); } finally { //stream.Close(); } //Send Email to user SendVerificationLinkEmail(subscriber.email, subscriber.ActivationCode.ToString()); message = "Registration successfully done. Account activation link has been sent to your emailid " + subscriber.email; Status = true; } #endregion } else { message = "Invalid request"; } ViewBag.Message = message; ViewBag.Status = Status; return(View(subscriber)); }
public ActionResult GenerateUserReport(string answer, string inp, Subscriber_Table si, Post_Table ai, TestUser u) { if (answer != null) { DbAccessEntity te = new DbAccessEntity(); var testsub = (from p in te.Subscriber_Table join t in te.Test_Table on p.userid equals t.UserId where p.userid == inp select new { ID = p.userid, Domain = t.DomainID, Score = t.Score, Technology = t.TechnologyID, TesTID = t.TestId, }).ToList(); int i = 0; foreach (var p in testsub) { u.Name = p.ID; u.Domain[i] = p.Domain; u.UserId[i] = p.ID; u.Score[i] = p.Score; u.TestId[i] = p.TesTID; if (u.Score[i] <= (0.4) * 10) { u.fail = u.fail + 1; } else { u.pass = u.pass + 1; } i++; } u.counttest = i; var artsubq = (from p in te.Subscriber_Table join e in te.Post_Table on p.userid equals e.userid where p.userid == inp select new { ID = p.userid, Name = p.name, Title = e.title, Rating = e.rating, Technology = e.technology }).ToList(); i = 0; double sum = 0; foreach (var p in artsubq) { u.Title[i] = p.Title; u.Technologylist[i] = p.Technology; i++; } u.countarticle = i; if (u.countarticle > 0) { u.averagerating = (sum / u.countarticle); } else { u.averagerating = 0; } return(View(u)); } return(View()); }