public void GetMoney(string query)
        {
            var searchString = query;
            var dm           = new DataManager();
            var eur          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedEUR`) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var usd          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedUSD`) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var rur          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedRUR`) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);

            var allInBLR        = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM((`ReceivedUSD`*`CourseUSD`)+(`ReceivedRUR`*`CourseRUR`)+(`ReceivedEUR`*`CourseEUR`)) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allGruzobozCost = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(`GruzobozCost`) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allAssessedCost = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(`AssessedCost` + `DeliveryCost`) " + searchString + " AND `AgreedCost` = 0").Tables[0].Rows[0][0], CultureInfo.CurrentCulture);

            //если нет согласованных стоимостей - записываем ее равной 0
            var allAgreedCostString =
                Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(`AgreedCost` + `DeliveryCost`) " + searchString +
                                                           " AND `AgreedCost` > 0").Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allAgreedCost = !String.IsNullOrEmpty(allAgreedCostString) ? allAgreedCostString : "0";

            double allAssessedCostValue = 0.0;

            Double.TryParse(allAssessedCost, out allAssessedCostValue);

            double allAgreedCostValue = 0.0;

            Double.TryParse(allAgreedCost, out allAgreedCostValue);


            var allAgreedAssessedCostValue = allAssessedCostValue + allAgreedCostValue;
            //к выдаче

            double allGruzobozCostValue = 0.0;

            Double.TryParse(allGruzobozCost, out allGruzobozCostValue);

            double allInBLRValue = 0.0;

            Double.TryParse(allInBLR, out allInBLRValue);

            var overToIssuance       = allAgreedAssessedCostValue - allGruzobozCostValue - allInBLRValue;
            var overToIssuanceString = String.Empty;

            if (overToIssuance > 0)
            {
                overToIssuanceString = "<b>" + MoneyMethods.MoneySeparator(overToIssuance.ToString()) + "</b> BLR;";
            }
            else
            {
                overToIssuanceString = "<b>0</b> BLR (+ забрать у клиента <span style =\"color: red; font-weight: bold;\">" + MoneyMethods.MoneySeparator(overToIssuance.ToString().Replace("-", "")) + "</span> BLR);";
            }

            lblReceivedBLRUser.Text = overToIssuanceString;


            lblReceivedEUROver.Text = lblReceivedEURUser.Text = MoneyMethods.MoneySeparator(eur);
            lblReceivedRUROver.Text = lblReceivedRURUser.Text = MoneyMethods.MoneySeparator(rur);
            lblReceivedUSDOver.Text = lblReceivedUSDUser.Text = MoneyMethods.MoneySeparator(usd);

            lblReceivedBLROverWithCourse.Text = MoneyMethods.MoneySeparator(allInBLR);
            lblOverGruzobozCost.Text          = MoneyMethods.MoneySeparator(allGruzobozCost);
        }
示例#2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            AppKey = Globals.Settings.AppServiceSecureKey;
            var controlTicketID = String.Empty;
            var idListString    = Request.QueryString["id"];

            if (!String.IsNullOrEmpty(idListString))
            {
                var deliveryCost = 0.00;

                List <string> idList    = idListString.Split('-').ToList();
                var           sqlString = String.Empty;
                foreach (var id in idList)
                {
                    sqlString       = sqlString + "T.ID = " + id + " OR ";
                    controlTicketID = id;

                    double cost;
                    if (double.TryParse(MoneyMethods.AgreedAssessedDeliveryCosts(id.ToString()), out cost))
                    {
                        deliveryCost += cost;
                    }
                }
                var fullSqlString = "SELECT * FROM `tickets` as T JOIN `city` as C on T.CityID = C.ID WHERE " + sqlString.Remove(sqlString.Length - 3) + "ORDER BY C.Name ASC";
                var dm            = new DataManager();
                var dataset       = dm.QueryWithReturnDataSet(fullSqlString);
                lblGruzobozCost.Text = MoneyMethods.MoneySeparator(
                    dm.QueryWithReturnDataSet("SELECT SUM(T.`GruzobozCost`) FROM `tickets` as T JOIN `city` as C on T.CityID = C.ID WHERE " + sqlString.Remove(sqlString.Length - 3)).Tables[0].Rows[0][0].ToString());

                lblDeliveryCost.Text = MoneyMethods.MoneySeparator(deliveryCost);

                var i = 1;
                dataset.Tables[0].Columns.Add("PNumber", typeof(String));
                foreach (DataRow row in dataset.Tables[0].Rows)
                {
                    row["PNumber"] = i++;
                }
                lvAllPrint.DataSource = dataset;
                lvAllPrint.DataBind();

                var ticket = new Tickets {
                    ID = Convert.ToInt32(controlTicketID)
                };
                ticket.GetById();
                DriverName          = lblDriver.Text = DriversHelper.DriverIDToFioToPrint(ticket.DriverID.ToString());
                lblDriverPhone.Text = DriversHelper.DriverIDToPhone(ticket.DriverID.ToString());

                lblTrack.Text         = lblTrack2.Text = CityHelper.CityToTrack(Convert.ToInt32(ticket.CityID), ticket.ID.ToString());
                lblOperatorName.Text  = CityHelper.CityToTrackOperatorName(Convert.ToInt32(ticket.CityID));
                lblOperatorPhone.Text = CityHelper.CityToTrackOperatorPhone(Convert.ToInt32(ticket.CityID));
            }

            lblDate.Text = DateTime.Now.AddDays(1).ToString("dd.MM.yyyy");

            if (String.IsNullOrEmpty(idListString) || lvAllPrint.Items.Count == 0)
            {
                Page.Visible = false;
                Response.Write(Resources.PrintResources.PrintMapEmptyText);
            }
        }
示例#3
0
        public void GetMoney(string query)
        {
            var searchString = "FROM (" + query + ") as R";
            var dm           = new DataManager();
            var eur          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedEUR) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var usd          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedUSD) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var rur          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedRUR) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);

            var allInBLR        = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedUSD * CourseUSD + ReceivedRUR * CourseRUR + ReceivedEUR * CourseEUR) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allGruzobozCost = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(GruzobozCost) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allAssessedCost = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(AssessedCost + DeliveryCost) " + searchString + " Where AgreedCost = 0 AND WithoutMoney = 0").Tables[0].Rows[0][0], CultureInfo.CurrentCulture);

            //если нет согласованных стоимостей - записываем ее равной 0
            var allAgreedCostString =
                Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(AgreedCost) " + searchString +
                                                           " Where (AgreedCost > 0 OR WithoutMoney = 1)").Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allAgreedCost = !String.IsNullOrEmpty(allAgreedCostString) ? allAgreedCostString : "0";

            double allAssessedCostValue = 0.0;

            Double.TryParse(allAssessedCost, out allAssessedCostValue);

            double allAgreedCostValue = 0.0;

            Double.TryParse(allAgreedCost, out allAgreedCostValue);


            var allAgreedAssessedCostValue = allAssessedCostValue + allAgreedCostValue;
            //к выдаче

            double allGruzobozCostValue = 0.0;

            Double.TryParse(allGruzobozCost, out allGruzobozCostValue);

            double allInBLRValue = 0.0;

            Double.TryParse(allInBLR, out allInBLRValue);

            var overToIssuance       = allAgreedAssessedCostValue - allInBLRValue - ((sddlProfileType.SelectedValue != "0" && !String.IsNullOrEmpty(sddlProfileType.SelectedValue) && sddlProfileType.SelectedValue == "3") ? 0 : allGruzobozCostValue);
            var overToIssuanceString = String.Empty;

            if (overToIssuance > 0)
            {
                overToIssuanceString = "<b>" + MoneyMethods.MoneySeparator(overToIssuance.ToString()) + "</b> BLR";
            }
            else
            {
                overToIssuanceString = "<b>0</b> BLR (+ забрать у клиента <span style =\"color: red; font-weight: bold;\">" + MoneyMethods.MoneySeparator(overToIssuance.ToString().Replace("-", "")) + "</span> BLR)";
            }

            lblReceivedBLRUser.Text  = overToIssuanceString;
            lblOverGruzobozCost.Text = MoneyMethods.MoneySeparator(allGruzobozCost);
        }
示例#4
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            tbWeight.Text = MoneyMethods.MoneySeparator(WeightValue);
            var userInSession = (Users)Session["userinsession"];
            var rolesList     = Application["RolesList"] as List <Roles>;
            var currentRole   = (Roles)rolesList.SingleOrDefault(u => u.Name.ToLower() == userInSession.Role.ToLower());

            if (currentRole.ActionControlWeight != 1)
            {
                tbWeight.Enabled = false;
            }
        }
示例#5
0
        public String GetSearchString()
        {
            var searchString         = String.Empty;
            var searchDriverIdString = String.Empty;
            var searchDateString     = String.Empty;
            var searchParametres     = new Dictionary <String, String>();

            //формируем строку поика для водителей
            if (sddlDrivers.SelectedValue != "0" && !String.IsNullOrEmpty(sddlDrivers.SelectedValue))
            {
                searchDriverIdString = searchDriverIdString + "`DriverID` = '" + sddlDrivers.SelectedValue + "'";
            }


            var date1 = stbDeliveryDate1.Text.Split('/');
            var date2 = stbDeliveryDate2.Text.Split('/');

            //формируем cтроку для поиска по Date
            if (!string.IsNullOrEmpty(stbDeliveryDate1.Text) && !string.IsNullOrEmpty(stbDeliveryDate2.Text))
            {
                searchDateString = "(`DeliveryDate` BETWEEN '" +
                                   Convert.ToDateTime(stbDeliveryDate1.Text).ToString("yyyy-MM-dd") + "' AND '" +
                                   Convert.ToDateTime(stbDeliveryDate2.Text).ToString("yyyy-MM-dd") + "')";
            }
            else
            {
                if (!string.IsNullOrEmpty(stbDeliveryDate1.Text))
                {
                    searchDateString = "`DeliveryDate` = '" + Convert.ToDateTime(stbDeliveryDate1.Text).ToString("yyyy-MM-dd") + "'";
                }
            }

            //формируем конечный запрос для поиска
            searchParametres.Add("DriverID", searchDriverIdString);
            searchParametres.Add("DeliveryDate", searchDateString);
            var searchStringPart = searchParametres.Where(searchParametre => !string.IsNullOrEmpty(searchParametre.Value)).Aggregate(searchString, (current, searchParametre) => current + searchParametre.Value + " AND ");

            searchString = searchStringPart.Length < 4 ? "FROM tickets WHERE (StatusID = 3 OR StatusID = 5 OR StatusID = 7 OR StatusID = 12)" : String.Format("FROM tickets WHERE (StatusID = 3 OR StatusID = 5 OR StatusID = 7 OR StatusID = 12) AND {0}", searchStringPart.Remove(searchStringPart.Length - 4));

            var dm = new DataManager();
            var allAssessedWithDeliveryCostString = dm.QueryWithReturnDataSet("SELECT SUM(`AssessedCost` + `DeliveryCost`) " + searchString + " AND `AgreedCost` = 0").Tables[0].Rows[0][0].ToString();
            var allAgreedWithDeliveryCostString   = dm.QueryWithReturnDataSet("SELECT SUM(`AgreedCost`) " + searchString + " AND `AgreedCost` > 0 ").Tables[0].Rows[0][0].ToString();

            allAssessedWithDeliveryCostString = allAssessedWithDeliveryCostString == String.Empty ? "0" : allAssessedWithDeliveryCostString;
            allAgreedWithDeliveryCostString   = allAgreedWithDeliveryCostString == String.Empty ? "0" : allAgreedWithDeliveryCostString;
            var allAssessedWithDeliveryCost = Convert.ToDecimal(allAssessedWithDeliveryCostString);
            var allAgreedWithDeliveryCost   = Convert.ToDecimal(allAgreedWithDeliveryCostString);

            AgreedAssessedWithDeliveryCost = MoneyMethods.MoneySeparator(allAssessedWithDeliveryCost + allAgreedWithDeliveryCost);

            return(searchString);
        }
示例#6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     tbPril2Weight.Text = MoneyMethods.MoneySeparator(Pril2Weight);
     if (Pril2Weight == "0" || String.IsNullOrEmpty(Pril2Weight))
     {
         lblPril2Weight.Text = MoneyMethods.MoneySeparator(Weight);
     }
     else
     {
         lblPril2Weight.Text      = MoneyMethods.MoneySeparator(Pril2Weight);
         lblPril2Weight.ForeColor = Color.Red;
     }
 }
        private void GetMoney(string query)
        {
            var searchString   = query;
            var dm             = new DataManager();
            var allEURString   = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedEUR`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allRURString   = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedRUR`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allUSDString   = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedUSD`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allBLRString   = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedBLR`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allInBLRString = dm.QueryWithReturnDataSet("SELECT SUM((`ReceivedUSD`*`CourseUSD`)+(`ReceivedRUR`*`CourseRUR`)+(`ReceivedEUR`*`CourseEUR`)+`ReceivedBLR`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allAssessedWithDeliveryCostString = dm.QueryWithReturnDataSet("SELECT SUM(`AssessedCost` + `DeliveryCost`) " + searchString + " AND `AgreedCost` = 0").Tables[0].Rows[0][0].ToString();
            var allAgreedWithDeliveryCostString   = dm.QueryWithReturnDataSet("SELECT SUM(`AgreedCost`) " + searchString + " AND `AgreedCost` > 0").Tables[0].Rows[0][0].ToString();

            allEURString   = allEURString == String.Empty ? "0" : allEURString;
            allRURString   = allRURString == String.Empty ? "0" : allRURString;
            allUSDString   = allUSDString == String.Empty ? "0" : allUSDString;
            allBLRString   = allBLRString == String.Empty ? "0" : allBLRString;
            allInBLRString = allInBLRString == String.Empty ? "0" : allInBLRString;
            allAssessedWithDeliveryCostString = allAssessedWithDeliveryCostString == String.Empty ? "0" : allAssessedWithDeliveryCostString;
            allAgreedWithDeliveryCostString   = allAgreedWithDeliveryCostString == String.Empty ? "0" : allAgreedWithDeliveryCostString;


            var allAssessedWithDeliveryCost = Convert.ToDecimal(allAssessedWithDeliveryCostString);
            var allAgreedWithDeliveryCost   = Convert.ToDecimal(allAgreedWithDeliveryCostString);

            var allAgreedAssessedWithDeliveryCost = allAssessedWithDeliveryCost + allAgreedWithDeliveryCost;

            var allBLR = Convert.ToDecimal(allInBLRString);

            var difference = allBLR - allAgreedAssessedWithDeliveryCost;

            var differenceString = String.Empty;

            if (difference > 0)
            {
                differenceString = "<span style =\"color: green;\">" + MoneyMethods.MoneySeparator(difference.ToString()) + "</span>";
            }
            else
            {
                differenceString = "<span style =\"color: red;\">" + MoneyMethods.MoneySeparator(difference.ToString().Replace("-", "")) + "</span>";
            }

            lblReceivedEUROver.Text = MoneyMethods.MoneySeparator(allEURString);
            lblReceivedRUROver.Text = MoneyMethods.MoneySeparator(allRURString);
            lblReceivedUSDOver.Text = MoneyMethods.MoneySeparator(allUSDString);
            lblReceivedBLROver.Text = MoneyMethods.MoneySeparator(allBLRString);

            lblAgreedAssessedCost.Text = MoneyMethods.MoneySeparator(allAgreedAssessedWithDeliveryCost.ToString());
            lblAllReceivedInBLR.Text   = MoneyMethods.MoneySeparator(allBLR.ToString());
            lblDifference.Text         = differenceString;
        }
示例#8
0
        private void GetMoney(string query)
        {
            var searchString          = query;
            var dm                    = new DataManager();
            var allGruzobozCostString = dm.QueryWithReturnDataSet("SELECT SUM(`GruzobozCost`) " + searchString).Tables[0].Rows[0][0].ToString();

            if (allGruzobozCostString == String.Empty)
            {
                allGruzobozCostString = "0";
            }

            var allGruzobozCost = Convert.ToDecimal(allGruzobozCostString);

            lblGruzobozCostOver.Text = MoneyMethods.MoneySeparator(allGruzobozCost.ToString());
        }
示例#9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            OtherMethods.ActiveRightMenuStyleChanche("hlNewsFeed", this.Page);
            Page.Title = PagesTitles.ManagerNewsFromFeedView + BackendHelper.TagToValue("page_title_part");

            var userInSession = (Users)Session["userinsession"];

            if (Request.Params["title"] != null)
            {
                var news = new News {
                    TitleUrl = Request.Params["title"].ToString()
                };
                news.GetByTitleUrl();
                if (!IsPostBack && news.NewsTypeID == 1)
                {
                    lblTitle.Text      = news.Title;
                    lblBody.InnerHtml  = news.Body;
                    lblCreateDate.Text = news.CreateDate.ToString();
                    var dm = new DataManager();
                    var isUserViewCount = Convert.ToInt32(MoneyMethods.MoneySeparator(
                                                              dm.QueryWithReturnDataSet(
                                                                  String.Format("select count(*) from `usertonewsview` WHERE `UserID` = {0} AND `NewsID` = {1};", userInSession.ID, news.ID)
                                                                  ).Tables[0].Rows[0][0].ToString()
                                                              ));

                    //записываем данные о инфе, что усер просмотрел новость
                    if (isUserViewCount == 0)
                    {
                        var userView = new UserToNewsView {
                            UserID = userInSession.ID, NewsID = news.ID
                        };
                        userView.Create();
                    }

                    //пересчитываем просмотренные новости
                    //обновляем\задаем авторизационную куку с данными пользователя
                    AuthenticationMethods.SetUserCookie(userInSession);
                }
                else
                {
                    Response.Redirect("~/ManagerUI/Menu/NewsFeed/NewsFeedView.aspx");
                }
            }
            else
            {
                Response.Redirect("~/ManagerUI/Menu/NewsFeed/NewsFeedView.aspx");
            }
        }
示例#10
0
        public void GetMoney(string query)
        {
            var userType = Request.QueryString["type"];

            var searchString = "FROM (" + query + ") as R";
            var dm           = new DataManager();
            var eur          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedEUR) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var usd          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedUSD) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var rur          = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedRUR) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);

            var allInBLR        = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(ReceivedUSD * CourseUSD + ReceivedRUR * CourseRUR + ReceivedEUR * CourseEUR) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allGruzobozCost = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(GruzobozCost) " + searchString).Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allAssessedCost = Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(AssessedCost + DeliveryCost) " + searchString + " Where AgreedCost = 0 AND WithoutMoney = 0").Tables[0].Rows[0][0], CultureInfo.CurrentCulture);

            //если нет согласованных стоимостей - записываем ее равной 0
            var allAgreedCostString =
                Convert.ToString(dm.QueryWithReturnDataSet("SELECT SUM(AgreedCost) " + searchString +
                                                           " Where (AgreedCost > 0 OR WithoutMoney = 1)").Tables[0].Rows[0][0], CultureInfo.CurrentCulture);
            var allAgreedCost = !String.IsNullOrEmpty(allAgreedCostString) ? allAgreedCostString : "0";

            double allAssessedCostValue = 0.0;

            Double.TryParse(allAssessedCost, out allAssessedCostValue);

            double allAgreedCostValue = 0.0;

            Double.TryParse(allAgreedCost, out allAgreedCostValue);


            var allAgreedAssessedCostValue = allAssessedCostValue + allAgreedCostValue;
            //к выдаче

            double allGruzobozCostValue = 0.0;

            Double.TryParse(allGruzobozCost, out allGruzobozCostValue);

            double allInBLRValue = 0.0;

            Double.TryParse(allInBLR, out allInBLRValue);

            var overToIssuance       = allAgreedAssessedCostValue - allInBLRValue - ((userType != "0" && !String.IsNullOrEmpty(userType) && (userType == "3" || userType == "2")) ? 0 : allGruzobozCostValue);
            var overToIssuanceString = String.Empty;

            overToIssuanceString = "<b>" + MoneyMethods.MoneySeparator(overToIssuance.ToString()) + "</b> BLR";

            lblReceivedBLRUser.Text  = overToIssuanceString;
            lblOverGruzobozCost.Text = MoneyMethods.MoneySeparator(allGruzobozCost);
        }
示例#11
0
        public void ListViewDataBind()
        {
            var user   = (Users)Session["userinsession"];
            var userId = user.Role != Users.Roles.User.ToString() ? 1 : user.ID;
            var dm     = new DataManager();
            var ds     = dm.QueryWithReturnDataSet(GetSearchString(userId.ToString()));

            ds.Tables[0].Columns.Add("ProfileType", typeof(String));
            ds.Tables[0].Columns.Add("OverallCost", typeof(String));
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                row["ProfileType"] = UsersProfilesHelper.UserTypeToStr2(UsersProfilesHelper.UserProfileIdToType(Convert.ToInt32(row["UserProfileID"].ToString())).ToString());
                row["OverallCost"] = MoneyMethods.MoneySeparator(MoneyMethods.OveralCostForCheck(MoneyMethods.AgreedAssessedCosts(row["ID"].ToString()), row["DeliveryCost"].ToString()));
            }

            lblAllResult.Text       = ds.Tables[0].Rows.Count.ToString();
            lvAllTickets.DataSource = ds;
            lvAllTickets.DataBind();

            foreach (ListViewDataItem items in lvAllTickets.Items)
            {
                var deleteLink = (LinkButton)items.FindControl("lbDelete");
                var status     = (HiddenField)items.FindControl("lblStatusID");
                if (status.Value != "1")
                {
                    deleteLink.Visible = false;
                }
            }

            foreach (ListViewDataItem items in lvAllTickets.Items)
            {
                CheckBox         chkBoxRows = (CheckBox)items.FindControl("cbSelect");
                ListViewItem     item       = (ListViewItem)chkBoxRows.Parent.NamingContainer;
                ListViewDataItem dataItem   = (ListViewDataItem)item;
                Label            labelID    = (Label)(lvAllTickets.Items[dataItem.DisplayIndex]).FindControl("lblSecureID");
                string           lbID       = labelID.Text.ToString();

                if (this.checkIDs.Contains(lbID))
                {
                    chkBoxRows.Checked = true;
                }
            }
        }
示例#12
0
        protected void lvDataPager_PreRender(object sender, EventArgs e)
        {
            var dm = new DataManager();
            var ds = dm.QueryWithReturnDataSet(GetSearchString());

            lblAllResult.Text      = ds.Tables[0].Rows.Count.ToString();
            lvAllTracks.DataSource = ds;
            lvAllTracks.DataBind();
            foreach (var item in lvAllTracks.Items)
            {
                var hfCategoryName = (HiddenField)item.FindControl("hfCategoryName");
                var lblDdPrice     = (Label)item.FindControl("lblDDPrice");
                var lblSdPrice     = (Label)item.FindControl("lblSDPrice");
                lblDdPrice.Text =
                    MoneyMethods.MoneySeparator(Calculator.Calculate(
                                                    new List <GoodsFromAPI> {
                    new GoodsFromAPI {
                        Description = hfCategoryName.Value, Number = 1
                    }
                },
                                                    13, 1, 239, "2", null, null, true));
                lblSdPrice.Text =
                    MoneyMethods.MoneySeparator(Calculator.Calculate(
                                                    new List <GoodsFromAPI> {
                    new GoodsFromAPI {
                        Description = hfCategoryName.Value, Number = 1
                    }
                },
                                                    13, 1, 239, "1", null, null));
            }

            #region  едирект на первую страницу при поиске
            if (lvAllTracks.Items.Count == 0 && lvDataPager.TotalRowCount != 0)
            {
                lvDataPager.SetPageProperties(0, lvDataPager.PageSize, false);
                lvAllTracks.DataBind();
            }
            #endregion
        }
示例#13
0
        private void GetMoney(string query)
        {
            var searchString = query;
            var dm           = new DataManager();
            var allEURString = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedEUR`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allRURString = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedRUR`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allUSDString = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedUSD`) " + searchString).Tables[0].Rows[0][0].ToString();
            var allBLRString = dm.QueryWithReturnDataSet("SELECT SUM(`ReceivedBLR`) " + searchString).Tables[0].Rows[0][0].ToString();

            if (allEURString == String.Empty)
            {
                allEURString = "0";
            }
            if (allRURString == String.Empty)
            {
                allRURString = "0";
            }
            if (allUSDString == String.Empty)
            {
                allUSDString = "0";
            }
            if (allBLRString == String.Empty)
            {
                allBLRString = "0";
            }

            var allEUR = Convert.ToDecimal(allEURString);
            var allRUR = Convert.ToDecimal(allRURString);
            var allUSD = Convert.ToDecimal(allUSDString);
            var allBLR = Convert.ToDecimal(allBLRString);

            lblReceivedEUROver.Text = MoneyMethods.MoneySeparator(allEUR.ToString());
            lblReceivedRUROver.Text = MoneyMethods.MoneySeparator(allRUR.ToString());
            lblReceivedUSDOver.Text = MoneyMethods.MoneySeparator(allUSD.ToString());
            lblReceivedBLROver.Text = MoneyMethods.MoneySeparator(allBLR.ToString());
        }
示例#14
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);
        }
示例#15
0
        public static void GenerateXmlFile(string idListString, string data)
        {
            List <string> idList = idListString.Split('-').ToList();
            var           output = "<?xml version=\"1.0\"?> \r\n" +
                                   "\t<SmartRoutes.Data SchemaVersion=\"3\"> \r\n" +
                                   "\t\t<Variants> \r\n" +
                                   "\t\t\t<Variant> \r\n" +
                                   "\t\t\t\t<OrderCategoryExchangeCode>1891378909</OrderCategoryExchangeCode> \r\n" +
                                   "\t\t\t\t<Date>" + Convert.ToDateTime(data).ToString("yyyy-MM-dd") +
                                   "T00:00:00+03:00</Date> \r\n" +
                                   "\t\t\t\t<N>1</N> \r\n" +
                                   "\t\t\t\t<DataReading>Historical</DataReading> \r\n" +

                                   "\t\t\t\t<Characteristics> \r\n" +
                                   "\t\t\t\t\t<Characteristic> \r\n" +
                                   "\t\t\t\t\t\t<ExchangeCode>12345678</ExchangeCode> \r\n" +
                                   "\t\t\t\t\t\t<Title>Оцен./Согл. + за доставку</Title> \r\n" +
                                   "\t\t\t\t\t\t<Type>Number</Type> \r\n" +
                                   "\t\t\t\t\t\t<Notes>стоимость груза + за доставку</Notes> \r\n" +
                                   "\t\t\t\t\t</Characteristic> \r\n" +
                                   "\t\t\t\t</Characteristics> \r\n" +

                                   "\t\t\t\t<Orders> \r\n";

            if (!String.IsNullOrEmpty(idListString))
            {
                foreach (var id in idList)
                {
                    var ticket = new Tickets {
                        ID = Convert.ToInt32(id)
                    };
                    ticket.GetById();
                    var address = String.Empty;
                    if (!String.IsNullOrEmpty(ticket.RecipientKorpus))
                    {
                        address = String.Format("Беларусь, {0} область, {2}, {3} {4}, {5}/{6}",
                                                CityHelper.CityIDToRegionName(ticket.CityID.ToString()),
                                                CityHelper.CityIDToDistrictName(ticket.CityID.ToString()),
                                                CityHelper.CityNameFilter(CityHelper.CityIDToCityNameWithotCustom(ticket.CityID.ToString())),
                                                ticket.RecipientStreetPrefix,
                                                ticket.RecipientStreet,
                                                ticket.RecipientStreetNumber,
                                                ticket.RecipientKorpus);
                    }
                    else
                    {
                        address = String.Format("Беларусь, {0} область, {2}, {3} {4}, {5}",
                                                CityHelper.CityIDToRegionName(ticket.CityID.ToString()),
                                                CityHelper.CityIDToDistrictName(ticket.CityID.ToString()),
                                                CityHelper.CityNameFilter(CityHelper.CityIDToCityNameWithotCustom(ticket.CityID.ToString())),
                                                ticket.RecipientStreetPrefix,
                                                ticket.RecipientStreet,
                                                ticket.RecipientStreetNumber);
                    }

                    var goodsObj = new Goods {
                        TicketFullSecureID = ticket.FullSecureID
                    };
                    var goodsDataSet = goodsObj.GetAllItems("ID", "ASC", "TicketFullSecureID");
                    var goodsString  =
                        goodsDataSet.Tables[0].Rows.Cast <DataRow>()
                        .Aggregate(String.Empty,
                                   (current, goods) => current + String.Format("{0} {1}; ", goods[2], goods[3]))
                        .Replace("&", "");

                    output += "\t\t\t\t\t<Order> \r\n" +
                              "\t\t\t\t\t\t<ExchangeCode>" + ticket.SecureID + "</ExchangeCode> \r\n" +
                              "\t\t\t\t\t\t<Title>" + goodsString + "</Title> \r\n" +
                              "\t\t\t\t\t\t<Phone>" + ticket.RecipientPhone + "</Phone> \r\n" +
                              "\t\t\t\t\t\t<Code>" + ticket.SecureID + "</Code> \r\n" +
                              "\t\t\t\t\t\t<LoadingAddress> \r\n" +
                              "\t\t\t\t\t\t\t<Location>Беларусь, Минск, Кальварийская улица, 4</Location> \r\n" +
                              "\t\t\t\t\t\t\t<Latitude>0.9408116799</Latitude> \r\n" +
                              "\t\t\t\t\t\t\t<Longitude>0.4806493073</Longitude> \r\n" +
                              "\t\t\t\t\t\t</LoadingAddress> \r\n" +
                              "\t\t\t\t\t\t<UnloadingAddress> \r\n" +
                              "\t\t\t\t\t\t\t<Location>" + address + "</Location> \r\n" +
                              "\t\t\t\t\t\t</UnloadingAddress> \r\n" +
                              //время у клиента в xml-формате "PT30M" означает "30 минут"
                              "\t\t\t\t\t\t<UnloadingDuration>" + "PT10M" + "</UnloadingDuration>" +
                              "\t\t\t\t\t\t<CargoProperties>\r\n" +
                              "\t\t\t\t\t\t\t<Property>\r\n" +
                              "\t\t\t\t\t\t\t\t<CharacteristicExchangeCode>12345678</CharacteristicExchangeCode>\r\n" +
                              "\t\t\t\t\t\t\t\t<Value>" +
                              MoneyMethods.MoneySeparator(MoneyMethods.AgreedAssessedDeliveryCosts(ticket.ID.ToString())) +
                              "</Value>\r\n" +
                              "\t\t\t\t\t\t\t</Property>\r\n" +
                              "\t\t\t\t\t\t</CargoProperties>\r\n" +

                              "\t\t\t\t\t</Order> \r\n";
                }
                output += "   \t\t\t\t</Orders> \r\n" +
                          "\t\t\t</Variant> \r\n" +
                          "\t\t</Variants> \r\n" +
                          "\t</SmartRoutes.Data>";
                File.WriteAllText(HttpContext.Current.Server.MapPath("~/SendData.xml"), output);
            }
        }
示例#16
0
        protected void ListViewDataBind()
        {
            var dm = new DataManager();
            var ds = dm.QueryWithReturnDataSet("select * from `users` WHERE Role <> \"User\" ORDER BY Family ASC;");

            lvAllManager.DataSource = ds;
            lvAllManager.DataBind();

            #region  едирект на первую страницу при поиске
            if (lvAllManager.Items.Count == 0 && lvDataPager.TotalRowCount != 0)
            {
                lvDataPager.SetPageProperties(0, lvDataPager.PageSize, false);
                lvAllManager.DataBind();
            }
            #endregion

            var user        = (Users)Session["userinsession"];
            var rolesList   = Application["RolesList"] as List <Roles>;
            var currentRole = (Roles)rolesList.SingleOrDefault(u => u.Name.ToLower() == user.Role.ToLower());

            if (currentRole.PageManagerEdit != 1)
            {
                hlManagerCreate.Visible = false;
            }

            foreach (ListViewDataItem items in lvAllManager.Items)
            {
                var lbEditLink                = (HyperLink)items.FindControl("lbEdit");
                var lbDeleteLink              = (LinkButton)items.FindControl("lbDelete");
                var idManager                 = (Label)items.FindControl("lblID");
                var hfRoleText                = (HiddenField)items.FindControl("hfRole");
                var lblLinkedClientsCount     = (Label)items.FindControl("lblLinkedClientsCount");
                var lblLinkedUsersTicketCount = (Label)items.FindControl("lblLinkedUsersTicketCount");

                if ((hfRoleText.Value == Users.Roles.Admin.ToString() || hfRoleText.Value == Users.Roles.SuperAdmin.ToString()) && user.Role != Users.Roles.SuperAdmin.ToString())
                {
                    lbEditLink.Visible   = false;
                    lbDeleteLink.Visible = false;
                }

                if (hfRoleText.Value == Users.Roles.SuperAdmin.ToString() && user.Role == Users.Roles.SuperAdmin.ToString())
                {
                    lbEditLink.Visible   = true;
                    lbDeleteLink.Visible = false;
                }

                if (idManager.Text == user.ID.ToString())
                {
                    lbDeleteLink.Visible = false;
                    lbEditLink.Visible   = true;
                }

                if (currentRole.ActionManagersDelete != 1)
                {
                    lbDeleteLink.Visible = false;
                }

                if (currentRole.PageManagerEdit != 1)
                {
                    lbEditLink.Visible = false;
                }

                if (hfRoleText.Value == Users.Roles.Manager.ToString())
                {
                    lblLinkedClientsCount.Text = dm.QueryWithReturnDataSet(
                        String.Format("SELECT COUNT(*) FROM `Users` WHERE `ManagerID` = {0}",
                                      idManager.Text)).Tables[0].Rows[0][0]
                                                 .ToString();

                    lblLinkedUsersTicketCount.Text = MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet(
                                                                                     String.Format("SELECT COUNT(*) FROM Tickets T JOIN Users U ON T.`UserID` = U.`ID` WHERE (U.`ManagerID` = {0}) AND (T.CreateDate BETWEEN '{1}' AND '{2}')",
                                                                                                   idManager.Text,
                                                                                                   Convert.ToDateTime(stbDate1.Text).ToString("yyyy-MM-dd"),
                                                                                                   Convert.ToDateTime(stbDate2.Text).ToString("yyyy-MM-dd")))
                                                                                 .Tables[0].Rows[0][0].ToString());
                }

                if (hfRoleText.Value == Users.Roles.SalesManager.ToString())
                {
                    lblLinkedClientsCount.Text = dm.QueryWithReturnDataSet(
                        String.Format("SELECT COUNT(*) FROM `Users` WHERE `SalesManagerID` = {0}",
                                      idManager.Text)).Tables[0].Rows[0][0]
                                                 .ToString();


                    lblLinkedUsersTicketCount.Text = MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet(
                                                                                     String.Format("SELECT COUNT(*) FROM Tickets T JOIN Users U ON T.`UserID` = U.`ID` WHERE `SalesManagerID` = {0} AND (T.CreateDate BETWEEN '{1}' AND '{2}')",
                                                                                                   idManager.Text,
                                                                                                   Convert.ToDateTime(stbDate1.Text).ToString("yyyy-MM-dd"),
                                                                                                   Convert.ToDateTime(stbDate2.Text).ToString("yyyy-MM-dd")))
                                                                                 .Tables[0].Rows[0][0].ToString());
                }
            }
        }
示例#17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            AppKey = Globals.Settings.AppServiceSecureKey;
            var    controlTicketID = String.Empty;
            var    dm           = new DataManager();
            var    idListString = IdList = Request.QueryString["id"];
            var    withUrMarker = Request.QueryString["with_ur"];
            string whereUrSql;

            if (!String.IsNullOrEmpty(withUrMarker))
            {
                cbWithUr.Checked = true;
                whereUrSql       = " ";
            }
            else
            {
                whereUrSql       = " AND U.`TypeID` = '1' ";
                cbWithUr.Checked = false;
            }

            if (!String.IsNullOrEmpty(idListString))
            {
                List <string> idList    = idListString.Split('-').ToList();
                var           sqlString = String.Empty;
                foreach (var id in idList)
                {
                    sqlString       = sqlString + "T.ID = " + id + " OR ";
                    controlTicketID = id;
                }
                var fullSqlString = "SELECT * FROM `tickets` as T " +
                                    "JOIN `city` as C " +
                                    "ON T.CityID = C.ID " +
                                    "JOIN `usersprofiles` as U " +
                                    "ON T.`UserProfileID` = U.`ID` " +
                                    "WHERE ((" + sqlString.Remove(sqlString.Length - 3) + ") AND T.PrintNakl = '1' AND T.NotPrintInPril2 ='0'" + whereUrSql + ") "  //AND (T.StatusID ='3' OR T.StatusID = '19')
                ;

                var     dataset    = dm.QueryWithReturnDataSet(fullSqlString);
                var     iter       = 1;
                var     overBoxes  = 0;
                var     overWeight = 0;
                decimal overCost   = 0;
                DriverID = String.Empty;
                dataset.Tables[0].Columns.Add("PorID");
                dataset.Tables[0].Columns.Add("Pril2CostOrCost");

                foreach (DataRow row in dataset.Tables[0].Rows)
                {
                    row["PorID"] = iter.ToString();
                    iter++;
                    DriverID    = row["DriverID"].ToString();
                    overBoxes  += Convert.ToInt32(row["BoxesNumber"]);
                    overWeight += String.IsNullOrEmpty(row["Weight"].ToString()) ? 0 : Convert.ToInt32(row["Weight"]);

                    var zero = 0.00;
                    if (Convert.ToDouble(row["Pril2Cost"]) != zero)
                    {
                        overCost += Convert.ToDecimal(row["Pril2Cost"]);
                        row["Pril2CostOrCost"] = row["Pril2Cost"];
                    }
                    else
                    {
                        overCost += Convert.ToInt32(row["AgreedCost"]) != 0 ? Convert.ToDecimal(row["AgreedCost"]) : Convert.ToDecimal(row["AssessedCost"]);
                        row["Pril2CostOrCost"] = Convert.ToInt32(row["AgreedCost"]) != 0 ? row["AgreedCost"] : row["AssessedCost"];
                    }
                }

                lvAllPrint.DataSource = dataset;
                lvAllPrint.DataBind();

                try
                {
                    DriverName = dm.QueryWithReturnDataSet(String.Format("SELECT `FIO` FROM `drivers` WHERE `id` = {0}", DriverID)).Tables[0].Rows[0][0].ToString();
                }
                catch (Exception)
                {
                    DriverName = "Не назначен";
                }

                lblDriver.Text     = lblDriver2.Text = DriversHelper.DriverIDToNameZP(DriverID);
                lblOverNumber.Text = dataset.Tables[0].Rows.Count.ToString();
                lblOverCost.Text   = lblOverCost2.Text = lblOverCost3.Text = MoneyMethods.MoneySeparator(overCost.ToString());
                lblCostWord.Text   = MoneyHelper.ToRussianString(overCost);

                Inpnaklnumber.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklNumber` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
                Inpseria.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklSeria` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
                Inpdate.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklDate` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();

                overGruzobozCost.Text =
                    MoneyMethods.MoneySeparator(
                        MoneyMethods.GruzobozCostLoweringPercentage(
                            dm.QueryWithReturnDataSet(
                                "SELECT SUM(`GruzobozCost`) " +
                                "FROM `tickets` T " +
                                "JOIN `usersprofiles` as U " +
                                "ON T.`UserProfileID` = U.`ID` " +
                                "WHERE ((" + sqlString.Remove(sqlString.Length - 3) + ") AND T.PrintNakl = '1' AND T.NotPrintInPril2 ='0'" + whereUrSql + ")" //AND (T.StatusID ='3' OR T.StatusID = '19')
                                ).Tables[0].Rows[0][0].ToString()
                            )
                        );

                var ticket = new Tickets {
                    ID = Convert.ToInt32(controlTicketID)
                };
                ticket.GetById();

                var notVisibleCount =
                    dm.QueryWithReturnDataSet(
                        "SELECT COUNT(*) " +
                        "FROM `tickets` as T " +
                        "JOIN `usersprofiles` as U " +
                        "ON T.`UserProfileID` = U.`ID` " +
                        "WHERE ((" + sqlString.Remove(sqlString.Length - 3) + ") AND T.PrintNakl = '1' AND T.NotPrintInPril2 ='1'" + whereUrSql + ")").Tables[0].Rows[0][0].ToString(); //AND (T.StatusID ='3' OR T.StatusID = '19')
                btnReload.Enabled = notVisibleCount == "0";

                //рассчет недостающих коробок и веса СТАРТ

                var notVisibleTicketsTable = dm.QueryWithReturnDataSet(
                    "SELECT T.Weight, T.AgreedCost, T.AssessedCost, T.BoxesNumber " +
                    "FROM `tickets` as T " +
                    "JOIN `usersprofiles` as U " +
                    "ON T.`UserProfileID` = U.`ID` " +
                    "WHERE ((" + sqlString.Remove(sqlString.Length - 3) + ") AND T.PrintNakl = '1' AND NotPrintInPril2 ='1'" + whereUrSql + ")").Tables[0]; //AND (T.StatusID ='3' OR T.StatusID = '19')

                foreach (DataRow row in notVisibleTicketsTable.Rows)
                {
                    overBoxes  += Convert.ToInt32(row["BoxesNumber"]);
                    overWeight += String.IsNullOrEmpty(row["Weight"].ToString()) ? 0 : Convert.ToInt32(row["Weight"]);
                }

                lblOverBoxes.Text = overBoxes.ToString();
                lblBoxesWord.Text = NumberToRussianString.NumberToString(
                    Convert.ToInt64(overBoxes), NumberToRussianString.WordGender.Masculine);
                lblOverWeight.Text = overWeight.ToString();
                lblWeightWord.Text = NumberToRussianString.NumberToString(
                    Convert.ToInt64(overWeight), NumberToRussianString.WordGender.Masculine);
                //рассчет недостающих коробок и веса КОНЕЦ

                if (OneCMethods.IfFileExist())
                {
                    btnCSVStart.Enabled = false;
                }
                else
                {
                    btnCSVAdd.Enabled = false;
                    btnCSVEnd.Enabled = false;
                }
            }

            if (String.IsNullOrEmpty(idListString) || lvAllPrint.Items.Count == 0)
            {
                Page.Visible = false;
                if (String.IsNullOrEmpty(idListString))
                {
                    Response.Write(Resources.PrintResources.PrintNaklPrilEmptyText);
                }
                else
                {
                    Response.Write(Resources.PrintResources.PrintNaklPrilEmptyText +
                                   String.Format("<br/><center><a href=\"{0}&with_ur=1\">печать с юр. лицами</a><center>", Request.RawUrl));
                }
                Page.Visible = false;
            }
        }
示例#18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            AppKey = Globals.Settings.AppServiceSecureKey;
            var controlTicketID = String.Empty;
            var idListString    = Request.QueryString["id"];
            var withUrMarker    = Request.QueryString["with_ur"];
            var ticketsCount    = 0;

            if (!String.IsNullOrEmpty(idListString))
            {
                List <string> idList    = idListString.Split('-').ToList();
                var           sqlString = String.Empty;
                foreach (var id in idList)
                {
                    sqlString       = sqlString + "T.`ID` = " + id + " OR ";
                    controlTicketID = id;
                }
                string fullSqlString;

                if (String.IsNullOrEmpty(withUrMarker))
                {
                    cbWithUr.Checked = false;
                    fullSqlString    = "SELECT T.`SecureID`, T.`ID`, T.`BoxesNumber`, T.`Weight`, T.`AgreedCost`, T.`AssessedCost`, T.`DriverID` " +
                                       "FROM `tickets` T " +
                                       "JOIN `usersprofiles` as U " +
                                       "ON T.`UserProfileID` = U.`ID` " +
                                       "WHERE (" + sqlString.Remove(sqlString.Length - 3) + ") AND `PrintNakl` = '1' AND U.`TypeID` = '1' AND (T.StatusID ='3' OR T.StatusID = '19')";
                }
                else
                {
                    cbWithUr.Checked = true;
                    fullSqlString    = "SELECT T.`SecureID`, T.`ID`, T.`BoxesNumber`, T.`Weight`, T.`AgreedCost`, T.`AssessedCost`, T.`DriverID` " +
                                       "FROM `tickets` T " +
                                       "JOIN `usersprofiles` U " +
                                       "ON T.`UserProfileID` = U.`ID` " +
                                       "WHERE (" + sqlString.Remove(sqlString.Length - 3) + ") AND (T.`PrintNaklInMap` = '0' OR U.`TypeID` = '1') AND (T.StatusID ='3' OR T.StatusID = '19')" +
                                       "ORDER BY T.`ID` DESC";
                }

                var     dm         = new DataManager();
                var     dataset    = dm.QueryWithReturnDataSet(fullSqlString);
                var     overBoxes  = 0;
                var     overWeight = 0;
                decimal overCost   = 0;
                var     driverID   = String.Empty;
                foreach (DataRow row in dataset.Tables[0].Rows)
                {
                    driverID    = row["DriverID"].ToString();
                    overBoxes  += Convert.ToInt32(row["BoxesNumber"]);
                    overWeight += String.IsNullOrEmpty(row["Weight"].ToString()) ? 0 : Convert.ToInt32(row["Weight"]);
                    overCost   += Convert.ToInt32(row["AgreedCost"]) != 0 ? Convert.ToDecimal(row["AgreedCost"]) : Convert.ToDecimal(row["AssessedCost"]);
                    ticketsCount++;
                }

                lblCar.Text    = DriversHelper.DriverIDToCarZP(driverID);
                lblDriver.Text = lblDriver2.Text = lblDriver3.Text = DriversHelper.DriverIDToNameZP(driverID);
                lblCost.Text   = lblCost2.Text = lblCost3.Text = lblCost4.Text = MoneyMethods.MoneySeparator(overCost.ToString());
                lblBoxes2.Text = lblBoxes3.Text = overBoxes.ToString();
                lblWeight.Text = lblWeight2.Text = overWeight.ToString();

                lblCostWord.Text = MoneyHelper.ToRussianString(overCost);

                lblWeightWord.Text = NumberToRussianString.NumberToString(
                    Convert.ToInt64(overWeight), NumberToRussianString.WordGender.Masculine);

                lblBoxesWord.Text = NumberToRussianString.NumberToString(
                    Convert.ToInt64(overBoxes), NumberToRussianString.WordGender.Masculine);

                Inpnaklnumber.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklNumber` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
                Inpseria.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklSeria` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
                Inpdate.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklDate` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
                Inpputevoi.Text =
                    dm.QueryWithReturnDataSet("SELECT `Putevoi` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();

                var ticket = new Tickets {
                    ID = Convert.ToInt32(controlTicketID)
                };
                ticket.GetById();
            }

            #region Сообщение, если накладная пустая
            if (String.IsNullOrEmpty(idListString) || ticketsCount == 0)
            {
                Page.Visible = false;
                if (String.IsNullOrEmpty(idListString))
                {
                    Response.Write(Resources.PrintResources.PrintNaklEmptyText);
                }
                else
                {
                    Response.Write(Resources.PrintResources.PrintNaklEmptyText +
                                   String.Format("<br/><center><a href=\"{0}&with_ur=1\">печать с юр. лицами</a><center>", Request.RawUrl));
                }
            }
            #endregion
        }
示例#19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            AppKey = Globals.Settings.AppServiceSecureKey;
            var controlTicketID = String.Empty;
            var idListString    = TicketIdList = Request.QueryString["id"];
            var withUrMarker    = Request.QueryString["with_ur"];

            if (!String.IsNullOrEmpty(idListString))
            {
                List <string> idList    = idListString.Split('-').ToList();
                var           sqlString = String.Empty;
                foreach (var id in idList)
                {
                    sqlString       = sqlString + "T.`ID` = " + id + " OR ";
                    controlTicketID = id;
                }
                string fullSqlString;
                if (String.IsNullOrEmpty(withUrMarker))
                {
                    cbWithUr.Checked = false;
                    fullSqlString    =
                        "SELECT T.`SecureID`, T.`ID`, T.`BoxesNumber`, T.`Weight`, T.`AgreedCost`, T.`AssessedCost`, T.`DriverID` " +
                        "FROM `tickets` T " +
                        "JOIN `usersprofiles` U " +
                        "ON T.`UserProfileID` = U.`ID` " +
                        "WHERE (" + sqlString.Remove(sqlString.Length - 3) +
                        ") AND U.`TypeID` = '1' AND (T.StatusID ='3' OR T.StatusID = '19')" +
                        "ORDER BY T.`ID` DESC";
                }
                else
                {
                    cbWithUr.Checked = true;
                    fullSqlString    =
                        "SELECT T.`SecureID`, T.`ID`, T.`BoxesNumber`, T.`Weight`, T.`AgreedCost`, T.`AssessedCost`, T.`DriverID` " +
                        "FROM `tickets` T " +
                        "JOIN `usersprofiles` U " +
                        "ON T.`UserProfileID` = U.`ID` " +
                        "WHERE (" + sqlString.Remove(sqlString.Length - 3) + ") AND (T.`PrintNaklInMap` = '0' OR U.`TypeID` = '1') AND (T.StatusID ='3' OR T.StatusID = '19')" +
                        "ORDER BY T.`ID` DESC";
                }

                var     dm         = new DataManager();
                var     dataset    = dm.QueryWithReturnDataSet(fullSqlString);
                var     iter       = 1;
                var     overBoxes  = 0;
                var     overWeight = 0;
                decimal overCost   = 0;
                DriverID = String.Empty;
                dataset.Tables[0].Columns.Add("PorID");

                foreach (DataRow row in dataset.Tables[0].Rows)
                {
                    row["PorID"] = iter.ToString();
                    iter++;
                    DriverID    = row["DriverID"].ToString();
                    overBoxes  += Convert.ToInt32(row["BoxesNumber"]);
                    overWeight += String.IsNullOrEmpty(row["Weight"].ToString()) ? 0 : Convert.ToInt32(row["Weight"]);
                    overCost   += Convert.ToInt32(row["AgreedCost"]) != 0 ? Convert.ToDecimal(row["AgreedCost"]) : Convert.ToDecimal(row["AssessedCost"]);
                }
                lvAllPrint.DataSource = dataset;
                lvAllPrint.DataBind();

                try
                {
                    DriverName = dm.QueryWithReturnDataSet(String.Format("SELECT CONCAT(`FirstName`, ' ',  `LastName`, ' ', `ThirdName`) FROM `drivers` WHERE `id` = {0}", DriverID)).Tables[0].Rows[0][0].ToString();
                }
                catch (Exception)
                {
                    DriverName = "Не назначен";
                }

                lblDriver.Text     = lblDriver2.Text = DriversHelper.DriverIDToNameZP(DriverID);
                lblOverNumber.Text = dataset.Tables[0].Rows.Count.ToString();
                lblOverCost.Text   = lblOverCost2.Text = MoneyMethods.MoneySeparator(overCost.ToString());

                lblCostWord.Text = MoneyHelper.ToRussianString(overCost);

                lblOverBoxes.Text = overBoxes.ToString();
                lblBoxesWord.Text = NumberToRussianString.NumberToString(
                    Convert.ToInt64(overBoxes), NumberToRussianString.WordGender.Masculine);
                lblOverWeight.Text = overWeight.ToString();
                lblWeightWord.Text = NumberToRussianString.NumberToString(
                    Convert.ToInt64(overWeight), NumberToRussianString.WordGender.Masculine);

                Inpnaklnumber.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklNumber` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
                Inpseria.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklSeria` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
                Inpdate.Text =
                    dm.QueryWithReturnDataSet("SELECT `NaklDate` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();

                var ticket = new Tickets {
                    ID = Convert.ToInt32(controlTicketID)
                };
                ticket.GetById();
            }

            if (String.IsNullOrEmpty(idListString) || lvAllPrint.Items.Count == 0)
            {
                Page.Visible = false;
                if (String.IsNullOrEmpty(idListString))
                {
                    Response.Write(Resources.PrintResources.PrintNaklPrilEmptyText);
                }
                else
                {
                    Response.Write(Resources.PrintResources.PrintNaklPrilEmptyText +
                                   String.Format("<br/><center><a href=\"{0}&with_ur=1\">печать с юр. лицами</a><center>", Request.RawUrl));
                }
                Page.Visible = false;
            }
        }
示例#20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            OtherMethods.ActiveRightMenuStyleChanche("hlApiLogs", this.Page);
            OtherMethods.ActiveRightMenuStyleChanche("hlContent", this.Page);
            Page.Title = PagesTitles.ManagerApiLogsView + BackendHelper.TagToValue("page_title_part");

            #region Блок доступа к странице
            var userInSession = (Users)Session["userinsession"];
            var rolesList     = Application["RolesList"] as List <Roles>;
            var currentRole   = (Roles)rolesList.SingleOrDefault(u => u.Name.ToLower() == userInSession.Role.ToLower());
            if (currentRole.PageApiLogView != 1)
            {
                Response.Redirect("~/Error.aspx?id=1");
            }
            #endregion

            var dm = new DataManager();
            if (!IsPostBack)
            {
                stbCreateDate1.Text = DateTime.Now.ToString("dd-MM-yyyy");
                var dataSet1 = dm.QueryWithReturnDataSet("SELECT DISTINCT ApiType FROM apilog ORDER BY UserID ASC");
                sddApiType.DataSource     = dataSet1;
                sddApiType.DataTextField  = "ApiType";
                sddApiType.DataValueField = "ApiType";
                sddApiType.DataBind();
                sddApiType.Items.Insert(0, new ListItem("Все", string.Empty));

                var dataSet2 = dm.QueryWithReturnDataSet("SELECT DISTINCT ApiName FROM apilog ORDER BY UserID ASC");
                sddApiName.DataSource     = dataSet2;
                sddApiName.DataTextField  = "ApiName";
                sddApiName.DataValueField = "ApiName";
                sddApiName.DataBind();
                sddApiName.Items.Insert(0, new ListItem("Все", string.Empty));

                var dataSet3 = dm.QueryWithReturnDataSet("SELECT DISTINCT MethodName FROM apilog ORDER BY UserID ASC");
                sddMethodName.DataSource     = dataSet3;
                sddMethodName.DataTextField  = "MethodName";
                sddMethodName.DataValueField = "MethodName";
                sddMethodName.DataBind();
                sddMethodName.Items.Insert(0, new ListItem("Все", string.Empty));
            }

            var whereBetween = String.Empty;
            if (!string.IsNullOrEmpty(stbCreateDate1.Text) && !string.IsNullOrEmpty(stbCreateDate2.Text))
            {
                whereBetween = "WHERE (CreateDate BETWEEN '" +
                               Convert.ToDateTime(stbCreateDate1.Text).ToString("yyyy-MM-dd") + "' AND '" +
                               Convert.ToDateTime(stbCreateDate2.Text).ToString("yyyy-MM-dd") + "')";
            }

            if (!string.IsNullOrEmpty(stbCreateDate1.Text) && string.IsNullOrEmpty(stbCreateDate2.Text))
            {
                whereBetween = "WHERE (CreateDate BETWEEN '" +
                               Convert.ToDateTime(stbCreateDate1.Text).ToString("yyyy-MM-dd") + "' AND '" +
                               Convert.ToDateTime(stbCreateDate1.Text).AddYears(1).ToString("yyyy-MM-dd") + "')";
            }

            if (string.IsNullOrEmpty(stbCreateDate1.Text) && !string.IsNullOrEmpty(stbCreateDate2.Text))
            {
                whereBetween = "WHERE (CreateDate BETWEEN '" +
                               Convert.ToDateTime(stbCreateDate2.Text).AddYears(-2).ToString("yyyy-MM-dd") + "' AND '" +
                               Convert.ToDateTime(stbCreateDate2.Text).ToString("yyyy-MM-dd") + "')";
            }

            var dataSetForStatInfo = dm.QueryWithReturnDataSet("" +
                                                               "SELECT COUNT(DISTINCT `UserID`) FROM `apilog` " + whereBetween + ";" +
                                                               "SELECT SUM(`ResponseBodyLenght`) FROM `apilog` " + whereBetween + ";" +
                                                               "SELECT COUNT(DISTINCT `ApiKey`) FROM `apilog` " + whereBetween + ";" +
                                                               "SELECT COUNT(*) FROM `apilog` " + whereBetween + ";");
            var dataSetForTopQuery = dm.QueryWithReturnDataSet("SELECT UserID, COUNT(*) as NumberOfQuery FROM `apilog` " + whereBetween + " GROUP BY UserID ORDER BY NumberOfQuery DESC LIMIT 4;");
            var dataSetForTopInfo  = dm.QueryWithReturnDataSet("SELECT UserID, SUM(`ResponseBodyLenght`) as InfoCount FROM `apilog` " + whereBetween + " GROUP BY UserID ORDER BY InfoCount DESC LIMIT 4;");
            lblFirstByInfo.Text     = lblFirstByQuery.Text = lblSecondByInfo.Text = lblSecondByQuery.Text =
                lblThirdByInfo.Text = lblThirdByQuery.Text = lblFourthByInfo.Text = lblFourthByQuery.Text = String.Empty;

            lblUsersCount.Text =
                MoneyMethods.MoneySeparator(dataSetForStatInfo.Tables[0].Rows[0][0]
                                            .ToString());
            var responceBobyLenghtSummInBitString = dataSetForStatInfo.Tables[1].Rows[0][0]
                                                    .ToString();
            decimal responceBobyLenghtSummInBit = 0;
            if (!String.IsNullOrEmpty(responceBobyLenghtSummInBitString))
            {
                responceBobyLenghtSummInBit = Convert.ToDecimal(responceBobyLenghtSummInBitString);
            }
            lblInfoCount.Text = String.Format("{1} Mb / {0} Kb",
                                              MoneyMethods.MoneySeparator(responceBobyLenghtSummInBit),
                                              MoneyMethods.MoneySeparator(Convert.ToDecimal(responceBobyLenghtSummInBit) / 1048576));
            lblApiKeysCount.Text = MoneyMethods.MoneySeparator(dataSetForStatInfo.Tables[2].Rows[0][0].ToString());
            lblQueriesCount.Text = MoneyMethods.MoneySeparator(dataSetForStatInfo.Tables[3].Rows[0][0].ToString());
            var currentAppAddress = BackendHelper.TagToValue("current_app_address");
            if (dataSetForTopQuery.Tables[0].Rows.Count >= 1)
            {
                lblFirstByQuery.Text = String.Format("<a href='http://{2}/ManagerUI/Menu/Souls/ClientEdit.aspx?id={3}'>{0}</a>: {1}",
                                                     UsersHelper.UserIDToFullName(dataSetForTopQuery.Tables[0].Rows[0][0].ToString()),
                                                     dataSetForTopQuery.Tables[0].Rows[0][1],
                                                     currentAppAddress,
                                                     dataSetForTopQuery.Tables[0].Rows[0][0]);
            }
            if (dataSetForTopQuery.Tables[0].Rows.Count >= 2)
            {
                lblSecondByQuery.Text = String.Format("<a href='http://{2}/ManagerUI/Menu/Souls/ClientEdit.aspx?id={3}'>{0}</a>: {1}",
                                                      UsersHelper.UserIDToFullName(dataSetForTopQuery.Tables[0].Rows[1][0].ToString()),
                                                      dataSetForTopQuery.Tables[0].Rows[1][1],
                                                      currentAppAddress,
                                                      dataSetForTopQuery.Tables[0].Rows[1][0]);
            }
            if (dataSetForTopQuery.Tables[0].Rows.Count >= 3)
            {
                lblThirdByQuery.Text = String.Format("<a href='http://{2}/ManagerUI/Menu/Souls/ClientEdit.aspx?id={3}'>{0}</a>: {1}",
                                                     UsersHelper.UserIDToFullName(dataSetForTopQuery.Tables[0].Rows[2][0].ToString()),
                                                     dataSetForTopQuery.Tables[0].Rows[2][1],
                                                     currentAppAddress,
                                                     dataSetForTopQuery.Tables[0].Rows[2][0]);
            }
            if (dataSetForTopQuery.Tables[0].Rows.Count >= 4)
            {
                lblFourthByQuery.Text = String.Format("<a href='http://{2}/ManagerUI/ClientEdit.aspx?id={3}'>{0}</a>: {1}",
                                                      UsersHelper.UserIDToFullName(dataSetForTopQuery.Tables[0].Rows[3][0].ToString()),
                                                      dataSetForTopQuery.Tables[0].Rows[3][1],
                                                      currentAppAddress,
                                                      dataSetForTopQuery.Tables[0].Rows[3][0]);
            }


            if (dataSetForTopInfo.Tables[0].Rows.Count >= 1)
            {
                lblFirstByInfo.Text = String.Format("<a href='http://{2}/ManagerUI/Menu/Souls/ClientEdit.aspx?id={3}'>{0}</a>: {1} Mb",
                                                    UsersHelper.UserIDToFullName(dataSetForTopInfo.Tables[0].Rows[0][0].ToString()),
                                                    MoneyMethods.MoneySeparator(Convert.ToDecimal(dataSetForTopInfo.Tables[0].Rows[0][1]) / 1048576),
                                                    currentAppAddress,
                                                    dataSetForTopInfo.Tables[0].Rows[0][0]);
            }
            if (dataSetForTopInfo.Tables[0].Rows.Count >= 2)
            {
                lblSecondByInfo.Text = String.Format("<a href='http://{2}/ManagerUI/Menu/Souls/ClientEdit.aspx?id={3}'>{0}</a>: {1} Mb",
                                                     UsersHelper.UserIDToFullName(dataSetForTopInfo.Tables[0].Rows[1][0].ToString()),
                                                     MoneyMethods.MoneySeparator(Convert.ToDecimal(dataSetForTopInfo.Tables[0].Rows[1][1]) / 1048576),
                                                     currentAppAddress,
                                                     dataSetForTopInfo.Tables[0].Rows[1][0]);
            }
            if (dataSetForTopInfo.Tables[0].Rows.Count >= 3)
            {
                lblThirdByInfo.Text = String.Format("<a href='http://{2}/ManagerUI/Menu/Souls/ClientEdit.aspx?id={3}'>{0}</a>: {1} Mb",
                                                    UsersHelper.UserIDToFullName(dataSetForTopInfo.Tables[0].Rows[2][0].ToString()),
                                                    MoneyMethods.MoneySeparator(Convert.ToDecimal(dataSetForTopInfo.Tables[0].Rows[2][1]) / 1048576),
                                                    currentAppAddress,
                                                    dataSetForTopInfo.Tables[0].Rows[2][0]);
            }
            if (dataSetForTopInfo.Tables[0].Rows.Count >= 4)
            {
                lblFourthByInfo.Text = String.Format("<a href='http://{2}/ManagerUI/ClientEdit.aspx?id={3}'>{0}</a>: {1} Mb",
                                                     UsersHelper.UserIDToFullName(dataSetForTopInfo.Tables[0].Rows[3][0].ToString()),
                                                     MoneyMethods.MoneySeparator(Convert.ToDecimal(dataSetForTopInfo.Tables[0].Rows[3][1]) / 1048576),
                                                     currentAppAddress,
                                                     dataSetForTopInfo.Tables[0].Rows[3][0]);
            }

            if (BackendHelper.TagToValue("allow_unauth_api_request") == "true")
            {
                divOpenApi.Visible = true;
            }
        }
示例#21
0
        public void Page_Load(object sender, EventArgs e)
        {
            Page.Title = PagesTitles.ManagerDefaultTitle + BackendHelper.TagToValue("page_title_part");
            OtherMethods.ActiveRightMenuStyleChanche("hlMain", this.Page);
            var user = (Users)Session["userinsession"];

            lblUserName.Text = user.Name;
            lblUID.Text      = user.ID.ToString();
            lblLogin.Text    = user.Login;
            lblEmail.Text    = user.Email;
            lblRole.Text     = user.RussRole;

            var userInSession = (Users)Session["userinsession"];
            var rolesList     = Application["RolesList"] as List <Roles>;
            var currentRole   = (Roles)rolesList.SingleOrDefault(u => u.Name.ToLower() == userInSession.Role.ToLower());

            if (currentRole.Name == Users.Roles.SuperAdmin.ToString())
            {
                lbRestartSubMemcache.Visible = true;
            }
            var dm = new DataManager();

            lblAllUsers.Text =
                MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("SELECT COUNT(*) FROM `users` WHERE `Role` = 'User';").Tables[0].Rows[0][0].ToString());
            lblBlockedUsers.Text =
                MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("SELECT COUNT(*) FROM `users` WHERE `Role` = 'User' AND `Status` = 3;").Tables[0].Rows[0][0].ToString());
            lblActiveUsers.Text =
                MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("SELECT COUNT(*) FROM `users` WHERE `Role` = 'User' AND `Status` = 2;").Tables[0].Rows[0][0].ToString());
            lblNewUsers.Text =
                MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("SELECT COUNT(*) FROM `users` WHERE `Role` = 'User' AND `Status` = 1;").Tables[0].Rows[0][0].ToString());
            pnlUsers.Visible = true;

            if (currentRole.PageUserTicketView == 1 || currentRole.PageUserTicketNotProcessedView == 1 || currentRole.PageUserTicketByDeliveryOnMinsk == 1 || currentRole.PageUserTicketByDeliveryOnBelarus == 1)
            {
                lblTicketsAll.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `tickets`;").Tables[0].Rows[0][0].ToString());
                lblCreateToday.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet(String.Format("select count(*) from `tickets` WHERE (`CreateDate` > '{0}' AND `CreateDate` < '{1}' );", DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"))).Tables[0].Rows[0][0].ToString());
                lblNewToday.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet(String.Format("select count(*) from `tickets` WHERE (`CreateDate` > '{0}' AND `CreateDate` < '{1}' AND `StatusID` = 1);", DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"))).Tables[0].Rows[0][0].ToString());
                lblNewAll.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `tickets` WHERE `StatusID` = 1;").Tables[0].Rows[0][0].ToString());
                lblDeliveryToday.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet(String.Format("select count(*) from `tickets` WHERE (`DeliveryDate` = '{0}');", DateTime.Now.ToString("yyyy-MM-dd"))).Tables[0].Rows[0][0].ToString());
                lblDeliveryTomorow.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet(String.Format("select count(*) from `tickets` WHERE (`DeliveryDate` = '{0}');", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"))).Tables[0].Rows[0][0].ToString());
                lblInProgress.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `tickets` WHERE `StatusID` = 3;").Tables[0].Rows[0][0].ToString());
                lblDelivered.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `tickets` WHERE `StatusID` = 12;").Tables[0].Rows[0][0].ToString());
                lblProcessed.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `tickets` WHERE `StatusID` = 5;").Tables[0].Rows[0][0].ToString());
                lblCompleted.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `tickets` WHERE `StatusID` = 6;").Tables[0].Rows[0][0].ToString());
                pnlTickets.Visible = true;
            }

            if (currentRole.PageCategoryView == 1)
            {
                lblTitles.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `titles`;").Tables[0].Rows[0][0].ToString());
                pnlCategory.Visible = true;
            }

            if (currentRole.PageCityView == 1)
            {
                lblCity.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `city`;").Tables[0].Rows[0][0].ToString());
                pnlCity.Visible = true;
            }

            if (currentRole.PageDriversView == 1)
            {
                lblDrivers.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("SELECT COUNT(*) FROM `drivers` WHERE `StatusID` = 1;").Tables[0].Rows[0][0].ToString());
                pnlDrivers.Visible = true;
            }

            if (currentRole.PageManagersView == 1)
            {
                lblManagers.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("SELECT COUNT(*) FROM `users` WHERE `Role` <> 'User';").Tables[0].Rows[0][0].ToString());
                pnlManagers.Visible = true;
            }

            if (currentRole.PageNewsView == 1)
            {
                lblNews.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `news`;").Tables[0].Rows[0][0].ToString());
                pnlNews.Visible = true;
            }

            if (currentRole.PageErrorsLogView == 1)
            {
                lblErrors.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `errorslog`;").Tables[0].Rows[0][0].ToString());
                pnlErrors.Visible = true;
            }

            if (currentRole.PageFeedbacksView == 1)
            {
                lblFeedback.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("SELECT COUNT(*) FROM `feedback` WHERE StatusID = 0;").Tables[0].Rows[0][0].ToString());
                pnlFeedback.Visible = true;
            }

            if (currentRole.PageTracksView == 1)
            {
                lblTracks.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `tracks`;").Tables[0].Rows[0][0].ToString());
                pnlTracks.Visible = true;
            }

            if (currentRole.PageLogsView == 1)
            {
                lblLogs.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `userslog`;").Tables[0].Rows[0][0].ToString());
                pnlLogs.Visible = true;
            }

            if (currentRole.PageApiLogView == 1)
            {
                lblApiLogs.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `apilog`;").Tables[0].Rows[0][0].ToString());
                pnlApiLogs.Visible = true;
            }

            if (currentRole.PageClientsView == 1)
            {
                lblCategory.Text =
                    MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `category`;").Tables[0].Rows[0][0].ToString());
                pnlClients.Visible = true;
            }

            lblProvidersView.Text =
                MoneyMethods.MoneySeparator(dm.QueryWithReturnDataSet("select count(*) from `providers`;").Tables[0].Rows[0][0].ToString());

            var lastNews = dm.QueryWithReturnDataSet("SELECT `CreateDate`, `Title`, `Body`, `TitleUrl` FROM `news` WHERE `NewsTypeID` = '1' ORDER BY ID DESC LIMIT 1;").Tables[0];

            if (lastNews.Rows.Count != 0)
            {
                lblNewsDate.Text  = Convert.ToDateTime(lastNews.Rows[0][0]).ToString("dd.MM.yyyy");
                lblNewsTitle.Text = lastNews.Rows[0][1].ToString();
                var body = lastNews.Rows[0][2].ToString();
                if (body.Length > 300)
                {
                    lblNewsText.Text = body.Remove(300, body.Length - 300) + "...";
                }
                else
                {
                    lblNewsText.Text = body;
                }
                hlNewsTitle.NavigateUrl = string.Format("~/ManagerUI/Menu/NewsFeed/NewsFromFeedView.aspx?title={0}", lastNews.Rows[0][3].ToString());
            }

            //пересчитываем просмотренные новости
            //обновляем\задаем авторизационную куку с данными пользователя
            AuthenticationMethods.SetUserCookie(userInSession);

            //механизм нотификаций
            lblStatus.Text = String.Empty;
            if (Session["flash:now"] != null && Session["flash:now"].ToString() != String.Empty)
            {
                lblStatus.Text       = Session["flash:now"].ToString();
                Session["flash:now"] = String.Empty;
            }
        }
示例#22
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");
        }
示例#23
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.Title = PagesTitles.ManagerUserTicketEditTitle + BackendHelper.TagToValue("page_title_part");
            OtherMethods.ActiveRightMenuStyleChanche("hlTickets", this.Page);
            Form.DefaultButton = btnCreate.UniqueID;
            AppKey             = Globals.Settings.AppServiceSecureKey;
            FirstUserApiKey    = Globals.Settings.FirstUserApiKey;

            #region Блок доступа к странице
            var userInSession = (Users)Session["userinsession"];
            var rolesList     = Application["RolesList"] as List <Roles>;
            var currentRole   = Role = (Roles)rolesList.SingleOrDefault(u => u.Name.ToLower() == userInSession.Role.ToLower());
            if (currentRole.PageUserTicketEdit != 1)
            {
                Response.Redirect("~/Error.aspx?id=1");
            }
            #endregion

            #region Блок доступа к данным на странице
            IsVisibleUserProfileData = true;
            IsVisibleUserAccountData = true;

            if (currentRole.PageUserProfileView == 0)
            {
                IsVisibleUserProfileData = false;
            }

            if (currentRole.PageClientsView == 0)
            {
                IsVisibleUserAccountData = false;
            }

            trUserProfileData.Visible = IsVisibleUserProfileData;
            trUserAccountData.Visible = IsVisibleUserAccountData;
            #endregion

            #region  едирект на страницу всех заявок если заявки нет
            if (Page.Request.Params["id"] == null || Page.Request.Params["id"] == String.Empty)
            {
                Page.Response.Redirect("~/ManagerUI/Menu/Tickets/UserTicketView.aspx");
            }
            #endregion

            if (!IsPostBack)
            {
                #region Загрузка tickets по SecureID или FullSecureID. Метод на очистку.
                DAL.DataBaseObjects.Tickets ticket;
                if (Page.Request.Params["id"].Length > 7)
                {
                    ticket = new DAL.DataBaseObjects.Tickets {
                        FullSecureID = Page.Request.Params["id"]
                    };
                    ticket.GetByFullSecureId();
                }
                else
                {
                    ticket = new DAL.DataBaseObjects.Tickets {
                        SecureID = Page.Request.Params["id"]
                    };
                    ticket.GetBySecureId();
                }
                #endregion

                #region Создание форм для груза
                GoodsCount = GoodsHelper.GoodsCount(ticket.FullSecureID);
                hfHowManyControls.Value = GoodsCount.ToString();
                AddGodsInPanel(GoodsCount);
                #endregion

                #region Заполнение созданных формы
                var goods = new Goods {
                    TicketFullSecureID = ticket.FullSecureID
                };
                var ds            = goods.GetAllItems("ID", "ASC", "TicketFullSecureID");
                var goodsIterator = 1;
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    var tbGoodsDescription = (TextBox)pnlBooks.FindControl("tbGoodsDescription" + goodsIterator);
                    var tbGoodsModel       = (TextBox)pnlBooks.FindControl("tbGoodsModel" + goodsIterator);
                    var tbGoodsNumber      = (TextBox)pnlBooks.FindControl("tbGoodsNumber" + goodsIterator);
                    var tbGoodsCost        = (TextBox)pnlBooks.FindControl("tbGoodsCost" + goodsIterator);
                    var hfGoodsID          = (HiddenField)pnlBooks.FindControl("hfGoodsID" + goodsIterator);
                    var hfWithoutAkciza    = (HiddenField)pnlBooks.FindControl("hfWithoutAkciza" + goodsIterator);

                    var hfGoodsNumber      = (HiddenField)pnlBooks.FindControl("hfGoodsNumber" + goodsIterator);
                    var hfGoodsCost        = (HiddenField)pnlBooks.FindControl("hfGoodsCost" + goodsIterator);
                    var hfGoodsDescription = (HiddenField)pnlBooks.FindControl("hfGoodsDescription" + goodsIterator);
                    var hfGoodsModel       = (HiddenField)pnlBooks.FindControl("hfGoodsModel" + goodsIterator);

                    tbGoodsDescription.Text = hfGoodsDescription.Value = row["Description"].ToString();
                    tbGoodsModel.Text       = hfGoodsModel.Value = row["Model"].ToString();
                    tbGoodsNumber.Text      = hfGoodsNumber.Value = row["Number"].ToString();
                    tbGoodsCost.Text        = hfGoodsCost.Value = MoneyMethods.MoneySeparator(row["Cost"].ToString());
                    hfGoodsID.Value         = row["ID"].ToString();
                    hfWithoutAkciza.Value   = row["WithoutAkciza"].ToString();
                    goodsIterator++;
                }
                #endregion

                #region Вывод старых грузов. Метод на очистку.
                if (GoodsCount == 0)
                {
                    lblOldGoods.Visible = true;
                    lblOldGoods.Text    = "<b>" + OtherMethods.GoodsStringFromTicketID(ticket.ID.ToString()) + "</b><br/>";
                }
                #endregion

                #region Инициализация сущностей
                var user = new Users();
                user.ID = Convert.ToInt32(ticket.UserID);
                user.GetById();

                #region Блок конфигурации удаления заявки
                if (currentRole.ActionUserTicketDelete != 1)
                {
                    btnDelete.Visible = false;
                }
                #endregion

                var profile = new UsersProfiles();
                profile.ID = Convert.ToInt32(ticket.UserProfileID);
                profile.GetById();
                #endregion

                #region блок общей информации

                SpecialClient = user.SpecialClient;

                hfID.Value                = ticket.ID.ToString();
                hfDriverID.Value          = ticket.DriverID.ToString();
                hfStatusID.Value          = ticket.StatusID.ToString();
                hfStatusIDOld.Value       = ticket.StatusIDOld.ToString();
                hfStatusDescription.Value = ticket.StatusDescription;
                hfAdmissionDate.Value     = ticket.AdmissionDate.ToString();

                hfUserID.Value          = UserID = ticket.UserID.ToString();
                hfUserDiscount.Value    = user.Discount.ToString();
                hfUserProfileType.Value = profile.TypeID.ToString();
                hfFullSecureID.Value    = ticket.FullSecureID;
                lblID.Text                 = ticket.SecureID;
                hlUser.Text                = user.Family + ' ' + user.Name;
                hlUser.NavigateUrl         = "~/ManagerUI/Menu/Souls/ClientEdit.aspx?id=" + ticket.UserID;
                hlProfile.Text             = profile.TypeID == 1 ? (profile.FirstName + ' ' + profile.LastName) : profile.CompanyName;
                hlProfile.NavigateUrl      = "~/ManagerUI/Menu/Souls/ProfileView.aspx?id=" + ticket.UserProfileID;
                lblProfileType.Text        = UsersProfilesHelper.UserProfileTypeToText(Convert.ToInt32(profile.TypeID));
                lblCreateDate.Text         = OtherMethods.DateConvert(ticket.CreateDate.ToString());
                lblAdmissionDate.Text      = OtherMethods.DateConvert(ticket.AdmissionDate.ToString());
                lblDeliveryDateStatic.Text = OtherMethods.DateConvert(ticket.DeliveryDate.ToString());
                lblIsExchange.Text         = ticket.IsExchange == 0 ? "нет" : "да";
                cbWithoutMoney.Checked     = ticket.WithoutMoney != 0;
                lblNN.Text                 = ticket.PrintNaklInMap == 0 ? "нет" : "да";
                lblPN.Text                 = ticket.PrintNakl == 0 ? "нет" : "да";
                if (String.IsNullOrEmpty(ticket.Comment))
                {
                    tdComment.Visible = false;
                }
                else
                {
                    lblComment.Text = WebUtility.HtmlDecode(ticket.Comment);
                }
                var regionText = CityHelper.CityToTrack(Convert.ToInt32(ticket.CityID), ticket.ID.ToString());
                if (ticket.TrackIDUser != 0 || regionText == "Не задано")
                {
                    ddlUserTrack.Visible = true;
                    lblTrack.Visible     = false;

                    var region = new Tracks();
                    ddlUserTrack.DataSource     = region.GetAllItems();
                    ddlUserTrack.DataTextField  = "Name";
                    ddlUserTrack.DataValueField = "ID";
                    ddlUserTrack.DataBind();
                    ddlUserTrack.Items.Insert(0, new ListItem("Не задано", "0"));
                    ddlUserTrack.SelectedValue = Convert.ToString(ticket.TrackIDUser);
                }
                else
                {
                    lblTrack.Text = regionText;
                }

                if (string.IsNullOrEmpty(lblAdmissionDate.Text))
                {
                    lblAdmissionDate.Text = "Груз пока не на складе";
                }
                #endregion

                #region блок информации, заполняемой пользователем
                AssessedCost         = MoneyMethods.MoneySeparator(ticket.AssessedCost.ToString());
                hfAssessedCost.Value = ticket.AssessedCost.ToString();
                lblAssessedCost.Text = MoneyMethods.MoneySeparator(ticket.AssessedCost.ToString());

                tbDeliveryCost.Text = MoneyMethods.MoneySeparator(ticket.DeliveryCost.ToString());
                ddlRecipientStreetPrefix.SelectedValue = ticket.RecipientStreetPrefix;
                tbRecipientStreet.Text              = ticket.RecipientStreet;
                tbRecipientStreetNumber.Text        = ticket.RecipientStreetNumber;
                tbRecipientKorpus.Text              = ticket.RecipientKorpus;
                tbRecipientKvartira.Text            = ticket.RecipientKvartira;
                tbRecipientPhone.Text               = ticket.RecipientPhone;
                tbRecipientPhone2.Text              = ticket.RecipientPhoneTwo;
                ddlSenderStreetPrefix.SelectedValue = ticket.SenderStreetPrefix;
                tbSenderStreetName.Text             = ticket.SenderStreetName;
                tbSenderStreetNumber.Text           = ticket.SenderStreetNumber;
                tbSenderHousing.Text         = ticket.SenderHousing;
                tbSenderApartmentNumber.Text = ticket.SenderApartmentNumber;
                tbNote.Text               = ticket.Note;
                tbBoxesNumber.Text        = string.IsNullOrEmpty(ticket.BoxesNumber.ToString()) ? "1" : ticket.BoxesNumber.ToString();
                tbDeliveryDate.Text       = Convert.ToDateTime(ticket.DeliveryDate).ToString("dd-MM-yyyy");
                tbRecipientFirstName.Text = ticket.RecipientFirstName;
                tbRecipientLastName.Text  = ticket.RecipientLastName;
                tbRecipientThirdName.Text = ticket.RecipientThirdName;
                tbTtnSeria.Text           = ticket.TtnSeria;
                tbTtnNumber.Text          = ticket.TtnNumber;
                tbOtherDocuments.Text     = ticket.OtherDocuments;
                tbPassportNumber.Text     = ticket.PassportNumber;
                tbPassportSeria.Text      = ticket.PassportSeria;

                if (!String.IsNullOrEmpty(ticket.DeliveryCost.ToString()) && ticket.DeliveryCost != 0)
                {
                    cbIsDeliveryCost.Checked = true;
                }

                //автокомплит наименования
                var titles          = new Titles();
                var availableTitles = titles.GetAllItems("Name", "ASC", null).Tables[0].Rows.Cast <DataRow>().Aggregate(String.Empty, (current, items) => current + ("\"" + items["Name"] + "\","));
                AvailableTitles = availableTitles.Remove(availableTitles.Length - 1);
                #endregion

                #region Заполнение города
                var allCity = Application["CityList"] as List <City>;
                if (allCity != null)
                {
                    tbCity.Text    = CityHelper.CityIDToAutocompleteString(allCity.FirstOrDefault(u => u.ID == ticket.CityID));
                    hfCityID.Value = ticket.CityID.ToString();

                    var senderCity = allCity.First(u => u.ID == ticket.SenderCityID);
                    tbSenderCity.Text    = CityHelper.CityIDToAutocompleteString(senderCity);
                    hfSenderCityID.Value = ticket.SenderCityID.ToString();
                }
                #endregion

                hfWharehouse.Value = ticket.WharehouseId.ToString();

                #region блок информации, заполняемой менеджером
                ddlStatus.DataSource     = DAL.DataBaseObjects.Tickets.TicketStatuses;
                ddlStatus.DataTextField  = "Value";
                ddlStatus.DataValueField = "Key";
                ddlStatus.DataBind();
                ddlStatus.SelectedValue = Convert.ToString(ticket.StatusID);

                var ddrivers = new Drivers {
                    StatusID = 1
                };
                var dataSet5 = ddrivers.GetAllActivatedDrivers();
                dataSet5.Tables[0].Columns.Add("FIOAndID", typeof(string), "'(' + ID + ') ' + FirstName + ' ' + SUBSTRING(LastName,1,1) + '.' +  SUBSTRING(ThirdName,1,1) + '.'");
                ddlDrivers.DataSource     = dataSet5;
                ddlDrivers.DataTextField  = "FIOAndID";
                ddlDrivers.DataValueField = "ID";
                ddlDrivers.DataBind();
                ddlDrivers.Items.Insert(0, new ListItem("Водитель не назначен", "0"));

                tbAgreedCost.Text   = MoneyMethods.MoneySeparator(ticket.AgreedCost.ToString());
                tbGruzobozCost.Text = MoneyMethods.MoneySeparator(ticket.GruzobozCost.ToString());

                #region Блок блокировки полей
                if (currentRole.ActionControlGruzobozCost != 1)
                {
                    tbGruzobozCost.Enabled = false;
                }
                if (currentRole.ActionStatusAdd != 1)
                {
                    ddlStatus.Enabled           = false;
                    tbDeliveryDate.Enabled      = false;
                    tbStatusDescription.Enabled = false;
                }
                if (currentRole.ActionDriverAdd != 1)
                {
                    ddlDrivers.Enabled = false;
                }
                if (currentRole.ActionAllowChangeMoneyAndCourse != 1)
                {
                    tbAgreedCost.Enabled   = false;
                    tbGruzobozCost.Enabled = false;
                }
                #endregion

                //если id водителя 0 или -1 - водитель не назначен
                if (ticket.DriverID != 0 && ticket.DriverID != -1)
                {
                    ddlDrivers.SelectedValue = ticket.DriverID.ToString();
                }
                else
                {
                    ddlDrivers.SelectedValue = "0";
                }

                //если статусы На складе (перенесен), Отказ (у курьера), Возврат (на складе), Отмена (на складе), Отмена то показываем почему
                if (ddlStatus.SelectedValue == "7" || ddlStatus.SelectedValue == "8" || ddlStatus.SelectedValue == "4" || ddlStatus.SelectedValue == "9" || ddlStatus.SelectedValue == "10")
                {
                    lblStatusDescription.Visible = true;
                    tbStatusDescription.Visible  = true;
                    tbStatusDescription.Text     = ticket.StatusDescription;
                }
                #endregion

                #region Ограничения на правку текстбоксов
                //если админ или статусы "Не обработана" или "На складе" или "На складе (перенесено)", или "Отмена" или "Отмена (на складе)" - можно изменять все поля пользователя
                if (currentRole.ActionDisallowEditSomeFieldInTickets != 1 &&
                    (ddlStatus.SelectedValue == "1" || ddlStatus.SelectedValue == "2" || ddlStatus.SelectedValue == "4" || ddlStatus.SelectedValue == "9" || ddlStatus.SelectedValue == "10") &&
                    currentRole.ActionDisallowTicketChangeWithoutManagerInfo != 1)
                {
                    tbCity.Enabled =
                        tbRecipientStreetNumber.Enabled                                                       =
                            tbRecipientKorpus.Enabled                                                         =
                                tbRecipientFirstName.Enabled                                                  =
                                    tbRecipientLastName.Enabled                                               =
                                        tbRecipientThirdName.Enabled                                          =
                                            tbRecipientKvartira.Enabled                                       =
                                                tbRecipientPhone.Enabled                                      =
                                                    tbBoxesNumber.Enabled                                     =
                                                        tbDeliveryDate.Enabled                                =
                                                            tbOtherDocuments.Enabled                          =
                                                                tbTtnNumber.Enabled                           =
                                                                    tbTtnSeria.Enabled                        =
                                                                        tbPassportNumber.Enabled              =
                                                                            tbPassportSeria.Enabled           =
                                                                                tbRecipientPhone2.Enabled     =
                                                                                    tbRecipientStreet.Enabled =
                                                                                        tbNote.Enabled        = true;
                    for (var i = 1; i <= GoodsCount; i++)
                    {
                        var tbGoodsDescription = (TextBox)pnlBooks.FindControl("tbGoodsDescription" + i);
                        var tbGoodsModel       = (TextBox)pnlBooks.FindControl("tbGoodsModel" + i);
                        var tbGoodsNumber      = (TextBox)pnlBooks.FindControl("tbGoodsNumber" + i);
                        tbGoodsDescription.Enabled = true;
                        tbGoodsModel.Enabled       = true;
                        tbGoodsNumber.Enabled      = true;
                    }
                }

                if (currentRole.ActionDisallowTicketChangeWithoutManagerInfo == 1)
                {
                    ddlUserTrack.Enabled         = false;
                    tbRecipientFirstName.Enabled = false;
                    tbRecipientLastName.Enabled  = false;
                    tbRecipientThirdName.Enabled = false;
                }

                //только админ может изменять курсы
                if (currentRole.ActionAllowChangeMoneyAndCourse == 1 && currentRole.ActionDisallowTicketChangeWithoutManagerInfo != 1)
                {
                    cbIsDeliveryCost.Enabled   =
                        tbDeliveryCost.Enabled = true;

                    for (var i = 1; i <= GoodsCount; i++)
                    {
                        var tbGoodsCost = (TextBox)pnlBooks.FindControl("tbGoodsCost" + i);
                        tbGoodsCost.Enabled = true;
                    }
                }
                #endregion
            }

            if (!String.IsNullOrEmpty(hfCityID.Value))
            {
                var coefficientDeviationCost = Convert.ToDouble(BackendHelper.TagToValue("coefficient_deviation_cost"));
                var city = new City {
                    ID = Convert.ToInt32(hfCityID.Value)
                };
                city.GetById();
                var district = new Districts {
                    ID = Convert.ToInt32(city.DistrictID)
                };
                district.GetById();
                lblCityCost.Text         = MoneyMethods.MoneySeparatorForCityTableView((city.DistanceFromCity * Convert.ToDecimal(coefficientDeviationCost)).ToString());
                lblCityDeliveryDate.Text =
                    DistrictsHelper.DeliveryDateStringToRuss(DistrictsHelper.DeliveryDateString(city.DistrictID));
                lblCityDeliveryTerms.Text =
                    DistrictsHelper.DeliveryTermsToRuss(DistrictsHelper.DeliveryTerms(city.DistrictID));
            }
        }
示例#24
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            var ticket = new Tickets {
                ID = Convert.ToInt32(TicketID)
            };

            ticket.GetById();
            AssessedCost = MoneyMethods.MoneySeparator(ticket.AssessedCost);

            pnlOldTickets.Visible = false;
            pnlNewTickets.Visible = true;

            #region Создаем датасеты с четными и нечетными грузами
            var goods = new Goods {
                TicketFullSecureID = ticket.FullSecureID
            };
            var ds1 = goods.GetAllItems("ID", "ASC", "TicketFullSecureID");
            var ds2 = new DataSet();

            double allCost;
            if (Cost == null)
            {
                allCost = ticket.Pril2Cost == 0 ? Convert.ToDouble(AssessedCost) : Convert.ToDouble(MoneyMethods.MoneySeparator(ticket.Pril2Cost));
            }
            else
            {
                allCost = Convert.ToDouble(MoneyMethods.MoneySeparator(Cost));
            }
            double c = Convert.ToDouble(ticket.Pril2Cost == 0 ? AssessedCost : MoneyMethods.MoneySeparator(ticket.Pril2Cost));
            if (Cost != null && Number != null)
            {
                double sumCost = 0;
                foreach (DataRow row in ds1.Tables[0].Rows.Cast <DataRow>())
                {
                    row["Cost"] = MoneyMethods.MoneySeparator(Convert.ToDouble(row["Cost"]) + ((double.Parse(Cost, CultureInfo.InvariantCulture) - c) / ds1.Tables[0].Rows.Count));
                    //row["Number"] = Number;
                    sumCost += Convert.ToDouble(row["Cost"]);
                }
                if (sumCost != allCost)
                {
                    foreach (DataRow row in ds1.Tables[0].Rows.Cast <DataRow>())
                    {
                        row["Cost"] = MoneyMethods.MoneySeparator(Convert.ToDouble(row["Cost"]) + (allCost - sumCost));
                        //row["Number"] = Convert.ToInt32(Convert.ToDouble(allCost) / sumCost);
                        row["Number"] = 2;
                        break;
                    }
                }
            }

            ds2 = ds1.Copy();
            //делаем ds1 только с нечетными элементами
            foreach (DataRow row in ds1.Tables[0].Rows.Cast <DataRow>().Where(row => Convert.ToInt32(row["ID"]) % 2 == 0))
            {
                row.Delete();
            }

            //делаем ds2 только с четными элементами
            foreach (DataRow row in ds2.Tables[0].Rows.Cast <DataRow>().Where(row => Convert.ToInt32(row["ID"]) % 2 != 0))
            {
                row.Delete();
            }
            #endregion

            #region Выравниваем колличество столбцов в датасетах
            ds1.AcceptChanges();
            ds2.AcceptChanges();

            var ds1RowsNumber = ds1.Tables[0].Rows.Count;
            var ds2RowsNumber = ds2.Tables[0].Rows.Count;
            var ds1InLeft     = true;
            //если нечетных элементов больше чем четных - добавляем к четным еще один (нужно для корректной отрисовки заказ-поручения)
            if (ds1RowsNumber > ds2RowsNumber)
            {
                var row = ds2.Tables[0].NewRow();
                ds2.Tables[0].Rows.Add(row);
            }

            //если четных элементов больше чем нечетных - добавляем к нечетным еще один (нужно для корректной отрисовки заказ-поручения)
            if (ds1RowsNumber < ds2RowsNumber)
            {
                var row = ds1.Tables[0].NewRow();
                ds1.Tables[0].Rows.Add(row);
                ds1InLeft = false;
            }
            #endregion

            #region дополняем датасеты до 3-х элементов (нужно при отрисовке)
            ds1.AcceptChanges();
            ds2.AcceptChanges();
            var dataSetsRowsNumber = ds1.Tables[0].Rows.Count;

            while (dataSetsRowsNumber < 3)
            {
                var row1 = ds1.Tables[0].NewRow();
                var row2 = ds2.Tables[0].NewRow();
                ds1.Tables[0].Rows.Add(row1);
                ds2.Tables[0].Rows.Add(row2);
                ds1.AcceptChanges();
                ds2.AcceptChanges();
                dataSetsRowsNumber = ds1.Tables[0].Rows.Count;
            }
            #endregion

            if (ds1InLeft)
            {
                lvAllGoods1.DataSource = ds1;
                lvAllGoods1.DataBind();

                lvAllGoods2.DataSource = ds2;
                lvAllGoods2.DataBind();
            }
            else
            {
                lvAllGoods1.DataSource = ds2;
                lvAllGoods1.DataBind();

                lvAllGoods2.DataSource = ds1;
                lvAllGoods2.DataBind();
            }

            var lblOveralGoodsCostInListView = (Label)lvAllGoods2.FindControl("lblOveralGoodsCostInListView");
            if (Cost == null)
            {
                lblOveralGoodsCostInListView.Text = ticket.Pril2Cost == 0 ? AssessedCost : MoneyMethods.MoneySeparator(ticket.Pril2Cost);
            }
            else
            {
                lblOveralGoodsCostInListView.Text = MoneyMethods.MoneySeparator(Cost);
            }

            var lblNumber = (Label)lvAllGoods1.FindControl("lblNumber");
            lblNumber.Text = ticket.Pril2BoxesNumber == 0 ? String.Format("кол.:<span class=\"validBoxesNumber\">{0}</span> ", ticket.BoxesNumber) : String.Format("кол.:<span class=\"validBoxesNumber\">{0}</span>", ticket.Pril2BoxesNumber);

            var lblCost = (Label)lvAllGoods1.FindControl("lblCost");
            lblCost.Text = ticket.Pril2Cost == 0 ? String.Format("ст.:<span class=\"validCost\">{0}</span>", AssessedCost) : String.Format("ст.:<span class=\"validCost\">{0}</span>", MoneyMethods.MoneySeparator(ticket.Pril2Cost));
        }