//Текст отправляемый клиенту, который зарегистрировался public static string txtRegistrationMail(PartionnyAccount.Models.Login.Dir.DirCustomer dirCustomers, int iLang) { //Формируем код подтверждения используя ID-шник, только, что созданой записи: //DirCustomersID - ридумать алгоритм работы! Classes.Function.FunctionMSSQL.RandomSymbol randomSymbol1 = new Classes.Function.FunctionMSSQL.RandomSymbol(); Classes.Function.FunctionMSSQL.RandomSymbol randomSymbol2 = new Classes.Function.FunctionMSSQL.RandomSymbol(); Classes.Function.FunctionMSSQL.RandomSymbol randomSymbol3 = new Classes.Function.FunctionMSSQL.RandomSymbol(); string Link = "X" + randomSymbol1.ReturnRandom(8) + randomSymbol2.ReturnInteger(dirCustomers.DirCustomersID.ToString()) + randomSymbol3.ReturnRandom(8); //X - типа версия кода подтверрждения (X, Y, Z, ...) //8 - левых символов //Кодирование кода DirCustomersID //8 - левых символов string _Data = ""; switch (iLang) { case 1: _Data = "Здравствуйте, Мы благодарим Вас за регистрацию в ВТорговомОблаке. " + "Для завершения регистрации Вам надо её подтвердить:<br /><br />" + "<a href='https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "'>https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "</a><br /><br />" + "Или на странице: <a href='https://sklad.intradecloud.com/account/regconf/'>https://sklad.intradecloud.com/account/regconf/</a><br />" + "ввести код подтверждения: " + Link + "<br /><br /><br />" + "Мы всегда готовы ответить на ваши вопросы:<br /> " + "[email protected]<br /> " + "МТС: +38-050-950-96-49<br /><br /> " + "С уважением команда сервиса ВТорговомОблаке.<br /> " + "http://www.intradecloud.com/<br /> " + "https://www.facebook.com/intradecloud.com<br /> " + "https://vk.com/intradecloud<br /> "; break; case 2: _Data = "Вітаю, Ми дякуємо Вам за реєстрацію в ВТорговомОблаке. " + "Для завершення реєстрації Вам треба її підтвердити:<br /><br />" + "<a href='https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "'>https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "</a><br /><br />" + "Або на сторінці: <a href='https://sklad.intradecloud.com/account/regconf/'>https://sklad.intradecloud.com/account/regconf/</a><br />" + "ввести код підтвердження: " + Link + "<br /><br /><br />" + "Ми завжди готові відповісти на ваші запитання:<br /> " + "[email protected]<br /> " + "МТС: +38-050-950-96-49<br /><br /> " + "З повагою команда сервісу ВТорговомОблаке.<br /> " + "http://www.intradecloud.com/<br /> " + "https://www.facebook.com/intradecloud.com<br /> " + "https://vk.com/intradecloud<br /> "; break; case 3: _Data = "Hello, Thank you for registering InTradeCloud. " + "To complete registration, you need to confirm it:<br /><br />" + "<a href='https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "'>https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "</a><br /><br />" + "Or on the page: <a href='https://sklad.intradecloud.com/account/regconf/'>https://sklad.intradecloud.com/account/regconf/</a><br />" + "enter the verification code: " + Link + "<br /><br /><br />" + "We are always ready to answer your questions:<br /> " + "[email protected]<br /> " + "МТС: +38-050-950-96-49<br /><br /> " + "Sincerely service team InTradeCloud.<br /> " + "http://www.intradecloud.com/<br /> " + "https://www.facebook.com/intradecloud.com<br /> " + "https://vk.com/intradecloud<br /> "; break; default: _Data = "Здравствуйте, Мы благодарим Вас за регистрацию в ВТорговомОблаке. " + "Для завершения регистрации Вам надо её подтвердить:<br /><br />" + "<a href='https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "'>https://sklad.intradecloud.com/account/regconf/?Confirmed=" + Link + "</a><br /><br />" + "Или на странице: <a href='https://sklad.intradecloud.com/account/regconf/'>https://sklad.intradecloud.com/account/regconf/</a><br />" + "ввести код подтверждения: " + Link + "<br /><br /><br />" + "Мы всегда готовы ответить на ваши вопросы:<br /> " + "[email protected]<br /> " + "МТС: +38-050-950-96-49<br /><br /> " + "С уважением команда сервиса ВТорговомОблаке.<br /> " + "http://www.intradecloud.com/<br /> " + "https://www.facebook.com/intradecloud.com<br /> " + "https://vk.com/intradecloud<br /> "; break; } return(_Data); }
private bool mRegistration(Models.Login.Dir.DirCustomerReg dirCustomerReg, int iLanguage) { //Для записи в БД, т.к. использовать "dirCustomerReg" нельзя! Models.Login.Dir.DirCustomer dirCustomer = new Models.Login.Dir.DirCustomer(); if (dirCustomerReg != null && ModelState.IsValid) { try { using (DbConnectionLogin con = new DbConnectionLogin("ConnStrMSSQL")) { #region Проверка // на существования такого логина int iCount = ( ( from dirCustomers in con.DirCustomers where dirCustomers.Login == dirCustomerReg.Login select dirCustomers.Login ).Concat ( from dirLoginNot in con.DirLoginNot where dirLoginNot.Login == dirCustomerReg.Login select dirLoginNot.Login ) ).Count(); if (iCount > 0) { con.Database.Connection.Close(); ViewData["Msg"] = Classes.Language.Login.Language.msg1(iLanguage); return(false); } // на существования такого реферала if (dirCustomerReg.Refer != 0) { int iCountRefer = ( from DirCustomers in con.DirCustomers where dirCustomerReg.DirCustomersID == dirCustomerReg.Refer select dirCustomerReg.Login ).Count(); if (iCountRefer == 0) { dirCustomerReg.Refer = 0; } } #endregion #region Сохраняем //Формирование пароля Classes.Function.FunctionMSSQL.RandomSymbol randomSymbol = new Classes.Function.FunctionMSSQL.RandomSymbol(); dirCustomerReg.Pswd = randomSymbol.ReturnRandom(10); //Переносим данные в "нужную" модель: dirCustomerReg => dirCustomer dirCustomer.DirCustomersDate = DateTime.Now; dirCustomer.Email = dirCustomerReg.Email; dirCustomer.Login = dirCustomerReg.Login; dirCustomer.DomainName = dirCustomerReg.Login; dirCustomer.Pswd = dirCustomerReg.Pswd; dirCustomer.Telefon = dirCustomerReg.Telefon; dirCustomer.FIO = dirCustomerReg.FIO; dirCustomer.DirLanguageID = dirCustomerReg.DirLanguageID; dirCustomer.DirCountryID = dirCustomerReg.DirCountryID; dirCustomer.Refer = dirCustomerReg.Refer; dirCustomer.SendMail = false; dirCustomer.Active = false; dirCustomer.Pay = true; dirCustomer.Confirmed = false; con.Entry(dirCustomer).State = EntityState.Added; try { con.SaveChanges(); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { //sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } throw new System.Data.Entity.Validation.DbEntityValidationException( //"Entity Validation Failed - errors follow:\n" + sb.ToString(), ex ); // Add the original exception as the innerException } /*catch (Exception ex) * { * throw new System.InvalidOperationException(ex.Message); * }*/ #endregion } #region Отправка письма на E-Mail try { //Текс на русском string sSendTest = Classes.Language.Login.Language.txtRegistrationMail(dirCustomer, iLanguage); Classes.Function.FunctionMSSQL.FunMailSend funMailSend = new Classes.Function.FunctionMSSQL.FunMailSend(); //Отправка клиенту funMailSend.SendTo_OtherEMail(Classes.Language.Login.Language.msg2(iLanguage), sSendTest, dirCustomer.Email); //Отправка себе try { funMailSend.SendTo_ESklad24(Classes.Language.Login.Language.msg2(iLanguage), "E-Mail: " + dirCustomer.Email + ", Login: "******"<br />" + Classes.Language.Login.Language.msg2(iLanguage) + "<hr />" + sSendTest); } catch { } } catch (Exception ex) { ViewData["Msg"] = Classes.Language.Login.Language.msg4(iLanguage) + ex.Message + ""; ViewData["Title"] = Classes.Language.Login.Language.msg5(iLanguage); return(true); } #endregion using (DbConnectionLogin con = new DbConnectionLogin("ConnStrMSSQL")) { #region Пишем в БД, что Мейл отправлен (SendMail=true) dirCustomer.SendMail = true; con.Entry(dirCustomer).State = EntityState.Modified; con.SaveChanges(); #endregion } } catch (Exception ex) { string sMsg = exceptionEntry.Return(ex); ViewData["Msg"] = Classes.Language.Login.Language.error(iLanguage) + ": <br />" + sMsg + "<br /> " + Classes.Language.Login.Language.msg6(iLanguage) + ": <a href='mailto:[email protected]' rel='nofollow'>[email protected]</a>"; return(false); } ViewData["Title"] = Classes.Language.Login.Language.msg5(iLanguage); ViewData["Msg"] = Classes.Language.Login.Language.msg7(iLanguage); return(true); } else { return(false); } }