예제 #1
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);
            }
        }
예제 #2
0
        public void lbDelete_Click(Object sender, EventArgs e)
        {
            DeleteAccess();
            var userInSession = (Users)Session["userinsession"];

            BackLink = DriversHelper.BackDriverLinkBuilder(stbDID.Text, stbPhone.Text, sddlStatus.SelectedValue, stbFirstName.Text);
            var lb      = (LinkButton)sender;
            var drivers = new Drivers();

            drivers.Delete(Convert.ToInt32(lb.CommandArgument), userInSession.ID, OtherMethods.GetIPAddress(), "DriversView");
            Page.Response.Redirect("~/ManagerUI/Menu/Souls/DriversView.aspx?" + BackLink);
        }
예제 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.Title = PagesTitles.ManagerDriverViewTitle + BackendHelper.TagToValue("page_title_part");
            OtherMethods.ActiveRightMenuStyleChanche("hlDrivers", this.Page);
            OtherMethods.ActiveRightMenuStyleChanche("hlSouls", this.Page);

            #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.PageDriverView != 1)
            {
                Response.Redirect("~/Error.aspx?id=1");
            }
            #endregion

            if (Page.Request.Params["id"] != null)
            {
                if (!IsPostBack)
                {
                    var driver = new Drivers {
                        ID = Convert.ToInt32(Page.Request.Params["id"])
                    };
                    driver.GetById();
                    lblID.Text        = driver.ID.ToString();
                    lblStatus.Text    = DriversHelper.DriverStatusToText(Convert.ToInt32(driver.StatusID));
                    lblCar.Text       = CarsHelper.CarIdToModelName(driver.CarID.ToString());
                    hlCar.NavigateUrl = "~/ManagerUI/CarView.aspx?id=" + driver.CarID;

                    lblFIO.Text                = String.Format("{0} {1} {2}", driver.FirstName, driver.LastName, driver.ThirdName);
                    lblPhoneOne.Text           = driver.PhoneOne;
                    lblPhoneTwo.Text           = driver.PhoneTwo;
                    lblHomePhone.Text          = driver.HomePhone;
                    lblHomeAddress.Text        = driver.HomeAddress;
                    lblBirthDay.Text           = Convert.ToDateTime(driver.BirthDay).ToString("dd-MM-yyyy");
                    lblContactPersonFIO.Text   = driver.ContactPersonFIO;
                    lblContactPersonPhone.Text = driver.ContactPersonPhone;

                    lblPassportData.Text        = String.Format("{0}{1}", driver.PassportSeria, driver.PassportNumber);
                    lblPersonalNumber.Text      = driver.PersonalNumber;
                    lblROVD.Text                = driver.ROVD;
                    lblDateOfIssue.Text         = Convert.ToDateTime(driver.DateOfIssue).ToString("dd-MM-yyyy");
                    lblValidity.Text            = Convert.ToDateTime(driver.Validity).ToString("dd-MM-yyyy");
                    lblRegistrationAddress.Text = driver.RegistrationAddress;

                    lblDriverPassport.Text            = driver.DriverPassport;
                    lblDriverPassportDateOfIssue.Text = Convert.ToDateTime(driver.DriverPassportDateOfIssue).ToString("dd-MM-yyyy");
                    lblDriverPassportValidity.Text    = Convert.ToDateTime(driver.DriverPassportValidity).ToString("dd-MM-yyyy");
                    lblMedPolisDateOfIssue.Text       = Convert.ToDateTime(driver.MedPolisDateOfIssue).ToString("dd-MM-yyyy");
                    lblMedPolisValidity.Text          = Convert.ToDateTime(driver.MedPolisValidity).ToString("dd-MM-yyyy");
                }
            }
        }
예제 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            OtherMethods.ActiveRightMenuStyleChanche("hlDrivers", this.Page);
            OtherMethods.ActiveRightMenuStyleChanche("hlSouls", this.Page);
            Page.Title = Page.Request.Params["id"] != null ? PagesTitles.ManagerDriversEdit + BackendHelper.TagToValue("page_title_part") : PagesTitles.ManagerDriversCreate + 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.PageDriversEdit != 1)
            {
                Response.Redirect("~/Error.aspx?id=1");
            }
            #endregion

            BackLink = DriversHelper.BackDriverLinkBuilder(Page.Request.Params["did"], Page.Request.Params["phone"], Page.Request.Params["statusid"], Page.Request.Params["firstname"]);

            if (!IsPostBack)
            {
                ddlStatus.DataSource     = Drivers.DriverStatuses;
                ddlStatus.DataTextField  = "Value";
                ddlStatus.DataValueField = "Key";
                ddlStatus.DataBind();

                var cars = new Cars();
                var ds   = cars.GetAllItems("Model", "ASC", null);
                ds.Tables[0].Columns.Add("ModelAndNumber", typeof(string), "Model + ' ' + Number");
                ddlCar.DataSource     = ds;
                ddlCar.DataTextField  = "ModelAndNumber";
                ddlCar.DataValueField = "ID";
                ddlCar.DataBind();
                ddlCar.Items.Add(new ListItem("Не назначена", "0"));
            }

            if (Page.Request.Params["id"] != null)
            {
                var driver = new Drivers {
                    ID = Convert.ToInt32(Page.Request.Params["id"])
                };
                driver.GetById();
                if (String.IsNullOrEmpty(driver.FirstName))
                {
                    Page.Response.Redirect("~/ManagerUI/Menu/Souls/DriversView.aspx?" + BackLink);
                }
                if (!IsPostBack)
                {
                    ddlCar.SelectedValue    = driver.CarID.ToString();
                    ddlStatus.SelectedValue = driver.StatusID.ToString();

                    tbFirstName.Text          = driver.FirstName;
                    tbLastName.Text           = driver.LastName;
                    tbThirdName.Text          = driver.ThirdName;
                    tbPhoneOne.Text           = driver.PhoneOne;
                    tbPhoneTwo.Text           = driver.PhoneTwo;
                    tbPhoneHome.Text          = driver.HomePhone;
                    tbHomeAddress.Text        = driver.HomeAddress;
                    tbBirthDay.Text           = Convert.ToDateTime(driver.BirthDay).ToString("dd-MM-yyyy");
                    tbContactPersonFIO.Text   = driver.ContactPersonFIO;
                    tbContactPersonPhone.Text = driver.ContactPersonPhone;

                    tbPassportSeria.Text       = driver.PassportSeria;
                    tbPassportNumber.Text      = driver.PassportNumber;
                    tbPersonalNumber.Text      = driver.PersonalNumber;
                    tbROVD.Text                = driver.ROVD;
                    tbDateOfIssue.Text         = Convert.ToDateTime(driver.DateOfIssue).ToString("dd-MM-yyyy");
                    tbValidity.Text            = Convert.ToDateTime(driver.Validity).ToString("dd-MM-yyyy");
                    tbRegistrationAddress.Text = driver.RegistrationAddress;


                    tbDriverPassport.Text            = hfDriverPassport.Value = driver.DriverPassport;
                    tbDriverPassportDateOfIssue.Text = Convert.ToDateTime(driver.DriverPassportDateOfIssue).ToString("dd-MM-yyyy");
                    tbDriverPassportValidity.Text    = Convert.ToDateTime(driver.DriverPassportValidity).ToString("dd-MM-yyyy");
                    tbMedPolisDateOfIssue.Text       = Convert.ToDateTime(driver.MedPolisDateOfIssue).ToString("dd-MM-yyyy");
                    tbMedPolisValidity.Text          = Convert.ToDateTime(driver.MedPolisValidity).ToString("dd-MM-yyyy");
                }
            }
        }
예제 #5
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;
            }
        }
예제 #6
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
        }
예제 #7
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;
            }
        }
예제 #8
0
        public static string OldNewValueToRuss(string tableName, string propertyName, string value)
        {
            #region таблица заявок
            if (tableName == "tickets")
            {
                if (propertyName == "CourseRUR" ||
                    propertyName == "CourseUSD" ||
                    propertyName == "CourseEUR" ||
                    propertyName == "DeliveryCost" ||
                    propertyName == "AssessedCost" ||
                    propertyName == "AgreedCost" ||
                    propertyName == "ReceivedUSD" ||
                    propertyName == "ReceivedEUR" ||
                    propertyName == "ReceivedEUR" ||
                    propertyName == "ReceivedBLR" ||
                    propertyName == "GruzobozCost")
                {
                    return(MoneyMethods.MoneySeparator(value));
                }

                if (propertyName == "DriverID")
                {
                    return(DriversHelper.DriverIDToFioToPrint(value));
                }

                if (propertyName == "StatusIDOld" || propertyName == "StatusID")
                {
                    return(OtherMethods.TicketStatusToText(value));
                }

                if (propertyName == "CityID")
                {
                    return(CityHelper.CityIDToCityNameWithotCustom(value));
                }

                if (propertyName == "TrackIDUser")
                {
                    return(OtherMethods.TrackToText(Convert.ToInt32(value)));
                }

                if (propertyName == "DeliveryDate")
                {
                    return(value.Remove(value.Length - 8));
                }

                if (propertyName == "Comment")
                {
                    return(WebUtility.HtmlDecode(value));
                }

                if (propertyName == "PrintNakl" ||
                    propertyName == "PrintNaklInMap" ||
                    propertyName == "IsExchange" ||
                    propertyName == "WithoutMoney" ||
                    propertyName == "CheckedOut" ||
                    propertyName == "Phoned")
                {
                    return(value == "0" ? "нет" : "да");
                }

                if (propertyName == "OvDateFrom" || propertyName == "OvDateTo")
                {
                    return(String.IsNullOrEmpty(value) ? String.Empty : Convert.ToDateTime(value).ToString("HH:mm"));
                }
            }
            #endregion

            #region таблица пользователей
            if (tableName == "users")
            {
                if (propertyName == "SpecialClient" || propertyName == "IsCourse" || propertyName == "AllowApi")
                {
                    return(value == "0" ? "нет" : "да");
                }

                if (propertyName == "Status")
                {
                    return(UsersHelper.UserStatusToText(Convert.ToInt32(value)));
                }

                if (propertyName == "Role")
                {
                    return(UsersHelper.RoleToRuss(value));
                }

                if (propertyName == "Discount")
                {
                    return(String.Format("{0}%", value));
                }

                if (propertyName == "Password")
                {
                    return(String.Empty);
                }

                if (propertyName == "Validity" && value.Length >= 8)
                {
                    return(value.Remove(value.Length - 8));
                }

                if (propertyName == "BirthDay" && value.Length >= 8)
                {
                    return(value.Remove(value.Length - 8));
                }

                if (propertyName == "DateOfIssue" && value.Length >= 8)
                {
                    return(value.Remove(value.Length - 8));
                }
            }
            #endregion

            #region таблица грузов
            if (tableName == "goods")
            {
                if (propertyName == "Cost")
                {
                    return(MoneyMethods.MoneySeparator(value));
                }

                if (propertyName == "WithoutAkciza")
                {
                    return(value == "0" ? "нет" : "да");
                }
            }
            #endregion

            #region таблица профилей
            if (tableName == "usersprofiles")
            {
                if (propertyName == "StatusID")
                {
                    return(UsersProfilesHelper.UserProfileStatusToText(Convert.ToInt32(value)));
                }
            }
            #endregion

            #region таблица водителй
            if (tableName == "drivers")
            {
                if (propertyName == "StatusID" && !String.IsNullOrEmpty(value))
                {
                    return(DriversHelper.DriverStatusToText(Convert.ToInt32(value)));
                }

                if (value.Length >= 8 && (propertyName == "DateOfIssue" ||
                                          propertyName == "Validity" ||
                                          propertyName == "BirthDay" ||
                                          propertyName == "DriverPassportDateOfIssue" ||
                                          propertyName == "DriverPassportValidity" ||
                                          propertyName == "MedPolisDateOfIssue" ||
                                          propertyName == "MedPolisValidity"))
                {
                    return(value.Remove(value.Length - 8));
                }
            }
            #endregion

            #region таблица авто
            if (tableName == "cars")
            {
                if (propertyName == "TypeID" && !String.IsNullOrEmpty(value))
                {
                    return(CarsHelper.CarTypeToFullString(Convert.ToInt32(value)));
                }
            }
            #endregion

            #region таблица категорий
            if (tableName == "category")
            {
                if (propertyName == "Name")
                {
                    return(value);
                }
            }
            #endregion

            return(value);
        }
예제 #9
0
        public static string StatusChangeFilter(ref Tickets ticket, string cDriverIdString, string cStatusIdString, string cStatusDescription, string cAdmissionDateString, string nStatusDescription, string nStatusIdString, string nDeliveryDateString, Roles currentRole)
        {
            #region Обработка входящих параметров
            int?     cStatusId;
            int?     nStatusId;
            int?     cDriverId;
            DateTime nDeliveryDate = Convert.ToDateTime("01.01.0001 0:00:00");
            try
            {
                cStatusId = Convert.ToInt32(cStatusIdString);
                nStatusId = Convert.ToInt32(nStatusIdString);
                cDriverId = Convert.ToInt32(cDriverIdString);
            }
            catch (Exception)
            {
                return("Неверный формат входных данных!");
            }

            try
            {
                if (nStatusId == 4 || nStatusId == 11)
                {
                    nDeliveryDate = Convert.ToDateTime(nDeliveryDateString);
                }
            }
            catch (Exception)
            {
                return("Неверный формат входных данных (d)!");
            }
            #endregion

            #region  Проверки на доступность обновления заявки
            //если заявка изменяется из текущего статуса "Завершено" в любой другой новый, то проверяем права пользователя на изменение заявок в текущем статусе "Завершено"
            if (cStatusId == 6 && nStatusId != 6 && currentRole.ActionCompletedStatus == 1)
            {
                return(String.Format("У вас нет прав на изменение статуса заявки в статусе \"{0}\"!", TicketStatusesResources.Completed));
            }

            #region Проверка на права выставления конкретного статуса
            if (cStatusId != 1 && nStatusId == 1 && currentRole.StatusNotProcessed != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.NotProcessed));
            }

            if (cStatusId != 2 && nStatusId == 2 && currentRole.StatusInStock != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.InStock));
            }

            if (cStatusId != 3 && nStatusId == 3 && currentRole.StatusOnTheWay != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.OnTheWay));
            }

            if (cStatusId != 4 && nStatusId == 4 && currentRole.StatusTransferInStock != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Transfer_InStock));
            }

            if (cStatusId != 5 && nStatusId == 5 && currentRole.StatusProcessed != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Processed));
            }

            if (cStatusId != 6 && nStatusId == 6 && currentRole.StatusCompleted != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Completed));
            }

            if (cStatusId != 7 && nStatusId == 7 && currentRole.StatusRefusingInCourier != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Refusing_InCourier));
            }

            if (cStatusId != 8 && nStatusId == 8 && currentRole.StatusReturnInStock != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Return_InStock));
            }

            if (cStatusId != 9 && nStatusId == 9 && currentRole.StatusCancelInStock != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Cancel_InStock));
            }

            if (cStatusId != 10 && nStatusId == 10 && currentRole.StatusCancel != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Cancel));
            }

            if (cStatusId != 11 && nStatusId == 11 && currentRole.StatusTransferInCourier != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Transfer_InCourier));
            }

            if (cStatusId != 12 && nStatusId == 12 && currentRole.StatusDelivered != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Delivered));
            }

            if (cStatusId != 13 && nStatusId == 13 && currentRole.StatusExchangeInCourier != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Exchange_InCourier));
            }

            if (cStatusId != 14 && nStatusId == 14 && currentRole.StatusDeliveryFromClientInCourier != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.DeliveryFromClient_InCourier));
            }

            if (cStatusId != 15 && nStatusId == 15 && currentRole.StatusExchangeInStock != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Exchange_InStock));
            }

            if (cStatusId != 16 && nStatusId == 16 && currentRole.StatusDeliveryFromClientInStock != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.DeliveryFromClient_InStock));
            }

            if (cStatusId != 17 && nStatusId == 17 && currentRole.StatusRefusalOnTheWay != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Refusal_OnTheWay));
            }

            if (cStatusId != 18 && nStatusId == 18 && currentRole.StatusRefusalByAddress != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Refusal_ByAddress));
            }

            if (cStatusId != 19 && nStatusId == 19 && currentRole.StatusUpload != 1)
            {
                return(String.Format("У вас нет прав выставлять статус \"{0}\"",
                                     TicketStatusesResources.Upload));
            }
            #endregion

            //если заявка изменяется из текущего статуса "Обработана" в новый статус, отличный от "Завершено", то проверяем не запрещено ли это пользователю правами
            if (cStatusId == 5 && nStatusId != 5 && nStatusId != 6 && currentRole.ActionDisallowDeliveredToCompletedStatus == 1)
            {
                return(String.Format("У вас нет прав  изменять статусы заявок в статусе \"{1}\" на статусы отличные от статуса \"{0}\"!",
                                     TicketStatusesResources.Completed,
                                     TicketStatusesResources.Processed));
            }

            //если заявка изменяется из текущего статуса "Не обработана" в новый статусы "на складе" и "перенос на складе"
            if (cStatusId == 1 && nStatusId != 1 && (nStatusId == 2 || nStatusId == 4))
            {
                return(String.Format("Нельзя изменять статусы заявок в статусе \"{0}\" на статусы \"{1}\" и \"{2}\"! Для перевода заявок на склад используйте печать чеков.",
                                     TicketStatusesResources.NotProcessed,
                                     TicketStatusesResources.InStock,
                                     TicketStatusesResources.Transfer_InStock));
            }

            /*при изменении заявки без водителя на новый статус, отличный от ("Не обработан", "На складе", "Перенос (на складе)", "Отмена", "Отмена (на складе)",
             * "Завершено", "Обмен (на складе)", "Доставка от клиента (на складе)") возвращаем ошибку*/
            if (cDriverId == 0 && nStatusId != 1 && nStatusId != 2 && nStatusId != 3 && nStatusId != 4 && nStatusId != 6 && nStatusId != 9 && nStatusId != 10 && nStatusId != 15 && nStatusId != 16)
            {
                return("Не все статусы обновлены! У некоторых заявок отсутствует водитель!");
            }

            /*если водитель не назначен, то проверяем права на изменение заявки без водителя в новый статус "Завершено"*/
            if (cDriverId == 0 && nStatusId == 6 && cStatusId != 6 && currentRole.ActionAllowChangeInCompletedWithoutDriver != 1)
            {
                return(String.Format("У вас нет прав изменять статусы заявок без водителя в статус \"{0}\"", TicketStatusesResources.Completed));
            }
            #endregion

            #region Присвоение нового и старого статуса заявке (если все проверки пройдены)
            //если текущий статус не равен новому - записываем изменения статуса
            if (cStatusId != nStatusId)
            {
                ticket.StatusIDOld = cStatusId;
                ticket.StatusID    = nStatusId;
            }
            //note: при изменении статуса у новой заявки старый в логи не пишется, так как заявка создается уже со старым статусом "Не обработана"
            #endregion

            #region  Обновление связанных данных
            //если новая расшифровка статуса не пустая, то записываем её (работает только для заявок в определенных ниже статусах)
            if (!String.IsNullOrEmpty(nStatusDescription) && (nStatusId == 4 || nStatusId == 7 || nStatusId == 8 || nStatusId == 9 || nStatusId == 10 || nStatusId == 11))
            {
                ticket.StatusDescription = nStatusDescription;
            }

            /*если новая расшифровка всё еще пустая - записываем старую если она есть
             *(нужно, так как при пакетном назначении заявкам расшифровки статуса не возможно получить старый статус каждой заявки в текстбокс)*/
            if (String.IsNullOrEmpty(nStatusDescription))
            {
                ticket.StatusDescription = cStatusDescription;
            }

            //если текущая дата приема на склад отсутствует и текущие статусы заявок "На складе" или "Перенос (на складе)", то записываем в дата приема текущее время
            if ((String.IsNullOrEmpty(cAdmissionDateString) || cAdmissionDateString == "01.01.0001 0:00:00") &&
                (nStatusId == 2 || nStatusId == 4))
            {
                ticket.AdmissionDate = DateTime.Now;
            }

            //если новый статус "Перенос (на складе)" или "Перенос (у курьера)", то записываем новую дату переноса
            if (nStatusId == 4 || nStatusId == 11)
            {
                ticket.DeliveryDate = nDeliveryDate;
            }

            //если текущий статус изменен на новый "Завершено", то записываем дату завершения (дата перевода заявки в статус "Завершено")
            if (nStatusId == 6 && cStatusId != 6)
            {
                ticket.CompletedDate = DateTime.Now;
            }

            //если текущий статус изменен на новый "Обработано", то записываем дату обработки (дату перевода заявки в новый статус "Обработано")
            // и шлем письма, указанные в бекенде, если заявки перешли в "Обработанно" для определнного клиента (АГС)
            if (nStatusId == 5 && cStatusId != 5)
            {
                ticket.ProcessedDate = DateTime.Now;
                var tempTicket = new Tickets {
                    ID = ticket.ID
                };
                tempTicket.GetById();
                if (tempTicket.UserID == 794)
                {
                    var emailIist = BackendHelper.TagToValue("ags_event_email_list").Split(new[] { ',' });
                    EmailMethods.MailSendHTML("АГС - новая заявка в статусе 'Обработано'", String.Format("АГС, заявка перешла в статус 'Обработано'<br/>" +
                                                                                                         "ID заявки: <b>{0}</b>", tempTicket.SecureID), emailIist);
                }
            }

            //если текущий статус изменен на новый "Перенос (на складе)", то шлем письмо на заданые емейлы и обнуляем водителя
            if (nStatusId == 4 && cStatusId != 4)
            {
                var email      = BackendHelper.TagToValue("transfer_in_stock_event_email");
                var tempTicket = new Tickets {
                    ID = ticket.ID
                };
                tempTicket.GetById();
                EmailMethods.MailSendHTML("Новый перевод заявки в статус 'Перенос (на складе)'", String.Format("Новый перевод заявки в статус 'Перенос (на складе)'<br/>" +
                                                                                                               "ID заявки: <b>{0}</b>", tempTicket.SecureID), email);
                ticket.DriverID = 0;
            }

            //если текущий статус "Не обработано" изменен на новый "На складе" или "Перенос (на складе)", и текущее время между 21.00 и 24.00, то шлем письмо на заданые емейлы
            var cHour = DateTime.Now.Hour;
            if ((nStatusId == 2 || nStatusId == 4) && cStatusId == 1 && cHour >= 21 && cHour <= 24)
            {
                var email      = BackendHelper.TagToValue("late_entries_event_email");
                var tempTicket = new Tickets {
                    ID = ticket.ID
                };
                tempTicket.GetById();
                EmailMethods.MailSendHTML("Поздний принос груза на склад", String.Format("Еще один груз принесли после 21.00<br/>" +
                                                                                         "ID заявки: <b>{0}</b><br/>" +
                                                                                         "ID пользователя: <b>{1}</b><br/>", tempTicket.SecureID, tempTicket.UserID), email);
            }

            //если текущий статус меняется на новый "В пути" или на "Отказ (у курьера)" - меняем привезенное бабло на 0 (для кассы)
            if (nStatusId == 3 || nStatusId == 7)
            {
                ticket.ReceivedEUR = 0;
                ticket.ReceivedBLR = 0;
                ticket.ReceivedUSD = 0;
                ticket.ReceivedRUR = 0;
            }

            //если заявка переходит из статусов "На складе" или "Не обработано" в статусы "Отмена" или "Отмена на складе"
            if ((cStatusId == 2 || cStatusId == 1) && (nStatusId == 9 || nStatusId == 10))
            {
                var tempTicket = new Tickets {
                    ID = ticket.ID
                };
                tempTicket.GetById();
                string[] emailList         = new string[2];
                var      managerEmail      = UsersHelper.GetUserAttachedManager(Convert.ToInt32(tempTicket.UserID)).Email;
                var      salesManagerEmail = UsersHelper.GetUserAttachedSalesManager(Convert.ToInt32(tempTicket.UserID)).Email;
                if (!String.IsNullOrEmpty(managerEmail))
                {
                    emailList[0] = managerEmail;
                }
                if (!String.IsNullOrEmpty(salesManagerEmail))
                {
                    emailList[1] = managerEmail;
                }
                EmailMethods.MailSendHTML("Отмена заявки", String.Format("Заявка перешла в статус '{0}'<br/><br/>" +
                                                                         "Заявка: <b>{1}</b> (ID: {2})<br/>" +
                                                                         "Отправитель: <b>{3}</b> (UID: {4})<br/>" +
                                                                         "Профиль: <b>{5}</b> тел.:{6}<br/>" +
                                                                         "Город доставки: <b>{7}</b> (CID: {8})<br/>" +
                                                                         "Получатель: <b>{9}</b> (тел: {10})<br/><br/>" +
                                                                         "Причина отмены: <b>{11}</b><br/>",
                                                                         OtherMethods.TicketStatusToText(tempTicket.StatusID.ToString()),
                                                                         tempTicket.SecureID,
                                                                         GoodsHelper.GoodsToString(tempTicket.FullSecureID),
                                                                         UsersHelper.UserIDToFullName(tempTicket.UserID.ToString()),
                                                                         tempTicket.UserID,
                                                                         UsersProfilesHelper.UserProfileIDToFullFamilyOrCompanyname(tempTicket.UserProfileID.ToString()),
                                                                         UsersProfilesHelper.UserProfileToPhone(tempTicket.UserProfileID.ToString()),
                                                                         CityHelper.CityIDToCityNameWithotCustom(tempTicket.CityID.ToString()),
                                                                         tempTicket.CityID,
                                                                         tempTicket.RecipientFirstName + " " + tempTicket.RecipientLastName + " " + tempTicket.RecipientThirdName,
                                                                         tempTicket.RecipientPhone + ";" + tempTicket.RecipientPhoneTwo,
                                                                         tempTicket.StatusDescription
                                                                         ), emailList);
            }

            //если заявка переходит из статуса "В пути" в статусы отличные от "Завершено", "Доставлено", "Обработано", "В пути"
            if (cStatusId == 3 && nStatusId != 6 && nStatusId != 12 && nStatusId != 5 && nStatusId != 3)
            {
                var tempTicket = new Tickets {
                    ID = ticket.ID
                };
                tempTicket.GetById();
                string[] emailList         = new string[2];
                var      managerEmail      = UsersHelper.GetUserAttachedManager(Convert.ToInt32(tempTicket.UserID)).Email;
                var      salesManagerEmail = UsersHelper.GetUserAttachedSalesManager(Convert.ToInt32(tempTicket.UserID)).Email;
                if (!String.IsNullOrEmpty(managerEmail))
                {
                    emailList[0] = managerEmail;
                }
                if (!String.IsNullOrEmpty(salesManagerEmail))
                {
                    emailList[1] = managerEmail;
                }
                EmailMethods.MailSendHTML("Изменен статус заявки в пути", String.Format("Заявка в пути перешла в статус '{0}'<br/><br/>" +
                                                                                        "Заявка: <b>{1}</b> (ID: {2})<br/>" +
                                                                                        "Отправитель: <b>{3}</b> (UID: {4})<br/>" +
                                                                                        "Профиль: <b>{5}</b> тел.:{6}<br/>" +
                                                                                        "Город доставки: <b>{7}</b> (CID: {8})<br/>" +
                                                                                        "Получатель: <b>{9}</b> (тел: {10})<br/><br/>" +
                                                                                        "Курьер: <b>{11}</b><br/>",
                                                                                        OtherMethods.TicketStatusToText(tempTicket.StatusID.ToString()),
                                                                                        tempTicket.SecureID,
                                                                                        GoodsHelper.GoodsToString(tempTicket.FullSecureID),
                                                                                        UsersHelper.UserIDToFullName(tempTicket.UserID.ToString()),
                                                                                        tempTicket.UserID,
                                                                                        UsersProfilesHelper.UserProfileIDToFullFamilyOrCompanyname(tempTicket.UserProfileID.ToString()),
                                                                                        UsersProfilesHelper.UserProfileToPhone(tempTicket.UserProfileID.ToString()),
                                                                                        CityHelper.CityIDToCityNameWithotCustom(tempTicket.CityID.ToString()),
                                                                                        tempTicket.CityID,
                                                                                        tempTicket.RecipientFirstName + " " + tempTicket.RecipientLastName + " " + tempTicket.RecipientThirdName,
                                                                                        tempTicket.RecipientPhone + ";" + tempTicket.RecipientPhoneTwo,
                                                                                        DriversHelper.DriverIdToName(tempTicket.DriverID.ToString())
                                                                                        ), emailList);
            }

            //если текущий статус изменен на новый "Отказ (в пути)", то величину "За услугу (GruzobozCost)" делим попалам
            if (nStatusId == 17 && cStatusId != 17)
            {
                var tempTicket = new Tickets {
                    ID = ticket.ID
                };
                tempTicket.GetById();
                if (tempTicket.GruzobozCost != null)
                {
                    ticket.GruzobozCost = MoneyMethods.MoneyRounder100(Convert.ToDecimal(tempTicket.GruzobozCost / 2));
                }
            }

            //фиксирование в заявке даты возврата, если заявка перешла из старого статуса в новый статус 8, 15, 16, 9
            if ((nStatusId == 8 && cStatusId != 8) || (nStatusId == 9 && cStatusId != 9) || (nStatusId == 15 && cStatusId != 15) || (nStatusId == 16 && cStatusId != 16))
            {
                ticket.ReturnDate = DateTime.Now;
            }
            #endregion

            return(null); //возвращаем null, что равно отсутствию ошибок
        }
예제 #10
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))
            {
                List <string> idList    = idListString.Split('-').ToList();
                var           sqlString = String.Empty;
                foreach (var id in idList)
                {
                    sqlString       = sqlString + "T.ID = " + id + " OR ";
                    controlTicketID = id;
                }

                bool withoutDriver = false;

                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);
                Iterator = 1;
                dataset.Tables[0].Columns.Add("PNumber", typeof(String));
                foreach (DataRow row in dataset.Tables[0].Rows)
                {
                    row["PNumber"] = Iterator++;
                    var driverID = row["DriverID"].ToString();
                    if ((driverID == "0" || driverID == "-1") && withoutDriver == false)
                    {
                        withoutDriver = true;
                    }
                }
                lvAllPrint.DataSource = dataset;
                lvAllPrint.DataBind();

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

                if (withoutDriver == false)
                {
                    DriverName = lblDriver.Text = DriversHelper.DriverIDToFioToPrint(ticket.DriverID.ToString());
                }
                else
                {
                    DriverName = lblDriver.Text = String.Empty;
                }

                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));
                Inpdate.Text          =
                    dm.QueryWithReturnDataSet("SELECT `MapDate` FROM `printdata`").Tables[0].Rows[0][0]
                    .ToString();
            }

            if (String.IsNullOrEmpty(idListString) || lvAllPrint.Items.Count == 0)
            {
                Page.Visible = false;
                Response.Write(Resources.PrintResources.PrintMapEmptyText);
            }
        }