예제 #1
0
        public void btnBlock_Click(Object sender, EventArgs e)
        {
            var id            = Page.Request.Params["id"];
            var userInSession = (Users)Session["userinsession"];
            var user          = new Users
            {
                ID     = Convert.ToInt32(id),
                Status = 3
            };

            user.Update(userInSession.ID, OtherMethods.GetIPAddress(), "ClientEdit");
            user.GetById();
            var emailNotification = new EmailNotifications {
                Name = "account_blocked"
            };

            emailNotification.GetByName();
            EmailMethods.MailSendHTML(
                emailNotification.Title,
                string.Format(emailNotification.Body,
                              BackendHelper.TagToValue("current_app_address"),
                              BackendHelper.TagToValue("not_official_name"),
                              BackendHelper.TagToValue("main_phones")),
                user.Email,
                true);
            Page.Response.Redirect(Request.RawUrl);
        }
예제 #2
0
        public void btnActivate_Click(Object sender, EventArgs e)
        {
            var id      = Page.Request.Params["id"];
            var regUser = new Users {
                ID = Convert.ToInt32(id)
            };
            var userInSession = (Users)Session["userinsession"];
            //var newPassword = OtherMethods.CreateUniqId(DateTime.Now.ToString("yyMdHms"));
            var user = new Users
            {
                ID            = Convert.ToInt32(id),
                Status        = 2,
                ActivatedDate = DateTime.Now,
                Password      = regUser.Password
            };

            user.Update(userInSession.ID, OtherMethods.GetIPAddress(), "ClientEdit");
            user.GetById();
            var emailNotification = new EmailNotifications {
                Name = "account_activated"
            };

            emailNotification.GetByName();
            EmailMethods.MailSendHTML(
                emailNotification.Title,
                string.Format(emailNotification.Body,
                              user.Login,
                              regUser.Password,
                              BackendHelper.TagToValue("official_name"),
                              BackendHelper.TagToValue("current_app_address"),
                              BackendHelper.TagToValue("not_official_name")),
                user.Email, true);
            Page.Response.Redirect(Request.RawUrl);
        }
예제 #3
0
        public void btnSendPrice_Click(Object sender, EventArgs e)
        {
            var id = Page.Request.Params["id"];

            //читаем старый файл
            if (!Directory.Exists(HttpContext.Current.Server.MapPath("~/Temp/SendedPrices/")))
            {
                Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/Temp/SendedPrices/"));
            }
            var fileName = "Прайс " + BackendHelper.TagToValue("official_name") + " (" + OtherMethods.CreateUniqId(id + DateTime.Now.ToString("hh:mm:ssttzz")) + ").xls";
            var dataFile = HttpContext.Current.Server.MapPath("~/Temp/SendedPrices/" + fileName);
            var dm       = new DataManager();

            //получаем данные отправителя прайса из сотрудников
            var userInSession   = (Users)Session["userinsession"];
            var emailSenderData = new Users()
            {
                ID = userInSession.ID
            };

            emailSenderData.GetById();

            var ds = new DataSet();
            var ifUserHaveAssignSection = dm.QueryWithReturnDataSet(String.Format("SELECT * FROM `userstocategory` WHERE `UserID` = {0}", id));

            if (ifUserHaveAssignSection.Tables[0].Rows.Count == 0)
            {
                ds = dm.QueryWithReturnDataSet(
                    "SELECT Name as 'Наименование', " +
                    "MarginCoefficient as 'Юр. лицо', " +
                    "MarginCoefficient as 'Физ. лицо', " +
                    "MarginCoefficient as 'Физ. лица в скид.' " +
                    "FROM `titles` ORDER BY `Name`");
            }
            else
            {
                ds = dm.QueryWithReturnDataSet(String.Format(
                                                   "SELECT C.Name as 'Наименование', " +
                                                   "C.MarginCoefficient as 'Юр. лицо', " +
                                                   "C.MarginCoefficient as 'Физ. лицо', " +
                                                   "C.MarginCoefficient as 'Физ. лица в скид.' " +
                                                   "FROM `titles` C WHERE C.`CategoryID` IN (SELECT `CategoryID` FROM `userstocategory` WHERE `UserID` = {0})  ORDER BY C.`Name`", id));
            }
            var goodList    = new List <GoodsFromAPI>();
            var goods       = new GoodsFromAPI();
            var tableToSend = "<table class='table' style='width: 100%; border-collapse: collapse;'><tr>" +
                              "<th style='border: 1px solid #666666; padding: 3px 6px; text-align: left;'>Наименование</th>" +
                              "<th style='border: 1px solid #666666; padding: 3px 6px;'>ЮЛ/ТТН</th>" +
                              "<th style='border: 1px solid #666666; padding: 3px 6px;'>ФЛ/Регион</th>" +
                              "<th style='border: 1px solid #666666; padding: 3px 6px;'>ФИЗ. Л. регион/область</th>" +
                              "</tr>";

            foreach (DataRow row in ds.Tables[0].Rows)
            {
                goodList.Clear();
                goods.Description   = row[0].ToString();
                goods.Number        = 1;
                goods.IsAdditional  = 0;
                goods.WithoutAkciza = 0;
                goods.Coefficient   = 0;
                goodList.Add(goods);


                row[1]       = Calculator.Calculate(goodList, 187, Convert.ToInt32(id), null, "2"); //за обычный город берем Петриков
                row[2]       = Calculator.Calculate(goodList, 187, Convert.ToInt32(id), null, "1"); //за обычный город берем Петриков
                row[3]       = Calculator.Calculate(goodList, 16, Convert.ToInt32(id), null, "1");  //за скидочный город берем Гродно
                tableToSend += string.Format("<tr>" +
                                             "<td style='border: 1px solid #666666; padding: 3px 6px; text-align: left;'>{0}</td>" +
                                             "<td style='border: 1px solid #666666; padding: 3px 6px;'>{1}</td>" +
                                             "<td style='border: 1px solid #666666; padding: 3px 6px;'>{2}</td>" +
                                             "<td style='border: 1px solid #666666; padding: 3px 6px;'>{3}</td>" +
                                             "</tr>", row[0], MoneyMethods.MoneySeparator(row[1].ToString()), MoneyMethods.MoneySeparator(row[2].ToString()), MoneyMethods.MoneySeparator(row[3].ToString()));
            }
            tableToSend += "</table>";
            DataRow emptyRow = ds.Tables[0].NewRow();
            DataRow newRow   = ds.Tables[0].NewRow();

            newRow[0] = String.Format("Наш {5}: {1} {2}, тел.: {0}, email: {3}, skype: {4}", emailSenderData.PhoneWorkOne, emailSenderData.Name, emailSenderData.Family, emailSenderData.Email, emailSenderData.Skype, userInSession.RussRole.ToLower());
            ds.Tables[0].Rows.Add(emptyRow);
            ds.Tables[0].Rows.Add(newRow);
            ds.Tables[0].TableName = "Прайс " + BackendHelper.TagToValue("not_official_name");

            Workbook book = Workbook.Load(HttpContext.Current.Server.MapPath("~/" + BackendHelper.TagToValue("comprop_tpl_file_name")));

            AddDataTableToWorkBook(ds.Tables[0], ref book);
            var user = new Users()
            {
                ID = Convert.ToInt32(id)
            };

            user.GetById();
            book.Save(dataFile);
            var emailNotification = new EmailNotifications {
                Name = "comprop_message"
            };

            emailNotification.GetByName();
            EmailMethods.MailSendHTML(
                string.Format(emailNotification.Title, BackendHelper.TagToValue("not_official_name")),
                string.Format(emailNotification.Body,
                              emailSenderData.PhoneWorkOne,
                              emailSenderData.Name,
                              emailSenderData.Family,
                              emailSenderData.Email,
                              emailSenderData.Skype,
                              tableToSend,
                              userInSession.RussRole.ToLower(),
                              BackendHelper.TagToValue("official_name"),
                              BackendHelper.TagToValue("current_app_address"),
                              BackendHelper.TagToValue("not_official_name")),
                user.Email,
                dataFile,
                true);

            Session["flash:now"] = "<span style='color: green; font-size: bold'>Прайс отправлен!</span>";
            Page.Response.Redirect("~/ManagerUI/Menu/Souls/ClientEdit.aspx?id=" + id);
        }
예제 #4
0
        public void btnSendComProp_Click(Object sender, EventArgs e)
        {
            //читаем старый файл
            if (!Directory.Exists(HttpContext.Current.Server.MapPath("~/Temp/SendedPrices/")))
            {
                Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/Temp/SendedPrices/"));
            }
            var fileName = "Прайс " + BackendHelper.TagToValue("not_official_name") + " (" + OtherMethods.CreateUniqId(tbEmail.Text + DateTime.Now.ToString("hh:mm:ssttzz")) + ").xls";
            var dataFile = HttpContext.Current.Server.MapPath("~/Temp/SendedPrices/" + fileName);
            var dm       = new DataManager();

            //получаем данные отправителя прайса из сотрудников
            var userInSession   = (Users)Session["userinsession"];
            var emailSenderData = new Users()
            {
                ID = userInSession.ID
            };

            emailSenderData.GetById();

            var categoryIds         = string.Empty;
            var haveCheckedCategory = false;

            foreach (var items in lvAllCategory.Items)
            {
                var hfCategoryId = (HiddenField)items.FindControl("hfCategoryId");
                var cbCategory   = (CheckBox)items.FindControl("cbCategory");
                if (cbCategory.Checked)
                {
                    categoryIds        += string.Format("{0},", hfCategoryId.Value);
                    haveCheckedCategory = true;
                }
            }

            DataSet ds;

            if (!haveCheckedCategory)
            {
                ds = dm.QueryWithReturnDataSet(
                    "SELECT Name as 'Наименование', " +
                    "MarginCoefficient as 'Юр. лицо', " +
                    "MarginCoefficient as 'Физ. лицо', " +
                    "MarginCoefficient as 'Физ. лица в скид.' " +
                    "FROM `titles` ORDER BY `Name`");
            }
            else
            {
                categoryIds = categoryIds.Remove(categoryIds.Length - 1, 1);
                ds          = dm.QueryWithReturnDataSet(String.Format(
                                                            "SELECT C.Name as 'Наименование', " +
                                                            "C.MarginCoefficient as 'Юр. лицо', " +
                                                            "C.MarginCoefficient as 'Физ. лицо', " +
                                                            "C.MarginCoefficient as 'Физ. лица в скид.' " +
                                                            "FROM `titles` C WHERE C.`CategoryID` IN ({0})  ORDER BY C.`Name`", categoryIds));
            }
            var goodList    = new List <GoodsFromAPI>();
            var goods       = new GoodsFromAPI();
            var tableToSend = "<table class='table' style='width: 100%; border-collapse: collapse;'><tr>" +
                              "<th style='border: 1px solid #666666; padding: 3px 6px; text-align: left;'>Наименование</th>" +
                              "<th style='border: 1px solid #666666; padding: 3px 6px;'>По РБ</th>" +
                              "<th style='border: 1px solid #666666; padding: 3px 6px;'>По Минску</th>" +
                              "</tr>";

            List <ModelSortingCosts> table_list = new List <ModelSortingCosts>();
            DataTable sortedDS = new DataTable();

            sortedDS.Columns.Add(string.Format("Наименование", 0), typeof(string));
            sortedDS.Columns.Add(string.Format("Дверь/Дверь", 1), typeof(string));
            sortedDS.Columns.Add(string.Format("Склад/Дверь", 2), typeof(string));
            sortedDS.Columns.Add(string.Format("По Минску", 3), typeof(string));

            foreach (DataRow row in ds.Tables[0].Rows)
            {
                ModelSortingCosts row_list = new ModelSortingCosts();

                goodList.Clear();
                goods.Description   = row[0].ToString();
                goods.Number        = 1;
                goods.IsAdditional  = 0;
                goods.WithoutAkciza = 0;
                goods.Coefficient   = 0;
                goodList.Add(goods);

                row_list.name      = row[0].ToString();
                row_list.costDD    = Calculator.Calculate(goodList, 187, 1, 239, "1", null, null, true);
                row_list.costSD    = Calculator.Calculate(goodList, 187, 1, 239, "1");
                row_list.costMinsk = Calculator.Calculate(goodList, 11, 1, 239, "1");

                table_list.Add(row_list);
            }
            table_list = table_list.OrderBy(x => x.costSD).ToList();
            foreach (ModelSortingCosts model in table_list)
            {
                DataRow dsRow = sortedDS.NewRow();
                dsRow[0] = model.name;
                dsRow[1] = model.costDD;
                dsRow[2] = model.costSD;
                dsRow[3] = model.costMinsk;
                sortedDS.Rows.Add(dsRow);
            }

            foreach (ModelSortingCosts row in table_list)
            {
                tableToSend += string.Format("<tr>" +
                                             "<td style='border: 1px solid #666666; padding: 3px 6px; text-align: left;'>{0}</td>" +
                                             "<td style='border: 1px solid #666666; padding: 3px 6px;'>{1}</td>" +
                                             "<td style='border: 1px solid #666666; padding: 3px 6px;'>{2}</td>" +
                                             "</tr>", row.name, MoneyMethods.MoneySeparator(row.costDD.ToString()), MoneyMethods.MoneySeparator(row.costSD.ToString()), MoneyMethods.MoneySeparator(row.costMinsk.ToString()));
            }
            tableToSend += "</table>";
            DataRow emptyRow = sortedDS.NewRow();
            DataRow newRow   = sortedDS.NewRow();

            newRow[0] = String.Format("тел.: {0}, email: {3}, skype: {4}", emailSenderData.PhoneWorkOne, emailSenderData.Name, emailSenderData.Family, emailSenderData.Email, emailSenderData.Skype, userInSession.RussRole.ToLower());
            sortedDS.Rows.Add(emptyRow);
            sortedDS.Rows.Add(newRow);
            sortedDS.TableName = "Прайс" + BackendHelper.TagToValue("not_official_name");

            Workbook book = Workbook.Load(HttpContext.Current.Server.MapPath("~/OtherFiles/" + BackendHelper.TagToValue("comprop_tpl_file_name")));

            AddDataTableToWorkBook(sortedDS, ref book);
            book.Save(dataFile);
            var emailNotification = new EmailNotifications {
                Name = "comprop_guest_message"
            };

            emailNotification.GetByName();
            EmailMethods.MailSendHTML(tbSubject.Text, string.Format(emailNotification.Body,
                                                                    emailSenderData.PhoneWorkOne,
                                                                    emailSenderData.Name,
                                                                    emailSenderData.Family,
                                                                    emailSenderData.Email,
                                                                    emailSenderData.Skype,
                                                                    tableToSend,
                                                                    userInSession.RussRole.ToLower(),
                                                                    BackendHelper.TagToValue("official_name"),
                                                                    BackendHelper.TagToValue("current_app_address"),
                                                                    BackendHelper.TagToValue("not_official_name")),
                                      tbEmail.Text,
                                      dataFile,
                                      false);

            Session["flash:now"] = "<span style='color: white;'>Комерческое предложение успешно отправлено на e-mail <b>" + tbEmail.Text + "</b>!</span>";
            Page.Response.Redirect("~/ManagerUI/Menu/Documents/SendComProp.aspx");
        }