Exemple #1
0
        public string Register(string login, string password, string name, string email)
        {
            if (string.IsNullOrEmpty(login))
            {
                return("Не заполнено имя пользователя");
            }
            IParameterCollection Params = new ParameterCollection();

            Params.Add("@login", login);
            SqlManager M           = new DersaAnonimousSqlManager();
            int        checkresult = M.ExecuteSPWithResult("DERSA_USER$Exists", false, Params);

            if (checkresult > 0)
            {
                return("Пользователь с таким логином уже зарегистрирован");
            }
            Params.Add("@email", Cryptor.Encrypt(email, Util.GetDefaultPassword()));
            checkresult = M.ExecuteSPWithResult("DERSA_USER$Exists", false, Params);
            if (checkresult > 0)
            {
                return("Пользователь с таким email уже зарегистрирован");
            }
            try
            {
                Token(login, email);
                System.Data.DataTable T = M.ExecuteSPWithParams("DERSA_USER$Register", new object[] { login, password, Cryptor.Encrypt(email, Util.GetDefaultPassword()), name });
                return("");
            }
            catch (Exception exc)
            {
                return(exc.Message);
            }
        }
Exemple #2
0
        public string Token(string login, string email = "")
        {
            ActivateStruct S      = new ActivateStruct(login, 1);
            string         JS     = JsonConvert.SerializeObject(S);
            string         result = Cryptor.Encrypt(JS, Util.GetDefaultPassword());
            string         token  = System.Web.HttpUtility.UrlEncode(result);
            SmtpClient     Smtp   = new SmtpClient("robots.1gb.ru", 25);

            Smtp.Credentials = new NetworkCredential("u483752", "5b218ad92ui");
            MailMessage Message = new MailMessage();

            Message.From = new MailAddress("*****@*****.**");
            DersaAnonimousSqlManager DM = new DersaAnonimousSqlManager();

            System.Data.DataTable T = DM.ExecuteSPWithParams("DERSA_USER$GetInfo", new object[] { login });
            if (email == "")
            {
                if (T.Rows.Count > 0)
                {
                    email = Cryptor.Decrypt(T.Rows[0]["email"].ToString(), Util.GetDefaultPassword());
                }
            }
            if (email == "")
            {
                return("Undefined email");
            }
            Message.To.Add(new MailAddress(email));
            Message.Subject = "регистрация в проекте DERSA";
            Message.Body    = string.Format("Вы успешно зарегистрировались в проекте DERSA. Для активации вашего аккаунта пройдите по ссылке: http://{0}/account/activate?token={1}", HttpContext.Current.Request.Url.Authority, token);

            try
            {
                Smtp.Send(Message);
                return("Success! Letter sent to " + email + "(robots.1gb.ru, 25) ; token = [" + token + "]");
            }
            catch (SmtpException exc)
            {
                return(exc.Message);
            }
            return("Unknown error");
        }