示例#1
0
 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();
 }
示例#2
0
        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
        }
示例#3
0
        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);
        }
示例#4
0
        //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);
            }
        }
示例#5
0
        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
        }
示例#6
0
        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);
        }
示例#7
0
        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);
            }
        }