public void Fogot_to_new(forgetpassword FP, string mail, string token)
 {
     using (RecrutmentsysEntities db = new RecrutmentsysEntities())
     {
         COMPANY_REGISTER_REFRENCES crr = db.COMPANY_REGISTER_REFRENCES.Where(o => o.CompanyEmailRef.Equals(mail)).FirstOrDefault();
         crr.CompanyPassword = FP.newpassword;
         db.SaveChanges();
     }
 }
        public void AddCompanyaccount(RecrutmentSignupView rsv)
        {
            using (RecrutmentsysEntities db = new RecrutmentsysEntities())
            {
                COMPANY_REGISTER CR = new COMPANY_REGISTER();
                CR.ComapanyName   = rsv.ComapanyName;
                CR.CompanyEmail   = rsv.CompanyEmail;
                CR.CompanyContect = rsv.CompanyContect;
                CR.CompanyAddress = rsv.CompanyAddress;
                db.COMPANY_REGISTER.Add(CR);
                db.SaveChanges();


                //string password = RandomString(8);

                COMPANY_REGISTER_REFRENCES CRF = new COMPANY_REGISTER_REFRENCES();
                CRF.CompanyId       = CR.CompanyId;
                CRF.CompanyEmailRef = rsv.CompanyEmail;
                CRF.CompanyPassword = rsv.CompanyPassword;
                CRF.CompanyType     = "Admin";
                CRF.ConfirmedEmail  = false;
                db.COMPANY_REGISTER_REFRENCES.Add(CRF);
                db.SaveChanges();
                rsv.ComapnyrefId = CRF.ComapanyRefId;

                //using (MailMessage mm = new MailMessage())
                //{

                //    mm.To.Add(new MailAddress(rsv.CompanyEmail));
                //    mm.From = new MailAddress("*****@*****.**");
                //    mm.Subject = "Email confirmation !";
                //   // mm.Body = "This email create is company use of term and condition <br/> Your Email:- " + rsv.CompanyEmail + " <br/> you Password:-" + password + " ";
                //    mm.Body = string.Format("Dear {0}<BR/>Thank you for your registration, please click on the below link to complete your registration: <a href=\"{1}\" title=\"User Email Confirm\">{1}</a>", CR.ComapanyName, Url.Action("ConfirmEmail", "Account", new { Token = CRF.ComapanyRefId, Email = CRF.CompanyEmailRef }, Request.Url.Scheme));
                //    mm.IsBodyHtml = true;

                //    using (SmtpClient smtp = new SmtpClient())
                //    {
                //        smtp.Host = "smtp.gmail.com";
                //        smtp.EnableSsl = true;
                //        NetworkCredential networkcred = new NetworkCredential("*****@*****.**", "connectists@57confuse");
                //        smtp.UseDefaultCredentials = true;
                //        smtp.Credentials = networkcred;
                //        smtp.Port = 587;
                //        smtp.Send(mm);


                //    }
                //}
            }
        }
        public async Task <ActionResult> ConfirmEmail(string Token, string Email)
        {
            //ApplicationUser user = this.UserManager.FindById(Token);
            using (RecrutmentsysEntities db = new RecrutmentsysEntities())
            {
                //var user = from i in db.COMPANY_REGISTER_REFRENCES
                //           where i.ComapanyRefId == Convert.ToInt32(Token)
                //           select i.CompanyEmailRef;

                //var user=db.COMPANY_REGISTER_REFRENCES.Find(Token);
                COMPANY_REGISTER_REFRENCES CRF = db.COMPANY_REGISTER_REFRENCES.Find(Convert.ToInt32(Token));

                int CRFID = CRF.ComapanyRefId;

                if (CRFID != null)
                {
                    string mail = CRF.CompanyEmailRef;
                    if (mail == Email)
                    {
                        COMPANY_REGISTER_REFRENCES crr = db.COMPANY_REGISTER_REFRENCES.Find(Convert.ToInt32(Token));
                        crr.ConfirmedEmail = true;
                        db.SaveChanges();

                        var  istrue = db.COMPANY_REGISTER_REFRENCES.Where(o => o.CompanyEmailRef.Equals(mail));
                        bool check  = Convert.ToBoolean(istrue.FirstOrDefault().ConfirmedEmail);
                        if (check == true)
                        {
                            TempData["msg"] = "Account Created ! Please Login Here";
                            return(RedirectToAction("Login", "Account"));
                        }
                        else
                        {
                            return(RedirectToAction("Confirm", "Account", new { Email = mail }));
                        }

                        //return RedirectToAction("Index", "Home", new { ConfirmedEmail = mail });
                    }
                    else
                    {
                        return(RedirectToAction("Confirm", "Account", new { Email = mail }));
                    }
                }
                else
                {
                    return(RedirectToAction("Confirm", "Account", new { Email = "" }));
                }
            }
        }
        /////if the hr or particulaer person register.

        public void AddUseraccount(UserSignup US, string LoginName)
        {
            using (RecrutmentsysEntities db = new RecrutmentsysEntities())
            {
                COMPANY_REGISTER_REFRENCES CRF = db.COMPANY_REGISTER_REFRENCES.Where(o => o.CompanyEmailRef.Equals(LoginName)).FirstOrDefault();
                COMPANY_HR_REGISTER        CHR = new COMPANY_HR_REGISTER();
                CHR.CompanyId = CRF.CompanyId;
                CHR.HrName    = US.HrName;
                CHR.HrContact = US.HrContact;
                CHR.HrEmail   = US.HrEmail;

                db.COMPANY_HR_REGISTER.Add(CHR);
                db.SaveChanges();

                string password = RandomString(8);

                COMPANY_REGISTER_REFRENCES CRR = new COMPANY_REGISTER_REFRENCES();
                CRR.CompanyId       = CHR.CompanyId;
                CRR.CompanyEmailRef = US.HrEmail;
                CRR.CompanyPassword = password;
                CRR.CompanyType     = "Other";
                db.COMPANY_REGISTER_REFRENCES.Add(CRR);
                db.SaveChanges();

                using (MailMessage mm = new MailMessage())
                {
                    mm.To.Add(new MailAddress(US.HrEmail));
                    mm.From       = new MailAddress("*****@*****.**");
                    mm.Subject    = "Your Password Genrated for by Admin!";
                    mm.Body       = "This email create is company use of term and condition <br/> Your Email:- " + US.HrEmail + " <br/> you Password:-" + password + " ";
                    mm.IsBodyHtml = true;

                    using (SmtpClient smtp = new SmtpClient())
                    {
                        smtp.Host      = "smtp.gmail.com";
                        smtp.EnableSsl = true;
                        NetworkCredential networkcred = new NetworkCredential("*****@*****.**", "connectists@57confuse");
                        smtp.UseDefaultCredentials = true;
                        smtp.Credentials           = networkcred;
                        smtp.Port = 587;
                        smtp.Send(mm);
                    }
                }
            }
        }
        // here is other user in role..check out
        public bool ISAuthorizeUserInRole(string Loginname, string rolename)
        {
            using (RecrutmentsysEntities db = new RecrutmentsysEntities())
            {
                COMPANY_REGISTER_REFRENCES CRF = db.COMPANY_REGISTER_REFRENCES.Where(o => o.CompanyEmailRef.ToLower().Equals(Loginname)).FirstOrDefault();
                if (CRF != null)
                {
                    var roles = from chr in db.COMPANY_HR_REGISTER
                                join crr in db.COMPANY_REGISTER_REFRENCES on chr.CompanyId equals crr.CompanyId
                                where crr.CompanyType.Equals(rolename) && chr.HrEmail.Equals(Loginname)
                                select chr.HrEmail;

                    if (roles != null)
                    {
                        return(roles.Any());
                    }
                }
            }

            return(false);
        }