Example #1
0
        public async Task <ActionResult> ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByEmailAsync(model.Email);

                if (user == null && !(await UserManager.IsEmailConfirmedAsync(user.Id)))
                {
                    // Don't reveal that the user does not exist or is not confirmed
                    return(View("ForgotPasswordConfirmation"));
                }
                else
                {
                    string code = UserManager.GeneratePasswordResetToken(user.Id);
                    string To = model.Email, UserID, Password, SMTPPort, Host;

                    //Create URL with above token
                    //  var lnkHref = "<a href='" + Url.Action("ResetPassword", "Account", new {code = user.UserName }, "http") + "'>Reset Password</a>";
                    var    request = HttpContext.Request;
                    string lnkHref = "<a href='" + HttpContext.Request.Url.Scheme + "://" +
                                     HttpContext.Request.Url.Authority +
                                     HttpContext.Request.Url.Segments[0] +
                                     HttpContext.Request.Url.Segments[1] +
                                     "ResetPassword?code=" + user.UserName + "'>Reset Password</a>";



                    //HTML Template for Send email
                    string subject = "Your changed password";
                    string body    = "<b>Please find the Password Reset Link. </b><br/>" + lnkHref;
                    //Get and set the AppSettings using configuration manager.
                    EmailManager.AppSettings(out UserID, out Password, out SMTPPort, out Host);
                    //Call send email methods.
                    EmailManager.SendEmail(UserID, subject, body, To, UserID, Password, SMTPPort, Host);

                    return(View("ForgotPasswordConfirmation"));
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public async Task <ActionResult> UserRegister(RegisterModel model, HttpPostedFileBase Upload, string cbxRequestType)
        {
            DataTable dtUsers = new DataTable();

            ViewBag.CompanyName = model.CompanyName;
            string UploadFileName = "";

            model.RequestType = cbxRequestType;
            if (cbxRequestType == "Individual")
            {
                model.Upload              = "No File";
                model.PasswordName        = model.Password;
                model.ConfirmPasswordName = model.ConfirmPassword;
                if (ModelState.IsValid)
                {
                    // Attempt to register the user
                    var user = new ApplicationUser {
                        UserName = model.UserName, Email = model.Email, CompanyName = model.CompanyName
                    };
                    var result = await UserManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        Models.DBContext dbContext = new Models.DBContext();
                        Models.UserRoles usr       = new Models.UserRoles();

                        usr.UserId      = model.UserName;
                        usr.Role        = model.Roles.Replace("Planner", "Player");
                        usr.CompanyName = model.CompanyName;
                        usr.Email       = model.Email;

                        dbContext.UserRoles.Add(usr);
                        dbContext.SaveChanges();

                        try
                        {
                            // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                            // Send an email with this link
                            string EMail = ConfigurationManager.AppSettings.Get("EmailID");
                            string To = model.Email, UserID, Password, SMTPPort, Host;

                            var    request = HttpContext.Request;
                            string lnkHref = "<a href='" + HttpContext.Request.Url.Scheme + "://" +
                                             HttpContext.Request.Url.Authority +
                                             "'> " + "link" + "</a>";

                            //HTML Template for Send email
                            string subject = "Login Created";
                            string body    = "<b>Dear " + model.UserName + ", </b><br/><br/>";
                            body = body + "<b>Your login credentials created, Kindly change the pasword at the earliest" + lnkHref + "</b><br/>";
                            body = body + "<b>User Name :  " + model.UserName + "</b><br/>";;
                            body = body + "<b>Password :  "******"</b><br/>";;
                            body = body + "<br/><br/><b>Thanks,</b><br/>" + "<b>" + model.CompanyName + "Team.</b>";

                            //Get and set the AppSettings using configuration manager.
                            EmailManager.AppSettings(out UserID, out Password, out SMTPPort, out Host);

                            //Call send email methods.
                            EmailManager.SendEmail(UserID, subject, body, To, UserID, Password, SMTPPort, Host);
                        }
                        catch (Exception ex)
                        {
                            UploadFileName += model.UserName + " email not sent to this user(" + ex.Message + ")\n";
                        }
                    }
                    else
                    {
                        UploadFileName += result.Errors.First() + "\n";
                    }

                    if (UploadFileName == "")
                    {
                        UploadFileName = "User Successfuly loaded.";
                    }
                    ViewBag.ErrorMessage = UploadFileName;
                }
            }
            else if (cbxRequestType == "Mass")
            {
                string fname;

                // Checking for Internet Explorer
                if (Request.Browser.Browser.ToUpper() == "IE" || Request.Browser.Browser.ToUpper() == "INTERNETEXPLORER")
                {
                    string[] testfiles = Upload.FileName.Split(new char[] { '\\' });
                    fname = testfiles[testfiles.Length - 1];
                }
                else
                {
                    fname = Upload.FileName;
                }

                // Get the complete folder path and store the file inside it.
                fname = Path.Combine(Server.MapPath("~/App_Data/Uploads/"), fname);
                Upload.SaveAs(fname);

                ExcelAPI API = new ExcelAPI();
                API.CreateDataTableFromExcel(fname, dtUsers);

                foreach (DataRow dr in dtUsers.Rows)
                {
                    model.UserName        = dr["Name"].ToString();
                    model.Email           = dr["Email"].ToString();
                    model.Roles           = dr["Roles"].ToString();
                    model.Password        = model.PasswordName;
                    model.ConfirmPassword = model.ConfirmPasswordName;

                    // Attempt to register the user
                    var user = new ApplicationUser {
                        UserName    = dr["Name"].ToString(),
                        Email       = dr["Email"].ToString(),
                        CompanyName = model.CompanyName
                    };
                    var result = await UserManager.CreateAsync(user, model.PasswordName);

                    if (result.Succeeded)
                    {
                        Models.DBContext dbContext = new Models.DBContext();
                        Models.UserRoles usr       = new Models.UserRoles();

                        usr.UserId      = model.UserName;
                        usr.Role        = model.Roles.Replace("Planner", "Player");
                        usr.CompanyName = model.CompanyName;
                        usr.Email       = model.Email;

                        dbContext.UserRoles.Add(usr);
                        dbContext.SaveChanges();

                        try
                        {
                            // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                            // Send an email with this link
                            string EMail = ConfigurationManager.AppSettings.Get("EmailID");
                            string To = model.Email, UserID, Password, SMTPPort, Host;

                            var    request = HttpContext.Request;
                            string lnkHref = "<a href='" + HttpContext.Request.Url.Scheme + "://" +
                                             HttpContext.Request.Url.Authority +
                                             "'> " + "link" + "</a>";

                            //HTML Template for Send email
                            string subject = "Login Created";
                            string body    = "<b>Dear " + model.UserName + ", </b><br/><br/>";
                            body = body + "<b>Your login credentials created, Kindly change the pasword at the earliest" + lnkHref + "</b><br/>";
                            body = body + "<b>User Name :  " + model.UserName + "</b><br/>";;
                            body = body + "<b>Password :  "******"</b><br/>";;
                            body = body + "<br/><br/><b>Thanks,</b><br/>" + "<b>" + model.CompanyName + "Team.</b>";

                            //Get and set the AppSettings using configuration manager.
                            EmailManager.AppSettings(out UserID, out Password, out SMTPPort, out Host);

                            //Call send email methods.
                            EmailManager.SendEmail(UserID, subject, body, To, UserID, Password, SMTPPort, Host);
                        }
                        catch (Exception ex)
                        {
                            UploadFileName += model.UserName + " email not sent to this user(" + ex.Message + ")\n";
                        }
                    }
                    else
                    {
                        UploadFileName += result.Errors.First() + "\n";
                    }
                }
                if (UploadFileName == "")
                {
                    UploadFileName = "Users Successfuly loaded.";
                }
                ViewBag.ErrorMessage = UploadFileName;
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Example #3
0
        public async Task <ActionResult> Register(RegisterModel model, string cbxDataPrivacy)
        {
            if (cbxDataPrivacy == "on")
            {
                Models.DBContext      dbContext = new Models.DBContext();
                Models.CompanyDetails cmp       = new Models.CompanyDetails();
                var FindCompany = (from d in dbContext.Company
                                   where d.CompanyName == model.CompanyName
                                   select new { d.CompanyName }).ToList();

                if (ModelState.IsValid)
                {
                    // Attempt to register the user

                    if (FindCompany.Count == 0)
                    {
                        var user = new ApplicationUser {
                            UserName = model.UserName, Email = model.Email, CompanyName = model.CompanyName
                        };
                        var result = await UserManager.CreateAsync(user, model.Password);

                        if (result.Succeeded)
                        {
                            cmp.CompanyName = user.CompanyName;
                            cmp.EmailID     = user.Email;
                            cmp.UserName    = user.UserName;
                            cmp.Logo        = null;
                            dbContext.Company.Add(cmp);
                            dbContext.SaveChanges();

                            await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                            // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                            // Send an email with this link
                            string EMail = ConfigurationManager.AppSettings.Get("EmailID");
                            string To = EMail, UserID, Password, SMTPPort, Host;

                            var    request = HttpContext.Request;
                            string lnkHref = "<a href='" + HttpContext.Request.Url.Scheme + "://" +
                                             HttpContext.Request.Url.Authority +
                                             "/Home/ApprovalList/?CustRegId=" + user.Id +
                                             "'>" + "Approval link" + "</a>";

                            //HTML Template for Send email
                            string subject = "Request for Approval of subscription";
                            string body    = "<b>Dear Admin, </b><br/><br/>";
                            body = body + "<b>Kindly Approve The Customer: " + user.CompanyName + "&nbsp; Request for enrollement.</b><br/>" + "<b>Please find the Customers list </b>&nbsp; : " + lnkHref;
                            body = body + "<br/><br/><b>Thanks,</b><br/>" + "<b>Mcbitss Team.</b>";

                            //Get and set the AppSettings using configuration manager.
                            EmailManager.AppSettings(out UserID, out Password, out SMTPPort, out Host);

                            //Call send email methods.
                            EmailManager.SendEmail(UserID, subject, body, To, UserID, Password, SMTPPort, Host);

                            return(Redirect("/"));
                        }

                        ViewBag.ErrorMessage = result.Errors.First();
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "Company details are already added";
                    }
                }
            }
            else
            {
                ViewBag.ErrorMessage = "Please accept data privacy policy && Terms";
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public async Task <ActionResult> Register(RegisterModel model, string cbxDataPrivacy)
        {
            if (cbxDataPrivacy == "on")
            {
                Models.DBContext      dbContext = new Models.DBContext();
                Models.CompanyDetails cmp       = new Models.CompanyDetails();
                var FindCompany = (from d in dbContext.Company
                                   where d.CompanyName == model.CompanyName
                                   select new { d.CompanyName }).ToList();

                string wcCompanyName = ConfigurationManager.AppSettings["wcCompanyName"].ToString();
                var    INI           = (from ini in dbContext.InitializeTables
                                        where ini.Authentication.ToUpper() == "WINDOWS" && ini.CompanyName == wcCompanyName
                                        select ini).FirstOrDefault();
                if (INI != null)
                {
                    string[] WindowsUser    = Request.LogonUserIdentity.User.ToString().Split('\\');
                    string   WindowUserName = WindowsUser[0];
                    if (WindowsUser.Length >= 2)
                    {
                        WindowUserName = WindowsUser[1];
                    }
                    model.UserName = WindowUserName;
                }

                if (ModelState.IsValid)
                {
                    // Attempt to register the user
                    if (FindCompany.Count == 0)
                    {
                        var user = new ApplicationUser {
                            UserName    = model.UserName,
                            Email       = model.Email,
                            CompanyName = model.CompanyName
                        };
                        var result = await UserManager.CreateAsync(user, model.Password);

                        if (result.Succeeded)
                        {
                            cmp.CompanyName = user.CompanyName;
                            cmp.EmailID     = user.Email;
                            cmp.UserName    = user.UserName;
                            cmp.Logo        = null;
                            dbContext.Company.Add(cmp);

                            Models.UserRoles usr = new Models.UserRoles();
                            usr.UserId      = model.UserName;
                            usr.Role        = model.Roles;
                            usr.CompanyName = user.CompanyName;
                            usr.Email       = model.Email;
                            dbContext.UserRoles.Add(usr);
                            dbContext.SaveChanges();

                            using (SqlCommand cmd = new SqlCommand())
                            {
                                cmd.CommandType    = CommandType.StoredProcedure;
                                cmd.CommandTimeout = 0;
                                cmd.CommandText    = "PROC_CONFIGURE_COMPANY";

                                cmd.Parameters.Add("@CURRENT_COMPANY", SqlDbType.VarChar, 500).Value   = ConfigureCompany;
                                cmd.Parameters.Add("@CONFIGURE_COMPANY", SqlDbType.VarChar, 500).Value = user.CompanyName;

                                Common csobj = new Common();
                                csobj.SPReturnDataTable(cmd);
                            }


                            await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                            // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                            // Send an email with this link
                            string EMail = ConfigurationManager.AppSettings.Get("EmailID");
                            string To = model.Email, UserID, Password, SMTPPort, Host;

                            var    request = HttpContext.Request;
                            string lnkHref = "<a href='" + HttpContext.Request.Url.Scheme + "://" +
                                             HttpContext.Request.Url.Authority +
                                             "/Home/ApprovalList/?CustRegId=" + user.Id +
                                             "'>" + "Approval link" + "</a>";

                            //HTML Template for Send email
                            string subject = "Request for Approval of subscription";
                            string body    = "<b>Dear Admin, </b><br/><br/>";
                            body = body + "<b>Kindly Approve The Customer: " + user.CompanyName + "&nbsp; Request for enrollement.</b><br/>" + "<b>Please find the Customers list </b>&nbsp; : " + lnkHref;
                            body = body + "<br/><br/><b>Thanks,</b><br/>" + "<b>Mcbitss Team.</b>";

                            //Get and set the AppSettings using configuration manager.
                            EmailManager.AppSettings(out UserID, out Password, out SMTPPort, out Host);

                            //Call send email methods.
                            EmailManager.SendEmail(UserID, subject, body, To, UserID, Password, SMTPPort, Host);

                            return(Redirect("~/"));
                        }

                        ViewBag.ErrorMessage = result.Errors.First();
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "Company details are already added";
                    }
                }
            }
            else
            {
                ViewBag.ErrorMessage = "Please accept data privacy policy && Terms";
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }