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));
        }
Esempio n. 2
0
        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());
        }