private void Confirmed_Active_True(DbConnectionLogin con, int DirCustomersID) { //Получаем данные клиента. Models.Login.Dir.DirCustomer dirCustomer = con.DirCustomers.Where(x => x.DirCustomersID == DirCustomersID).ToList()[0]; dirCustomer.Confirmed = true; dirCustomer.Active = true; //Меняем: Подтверждён и Активен con.Entry(dirCustomer).State = EntityState.Modified; con.SaveChanges(); }
private bool ComercialUpdate(string AdminsLogin, string AdminsPswd, bool bEncode) { Function.Variables.ConnectionString connectionString = new Function.Variables.ConnectionString(); #region Проверяем "IsNullOrEmpty" if (String.IsNullOrEmpty(AdminsLogin) && String.IsNullOrEmpty(AdminsPswd)) { return(false); } #endregion #region Декодируем Логин и Пароль if (bEncode) { Account.EncodeDecode encode = new Account.EncodeDecode(); AdminsLogin = encode.UnionDecode(AdminsLogin); AdminsPswd = encode.UnionDecode(AdminsPswd); } #endregion #region Проверяем Логин и Пароль using (DbConnectionLogin db = new DbConnectionLogin("ConnStrMSSQL")) { db.Database.Connection.Open(); var query = db.SysAdmins.Where(x => x.AdminsLogin == AdminsLogin && x.AdminsPswd == AdminsPswd && x.AdminsActive == true).ToList(); if (query.Count > 0) { return(true); } else { return(false); } } #endregion }
private bool Check_Confirmed_True(DbConnectionLogin con, int DirCustomersID) { bool ret = false; Msg = "Приносим свои извинения, но учетная запись с такими регистрационными данными не найдена! Возможно 'код подтверждения' введен не верно!"; //По умолчанию var query = ( from dirCustomers in con.DirCustomers where dirCustomers.DirCustomersID == DirCustomersID select new { Confirmed = dirCustomers.Confirmed, Email = dirCustomers.Email, Pswd = dirCustomers.Pswd, Login = dirCustomers.Login, DirLanguageID = dirCustomers.DirLanguageID } ).ToList(); if (query.Count() > 0) { if (Convert.ToBoolean(query[0].Confirmed)) { Msg = "Данная учетная запись уже подтвержена! Вы можите войти в сервис (воспользуйтесь ссылкой ниже)!"; ret = false; } else { pEMail = query[0].Email; pPswd = query[0].Pswd; pLogin = query[0].Login; pDirLanguageID = query[0].DirLanguageID.ToString(); Msg = "Ваша учетная запись подтвержена! Теперь Вы можите пользоваться всеми возможностями сервиса!"; ret = true; } } return(ret); }
//Class.Settings.Variables _var = new Class.Settings.Variables(); //Class.Functions.Functions fun = new Class.Functions.Functions(); #endregion public void ConfirmAndSendMail(string Email) { /* * using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnStrMSSQL"].ConnectionString)) * { * con.Open(); * using (SqlConnection con2 = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnStrMSSQL"].ConnectionString)) * { * con2.Open(); * * //Читаем БД * bool Confirmed = false; * using (SqlCommand cmd = new SqlCommand("SELECT DirCustomersID, Login, Pswd, DirLanguageID, Confirmed, Active FROM DirCustomers WHERE (Email LIKE @Email)", con)) * { * SQLiteParameter parEmail = new SQLiteParameter("@Email", System.Data.SqlDbType.NVarChar); cmd.Parameters.Add(parEmail).Value = Email; * using (SqlDataReader dr = cmd.ExecuteReader()) * { * while (dr.Read()) * { * DirCustomersID = Convert.ToInt32(dr["DirCustomersID"].ToString()); * Confirmed = Convert.ToBoolean(dr["Confirmed"].ToString()); * pDirLanguageID = dr["DirLanguageID"].ToString(); * * //К-во Логинов пренадлежащих введённому ЕМайлу * CountRecord++; * * SendMsg += CountRecord + ".<hr>"; * * //Пароль в сервис (из БД СкуЛайт) * if (Convert.ToBoolean(dr["Active"].ToString())) * { * //Try нужет, если нет папки с БД. * try { SQLitePswd(DirCustomersID, dr["Login"].ToString(), Convert.ToInt32(dr["DirLanguageID"].ToString())); } * catch { SendMsg += "База Данных на прфилактеке ...<br />"; } * * //Апдейтим историю * UpdateMsSQL(con2, DirCustomersID); * } * else * { * if (!Confirmed) { SendMsg += "Логин " + dr["Login"].ToString() + " <b>Не Подтверждён</b>!"; } * else SendMsg += "Логин '" + dr["Login"].ToString() + "' <b>Не Активен</b>! Возможно, Вы не заходили в сервис под эти Логином более 3-х месяцев. Если желаете разблокировать его, напишите на <a href='mailto:[email protected]'>[email protected]</a>"; * * SendMsg += "<hr>"; * } * * //Для "IdToString(pDirLanguageID)" * PartionnyAccount.Controllers.Classes.Account.RegConf regConf = new PartionnyAccount.Controllers.Classes.Account.RegConf(); * * SendMsg += "------------------------------------<br />" + * "<img src='https://intradecloud.com/images/partner_work.png' alt='Партнёрская программа' align='left' width='5%' height='5%' />" + * "<b>Партнёрская программа</b>!<br /> " + * //"Вы получаете <b>35%</b> комиссии со всех оплат клиентов, которых Вы привели.<br /> " + * * "Ваша партнерская ссылка для заработка на новых клиентах:<br /> " + * * "<a href='https://intradecloud.com/" + regConf.IdToString(pDirLanguageID) + "registration?ref=" + fun.RoundID() + DirCustomersID.ToString() + "'>" + * "https://intradecloud.com/" + regConf.IdToString(pDirLanguageID) + "registration?ref=" + fun.RoundID() + DirCustomersID.ToString() + * "</a><br /><br /> " + * * "Сcылка в панель 'Партнёрской программы':<br />" + * "<a href='https://sklad.intradecloud.com/PanelCustomers/'>https://sklad.intradecloud.com/PanelCustomers/</a>" + "(Логин=" + dr["Login"].ToString() + ", Пароль=" + dr["Pswd"].ToString() + ")<br /><br /> " + * * "Желаем Вам больших и стабильных заработков вместе с нами!<br /><br /><hr> "; * * * } * } * } * * * //Отправляем по Мейлу. * SendMail(Email); * * con2.Close(); con2.Dispose(); * } * con.Close(); con.Dispose(); * } */ using (DbConnectionLogin con = new DbConnectionLogin("ConnStrMSSQL")) { //1. Получаем список Логинов зарегистрированных на данный ЕМайл-у var query = ( from dirCustomers in con.DirCustomers where dirCustomers.Email == Email select new { DirCustomersID = dirCustomers.DirCustomersID, Login = dirCustomers.Login, Pswd = dirCustomers.Pswd, DirLanguageID = dirCustomers.DirLanguageID, Confirmed = dirCustomers.Confirmed, Active = dirCustomers.Active } ).ToList(); bool Confirmed = false; for (int i = 0; i < query.Count(); i++) { DirCustomersID = query[i].DirCustomersID; Confirmed = Convert.ToBoolean(query[i].Confirmed); pDirLanguageID = query[i].DirLanguageID.ToString(); //К-во Логинов пренадлежащих введённому ЕМайлу CountRecord++; SendMsg += CountRecord + ".<hr>"; //Пароль в сервис (из БД СкуЛайт) if (Convert.ToBoolean(query[i].Active)) { //Try нужет, если нет папки с БД. try { SQLitePswd(DirCustomersID, query[i].Login, query[i].DirLanguageID); } catch { SendMsg += "База Данных на прфилактеке ...<br />"; } //Апдейтим историю //UpdateMsSQL(con2, DirCustomersID); } else { if (!Confirmed) { SendMsg += "Логин " + query[i].Login + " <b>Не Подтверждён</b>!"; } else { SendMsg += "Логин '" + query[i].Login + "' <b>Не Активен</b>! Возможно, Вы не заходили в сервис под эти Логином более 3-х месяцев. Если желаете разблокировать его, напишите на <a href='mailto:[email protected]'>[email protected]</a>"; } SendMsg += "<hr>"; } //Для "IdToString(pDirLanguageID)" PartionnyAccount.Classes.Account.RegConf regConf = new PartionnyAccount.Classes.Account.RegConf(); /* * SendMsg += "------------------------------------<br />" + * "<img src='https://intradecloud.com/images/partner_work.png' alt='Партнёрская программа' align='left' width='5%' height='5%' />" + * "<b>Партнёрская программа</b>!<br /> " + * //"Вы получаете <b>35%</b> комиссии со всех оплат клиентов, которых Вы привели.<br /> " + * * "Ваша партнерская ссылка для заработка на новых клиентах:<br /> " + * * "<a href='https://intradecloud.com/" + regConf.IdToString(pDirLanguageID) + "registration?ref=" + regConf.RoundID() + DirCustomersID.ToString() + "'>" + * "https://intradecloud.com/" + regConf.IdToString(pDirLanguageID) + "registration/?ref=" + regConf.RoundID() + DirCustomersID.ToString() + * "</a><br /><br /> " + * * "Сcылка в панель 'Партнёрской программы':<br />" + * "<a href='https://sklad.intradecloud.com/PanelCustomers/'>https://sklad.intradecloud.com/PanelCustomers/</a>" + "(Логин=" + query[i].Login + ", Пароль=" + query[i].Pswd + ")<br /><br /> " + * * "Желаем Вам больших и стабильных заработков вместе с нами!<br /><br /><hr> "; */ } //Отправляем по Мейлу. SendMail(Email); } }
public async Task <IHttpActionResult> PostDirWebShopUO(DirWebShopUO dirWebShopUO) { #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции //Получаем Куку System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"]; // Проверяем Логин и Пароль Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true)); if (!field.Access) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10))); } //Изменяем строку соединения db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true)); //Права (1 - Write, 2 - Read, 3 - No Access) int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirWebShopUOs")); if (iRight != 1) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0)))); } //Разные Функции function.NumberDecimalSeparator(); //Получам настройки Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1); #endregion #region Проверки if (!ModelState.IsValid) { return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg91))); //return BadRequest(ModelState); } if (!dirWebShopUO.Nomen_Remains == null) { dirWebShopUO.Nomen_Remains = false; } if (!dirWebShopUO.Orders_Reserve == null) { dirWebShopUO.Orders_Reserve = false; } //Подстановки - некоторые поля надо заполнить, если они не заполены //dirWebShopUO.Substitute(); #endregion #region Сохранение try { db.Entry(dirWebShopUO).State = EntityState.Added; await Task.Run(() => db.SaveChangesAsync()); //Сохраняем Доменное имя в МС Скул using (DbConnectionLogin con = new DbConnectionLogin("ConnStrMSSQL")) { Models.Login.Dir.DirCustomer dirCustomer = await db.DirCustomers.FindAsync(field.DirCustomersID); dirCustomer.DomainName = dirWebShopUO.DomainName; con.Entry(dirCustomer).State = EntityState.Modified; con.SaveChanges(); } #region 6. JourDisp *** *** *** *** *** *** *** *** *** * Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp(); sysJourDisp.DirDispOperationID = 3; //Добавление записи sysJourDisp.DirEmployeeID = field.DirEmployeeID; sysJourDisp.ListObjectID = ListObjectID; sysJourDisp.TableFieldID = dirWebShopUO.DirWebShopUOID; sysJourDisp.Description = ""; try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { } #endregion dynamic collectionWrapper = new { ID = dirWebShopUO.DirWebShopUOID }; return(Ok(returnServer.Return(true, collectionWrapper))); //return Ok(returnServer.Return(true, "")); } catch (Exception ex) { return(Ok(returnServer.Return(false, exceptionEntry.Return(ex)))); } #endregion }
public async Task <string[]> Confirmed(string sConfirmed) { //X - типа версия кода подтверрждения (X, Y, Z, ...) //8 - левых символов //Кодирование кода DirCustomersID //8 - левых символов if (sConfirmed[0].ToString() == "X") { string sDirCustomersID = sConfirmed.Remove(0, 9); sDirCustomersID = sDirCustomersID.Remove(sDirCustomersID.Length - 8, 8); //Получаем DirCustomersID string iDirCustomersID = ""; for (int i = 0; i < sDirCustomersID.Length; i++) { iDirCustomersID += ReturnIntegerConvert(sDirCustomersID[i].ToString()).ToString(); } DirCustomersID = Convert.ToInt32(iDirCustomersID); try { if (DirCustomersID > 0) { using (DbConnectionLogin con = new DbConnectionLogin("ConnStrMSSQL")) { //Проверяем Подтверждена ли запись, если "Да", то выводм сообщение, иначе Подтверждаем if (!Check_Confirmed_True(con, DirCustomersID)) { throw new System.InvalidOperationException(Msg); } //Создание БД. Copy_Folder_DBFile(DirCustomersID); //Подтверждаем и Активируем запись и Confirmed_Active_True(con, DirCustomersID); //Отправка по Е-Мейл try { SendMail(); } catch { try { SendMail(); } catch { } } } } } catch (Exception ex) { string sMsg = ex.Message; if (sMsg.IndexOf("basic.db") > -1) { sMsg = "Unknown error ..."; } throw new System.InvalidOperationException(sMsg); } } else { throw new System.InvalidOperationException("Извините, но 'код подтверждения' введён не верно не распознан!"); } string[] ret = { pLogin, pPswd, pDirLanguageID }; return(ret); }
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); } }