Esempio n. 1
0
        public object Recover()
        {
            string key     = Guid.NewGuid().ToString().Replace('-', '0');
            var    token   = HttpContext.Current.Request.Form["Api_Token"];
            var    user    = db.Users.Where(p => p.Api_Token == token).FirstOrDefault();
            var    recover = db.UserRecover.Where(p => p.Status == false && p.User.Id == user.Id).FirstOrDefault();

            if (recover != null)
            {
                var diff = (DateTime.Now - recover.Time);
                if (diff.Days <= 1)
                {
                    return(new { Message = 1 });
                }
            }
            UserRecover r = new UserRecover();

            r.Time   = DateTime.Now;
            r.User   = user;
            r.Key    = key;
            r.Status = false;
            db.UserRecover.Add(r);

            Setting   setting = db.Settings.FirstOrDefault();
            SendEmail s       = new Utility.SendEmail(setting);

            db.SaveChanges();
            var list = new List <string>();

            list.Add(user.Email);
            db.SaveChanges();

            try
            {
                s.Send("<h3>" + setting.SiteName + "<h3>" + "<br/>" + "تغییر رمز عبور<br> برروی <a target='_blank' href='" + setting.Domain + "/User/RecoverUser/" + key + "'>این لینک</a> جهت تغییر رمز عبور کلیک کنید <br/><b> چنانچه شما درخواستی برای تغییر رمز عبور خود صادر نکرده اید، به این ایمیل بی توجه باشید</b>", "لینک فعالسازی", list);
            }
            catch
            {
            }
            return(new { Message = 0 });
        }
Esempio n. 2
0
        public object Register()
        {
            string Fullname    = HttpContext.Current.Request.Form["Fullname"];
            string Password    = HttpContext.Current.Request.Form["Password"];
            string Email       = HttpContext.Current.Request.Form["Email"];
            string Address     = HttpContext.Current.Request.Form["Address"];
            string PhoneNumber = HttpContext.Current.Request.Form["PhoneNumber"];
            string Mobile      = HttpContext.Current.Request.Form["Mobile"];
            string PostalCode  = HttpContext.Current.Request.Form["PostalCode"];

            var setting = db.Settings.FirstOrDefault();

            if (db.Users.Any(p => p.Email == Email))
            {
                return(new
                {
                    Message = 1,
                });
            }
            if (db.Users.Any(p => p.Mobile == Mobile))
            {
                return(new
                {
                    Message = 2,
                });
            }
            Role r    = db.Roles.Where(p => p.RoleNameEn == "Member").FirstOrDefault();
            var  user = new User();

            user.Role = r;



            user.Status = true;


            user.LinkStatus = false;

            SendEmail    s   = new Utility.SendEmail(setting);
            string       key = Guid.NewGuid().ToString().Replace('-', '0').Substring(0, 4);
            ConfirmEmail c   = new ConfirmEmail();

            c.Key  = key;
            c.User = user;
            db.ConfirmEmails.Add(c);


            user.Api_Token   = Guid.NewGuid().ToString().Replace('-', '0').Substring(0, 4);
            user.Password    = DevOne.Security.Cryptography.BCrypt.BCryptHelper.HashPassword(Password, DevOne.Security.Cryptography.BCrypt.BCryptHelper.GenerateSalt());
            user.Email       = Email;
            user.Fullname    = Fullname;
            user.Address     = Address;
            user.PhoneNumber = PhoneNumber;
            db.Users.Add(user);
            SendServiceClient sms = new SmsService.SendServiceClient();

            long[] recId  = null;
            byte[] status = null;
            int    res    = sms.SendSMS("m.atrincom.com", "61758", "10009611", new string[] { user.Mobile.ToString() }, c.Key, false, ref recId, ref status);

            sms.Close();
            if (res == 0)
            {
                db.SaveChanges();
            }
            else
            {
                return new
                       {
                           Message = "امکان ثبت نام وجود ندارد"
                       }
            };
            db.SaveChanges();
            return(new
            {
                Message = 0
            });
        }