Esempio n. 1
0
        public ActionResult UserAdd(Users_Model users_, HttpPostedFileBase ImageString)
        {
            if (string.IsNullOrEmpty(users_.FullName) || string.IsNullOrEmpty(users_.Email) || users_.MobileNo <= 0 || users_.UserProfileID == null)
            {
                ViewBag.AddUserError = "Error";
                return(View("Users"));
            }
            else
            {
                if (Users_Interface_.checkEmail(users_.Email) == false)
                {
                    if (Users_Interface_.checkMobileNo(users_.MobileNo) == false)
                    {
                        var    Datas             = new Users_Model();
                        string GeneratedPassword = Users_Interface_.GeneratePassword();
                        string RandomNumber      = Users_Interface_.GenerateRandomNumber();
                        var    Salt         = "SHA1" + users_.Email + "SalesTrackingSystem";
                        var    UserPassword = Crypto.SHA1(Salt + GeneratedPassword);

                        string Root           = "~/UserInformation";
                        string Email          = users_.Email;
                        string FullName       = users_.FullName;
                        string RootDir        = Server.MapPath(Root);
                        string UserDirectory  = Server.MapPath(Root + "/" + Email);
                        string ImageDirectory = Server.MapPath(Root + "/" + Email + "/" + "Images");
                        string FileDirectory  = Server.MapPath(Root + "/" + Email + "/" + "Documents");
                        var    ImageName      = "";

                        if (users_.ImageString != null)
                        {
                            ImageName = RandomNumber + Path.GetExtension(ImageString.FileName).ToString();
                        }

                        Datas.DistrubitorID = users_.DistrubitorID;
                        Datas.UserProfileID = users_.UserProfileID;
                        Datas.FullName      = users_.FullName;
                        Datas.PasswordHash  = UserPassword;
                        Datas.Email         = users_.Email;
                        Datas.MobileNo      = users_.MobileNo;
                        Datas.UsersStatus   = users_.UsersStatus;
                        Datas.ImageString   = "/UserInformation/" + Email + "/" + "Images/" + ImageName;
                        if (Users_Interface_.SaveUserAccount(Datas))
                        {
                            if (!Directory.Exists(RootDir))
                            {
                                Directory.CreateDirectory(RootDir);
                            }

                            if (!Directory.Exists(UserDirectory))
                            {
                                Directory.CreateDirectory(UserDirectory);
                                if (Directory.Exists(UserDirectory))
                                {
                                    Directory.CreateDirectory(ImageDirectory);
                                    if (ImageString != null)
                                    {
                                        string imagePath = Path.Combine(Server.MapPath(Root + "/" + Email + "/" + "Images/" + ImageName));
                                        ImageString.SaveAs(imagePath);
                                    }
                                    Directory.CreateDirectory(FileDirectory);
                                }
                            }
                        }

                        string subject        = "Account Setup!";
                        string subjectTitle   = "Account Setup";
                        string userName       = FullName;
                        string message        = "Your account has been registered to our server. Please enter <b>" + GeneratedPassword + "</b> as your password on first Login.";
                        string warningMessage = "If this wasn't you please ignore this email. Verifying the email will only activate your account.";
                        string appLink        = "https://" + Request.ServerVariables["HTTP_HOST"];
                        string copyrightDate  = DateTime.Now.Year.ToString();
                        try
                        {
                            //Configuring webMail class to send emails
                            //gmail smtp server
                            WebMail.SmtpServer = "smtp.gmail.com";

                            //gmail port to send emails
                            WebMail.SmtpPort = 587;
                            WebMail.SmtpUseDefaultCredentials = true;

                            //sending emails with secure protocol
                            WebMail.EnableSsl = true;

                            //EmailId used to send emails from application
                            WebMail.UserName = "******";
                            WebMail.Password = "******";

                            //Sender email address.
                            WebMail.From = "*****@*****.**";

                            //Send email
                            WebMail.Send(to: Email, subject: subject, body: EmailBody(subjectTitle, subject, userName, message, warningMessage, appLink, copyrightDate), isBodyHtml: true);
                            Session["Success"] = "An account has been created and email has been sent to " + Email + ".";
                            return(RedirectToAction("Users"));
                        }
                        catch (Exception)
                        {
                            Session["Error"] = "Problem while sending email but account has been created.";
                            return(View("Users"));
                        }
                    }
                    else
                    {
                        ViewBag.AddUserError = "Error";
                        Session["Error"]     = users_.MobileNo + " exists please try different  mobile number!!";
                        return(View("Users"));
                    }
                }
                else
                {
                    ViewBag.AddUserError = "Error";
                    Session["Error"]     = users_.Email + "exists please try different email !!";
                    return(View("Users"));
                }
            }
        }
        public ActionResult UpdateProfile(Users_Model users_, HttpPostedFileBase ImageString)
        {
            if (!string.IsNullOrWhiteSpace(users_.FullName) || users_.MobileNo >= 0)
            {
                /*Update*/
                var LoginSession = (Users_Model)Session["auth"];
                if (LoginSession != null)
                {
                    var Datas = new Users_Model();

                    string RandomNumber   = Users.GenerateRandomNumber();
                    string Root           = "~/UserInformation";
                    string Email          = LoginSession.Email;
                    string RootDir        = Server.MapPath(Root);
                    string UserDirectory  = Server.MapPath(Root + "/" + Email);
                    string ImageDirectory = Server.MapPath(Root + "/" + Email + "/" + "Images");
                    string FileDirectory  = Server.MapPath(Root + "/" + Email + "/" + "Documents");
                    var    ImageName      = "";

                    if (users_.ImageString != null)
                    {
                        ImageName         = RandomNumber + Path.GetExtension(ImageString.FileName).ToString();
                        Datas.ImageString = "/UserInformation/" + Email + "/" + "Images/" + ImageName;
                    }

                    Datas.UserID   = LoginSession.UserID;
                    Datas.FullName = users_.FullName;
                    Datas.MobileNo = users_.MobileNo;

                    if (Users.UpdateUserProfile(Datas))
                    {
                        if (!Directory.Exists(RootDir))
                        {
                            Directory.CreateDirectory(RootDir);
                        }
                        else
                        {
                            if (!Directory.Exists(UserDirectory))
                            {
                                Directory.CreateDirectory(UserDirectory);
                            }
                            else
                            {
                                if (Directory.Exists(UserDirectory))
                                {
                                    Directory.CreateDirectory(ImageDirectory);
                                    if (ImageString != null)
                                    {
                                        string imagePath = Path.Combine(Server.MapPath(Root + "/" + Email + "/" + "Images/" + ImageName));
                                        ImageString.SaveAs(imagePath);
                                    }
                                    Directory.CreateDirectory(FileDirectory);
                                }
                            }
                        }
                    }
                    Session["Success"] = "Profile has been Updated successfully.";
                    return(View("Setting"));
                }
                else
                {
                    Session["Warning"] = "Unauthorized access!!";
                    return(RedirectToAction("Login", "Auth"));
                }
            }
            else
            {
                /*Throw error*/
                Session["Error"] = "Full name or mobile number is not valid please try again!!";
                return(View("Setting"));
            }
        }