コード例 #1
0
        public static TutorType PrepareForConfirmation(long userId, int objEntityId, int stepId, string actUrl = "", int? lang = 1, string conStr = "")
        {
            const int MAXIMUM_PASSWORD_ATTEMPTS = 10000;
            bool includeLowercase = true;
            bool includeUppercase = true;
            bool includeNumeric = true;
            bool includeSpecial = false;
            int lengthOfPassword = 16;

            PasswordGeneratorSettings settings = new PasswordGeneratorSettings(includeLowercase, includeUppercase, includeNumeric, includeSpecial, lengthOfPassword);
            string actCode;
            if (!settings.IsValidLength())
            {
                actCode = settings.LengthErrorMessage();
            }
            else
            {
                int passwordAttempts = 0;
                do
                {
                    actCode = PasswordGenerator.GeneratePassword(settings);
                    passwordAttempts++;
                }
                while (passwordAttempts < MAXIMUM_PASSWORD_ATTEMPTS && !PasswordGenerator.PasswordIsValid(settings, actCode));

                actCode = PasswordGenerator.PasswordIsValid(settings, actCode) ? actCode : "Try again";
            }
            using (SqlConnection con = new SqlConnection(conStr))
            {
                SqlCommand cmd = new SqlCommand("sp_ManageTutor", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@Mode",
                    Value = "CheckAgreement"
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@UId",
                    Value = userId
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@ObjEntityId",
                    Value = objEntityId
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@RegistrationStepId",
                    Value = stepId
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@ActivationCode",
                    Value = actCode
                });
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                TutorType tutor = null;
                if (rdr.HasRows)
                {
                    rdr.Read();
                    tutor = new TutorType(rdr);
                }
                bool success = false;
                if (tutor != null)
                {
                    //TODO: Notify SecondaryEmail first if any.
                    string htmlString = "<html><body><h1>Dear " + tutor.FirstName + ",</h1><br/>" +
                        "<h6>Please click on the link below to confirm our business agreement:</h6><br/><br/>" +
                        "<a href='" + actUrl + "/" + tutor.UserId + "/" + actCode + "/" + stepId + "/" + lang + "'>Ready For The Interview</a></body></html>";
                    success = new EmailNotifier
                    {
                        From = "*****@*****.**",//TODO: Read from DB
                        Password = "******",//TODO: Read from DB
                        To = new string[] { tutor.Email },
                        Subject = "INTO Tutoring Agreement",
                        Body = htmlString,
                        IsBodyHtml = true,
                        SmtpServer = "smtp.gmail.com",
                        SmtpPort = 587,
                        IsSSL = true
                    }.Notify();
                }

                return tutor;
            }

        }
コード例 #2
0
        public static BLL.Tutor.Tutor SaveTutorProfile(BLL.Tutor.Tutor profile = null, string connection = "")
        {
            //sql procedure
            DataTable dt = new DataTable();
            dt.Columns.Add("Institute");
            dt.Columns.Add("Major");
            dt.Columns.Add("DegreeId");
            foreach (var item in profile.Education)
            {
                var row = dt.NewRow();
                row["Institute"] = Convert.ToString(item.Institute);
                row["Major"] = Convert.ToString(item.Major);
                row["DegreeId"] = Convert.ToInt32(item.DegreeId);

                dt.Rows.Add(row);
            }

            using (SqlConnection con = new SqlConnection(connection))
            {
                //Getting Countries
                SqlCommand cmd = new SqlCommand("sp_ManageTutor", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@Mode",
                    Value = "SaveBasicInfo"
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@RecognitionId",
                    Value = profile.Recognition
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@UId",
                    Value = profile.UserId
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@ID",
                    Value = profile.Id
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@TutorEducation",
                    Value = dt
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@Gender",
                    Value = profile.Gender
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@CancellationNotice",
                    Value = profile.CancellationNotice
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@Address",
                    Value = profile.LocationSettings.Address
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@Address2",
                    Value = profile.LocationSettings.SecondAddress
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@City",
                    Value = profile.LocationSettings.City
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@CountryId",
                    Value = profile.LocationSettings.Country.Id
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@Phone",
                    Value = profile.Phone
                });
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@DOB",
                    Value = profile.DOB.HasValue ? (profile.DOB.Value).ToString("yyyy-MM-dd") : null
                });
                //cmd.Parameters.Add(new SqlParameter()
                //{
                //    ParameterName = "@TravelRadius",
                //    Value = 8
                //});
                con.Open();
                cmd.ExecuteNonQuery();
            }
            return profile;
        }