Example #1
0
        private void EnableCorrectScreenElements()
        {
            // disable all screen elements
            //PanelCustomerInformation.Visible = true;
            PanelFirstWeighing.Visible             = false;
            PanelFirstWeighingNr.Visible           = false;
            PanelInvoice.Visible                   = false;
            PanelSecondWeighing.Visible            = false;
            PanelSecondWeighingOrderNumber.Visible = false;
            PanelCustomerInformation.Enabled       = false;
            PanelFirstWeighing.Enabled             = false;
            PanelFirstWeighingNr.Enabled           = false;
            PanelInvoice.Enabled                   = false;
            PanelSecondWeighing.Enabled            = false;
            PanelSecondWeighingOrderNumber.Enabled = false;

            ButtonContinue.Visible        = false;
            ButtonDestroyAndBack.Visible  = false;
            ButtonInvoiceOrder.Visible    = false;
            ButtonNew.Visible             = false;
            ButtonPrintAndProcess.Visible = false;
            ButtonRevert.Visible          = false;
            ButtonSecondWeighing.Visible  = false;
            ButtonSortOrder.Visible       = false;

            URLPopUpControlLegalDocuments.Visible = false;

            if (CurrentPageNr == 9)
            {
                CurrentPageNr = 1;
            }
            if (CurrentPageNr == 19)
            {
                CurrentPageNr = 1;
            }

            if (CurrentPageNr == 12)
            {
                CurrentPageNr = 11;
            }                                                // error situation. Fix this way.
            if (CurrentPageNr > 23)
            {
                CurrentPageNr = 23;
            }                                               // error situation. Fix this way.

            switch (CurrentPageNr)
            // note : 1 is general, 10 series is for first weighing, 20 is for second weighing.
            {
            case 1:
                PanelCustomerInformation.Enabled = true;
                ButtonContinue.Visible           = true;
                break;

            case 10:
                PanelFirstWeighing.Visible = true;
                PanelFirstWeighing.Enabled = true;

                CalendarWithTimeControlDateTime1.SelectedDateTime = Common.CurrentClientDateTime(Session);

                ComboBoxWeighingLocation.DataBind();
                ComboBoxCustomer.DataBind();
                ShowCorrectCustomer();

                ButtonRevert.Visible          = PanelCustomerInformation.Visible;
                ButtonPrintAndProcess.Visible = true;
                break;

            case 11:
                if (Convert.ToInt64("0" + TextBoxGrossWeight.Text) <= 0)
                {
                    CurrentPageNr--;
                    EnableCorrectScreenElements();
                    Common.InformUser(Page, "Vul aub een positief gewicht in.");
                }
                else
                {
                    if (ProcessFirstWeighing())
                    {
                        PanelFirstWeighing.Visible   = true;
                        PanelFirstWeighing.Enabled   = true;
                        PanelFirstWeighingNr.Visible = true;

                        ButtonSecondWeighing.Visible = true;
                        //ButtonDestroyAndBack.Visible = true;
                        ButtonNew.Visible = true;

                        PanelInvoice.Visible                = true;
                        PanelInvoice.Enabled                = true;
                        FrameShowInvoiceB.Visible           = false;
                        FrameShowInvoiceA.Attributes["src"] = "WebFormPopup.aspx?UC=ShowReport&d=DataSetWeighing&r=ReportWeighingA4&Id=" + CurrentWeighingId.ToString();

                        URLPopUpControlLegalDocuments.URLToPopup = "webformpopup.aspx?UC=FreightLegalDocuments&FreightId=" + CurrentWeighingId.ToString();
                        URLPopUpControlLegalDocuments.Visible    = true;
                    }
                    else
                    {
                        CurrentPageNr--;
                        EnableCorrectScreenElements();
                    }
                }
                break;

            case 20:
                PanelSecondWeighingOrderNumber.Visible = true;
                PanelSecondWeighingOrderNumber.Enabled = true;
                LabelWeighingLoaded.Text = "";

                ButtonRevert.Visible   = true;
                ButtonContinue.Visible = true;
                break;

            case 21:
                // load freight
                Freight frg = Freight.SelectFreightByFreightNr(Convert.ToInt64(TextBoxOrderNumber.Text), new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session));

                if (frg != null)
                {
                    if (LabelWeighingLoaded.Text == "")
                    {
                        LoadFirstWeighingData(frg); LabelWeighingLoaded.Text = "x";
                    }

                    PanelSecondWeighingOrderNumber.Visible = true;
                    PanelFirstWeighing.Visible             = true;
                    PanelFirstWeighing.Enabled             = true;
                    PanelSecondWeighing.Visible            = true;

                    CalendarWithTimeControl2.SelectedDateTime = Common.CurrentClientDateTime(Session);

                    ButtonRevert.Visible   = true;
                    ButtonContinue.Visible = true;

                    if (frg.FreightStatus != "2nd weighing")
                    {
                        Common.InformUser(Page, "Deze weging heeft niet de juiste status voor het invoeren van een tweede weging. U kunt deze gegevens wel invoeren als u het zeker weet.");
                    }
                }
                else
                {
                    CurrentPageNr--;
                    EnableCorrectScreenElements();
                    if (frg == null)
                    {
                        Common.InformUser(Page, "Geef aub een correct vrachtnummer op.");
                    }
                    else
                    {
                        Common.InformUser(Page, "Het opgegeven vrachtnummer is correct, maar deze vracht is al verder verwerkt. Een tweede weging opgeven kan maar één keer.");
                    }
                }
                break;

            case 22:
                PanelSecondWeighingOrderNumber.Visible = true;
                PanelFirstWeighing.Visible             = true;
                PanelSecondWeighing.Visible            = true;
                PanelSecondWeighing.Enabled            = true;

                SetCustomerType();

                ButtonRevert.Visible          = true;
                ButtonPrintAndProcess.Visible = true;
                break;

            case 23:
                if (Convert.ToInt64("0" + TextBoxGrossWeight.Text) <= Convert.ToInt64("0" + TextBoxWeight2.Text))
                {
                    CurrentPageNr--;
                    EnableCorrectScreenElements();
                    Common.InformUser(Page, "Vul aub een gewicht in wat kleiner is dan de eerste weging.");
                }
                else
                {
                    if (ProcessSecondWeighing())
                    {
                        PanelSecondWeighingOrderNumber.Visible = true;
                        PanelFirstWeighing.Visible             = true;
                        PanelSecondWeighing.Visible            = true;
                        PanelInvoice.Visible = true;
                        PanelInvoice.Enabled = true;

                        ButtonNew.Visible = true;
                        //ButtonDestroyAndBack.Visible = true;

                        ButtonSortOrder.Visible    = CheckBoxWeighingActionSort.Checked;
                        ButtonInvoiceOrder.Visible = CheckBoxWeighingActionInvoice.Checked;

                        FrameShowInvoiceB.Visible = CheckBoxWeighingActionPay.Checked;

                        FrameShowInvoiceA.Attributes["src"] = "WebFormPopup.aspx?UC=ShowReport&d=DataSetWeighing&r=ReportWeighingA4&Id=" + CurrentWeighingId.ToString();
                        if (FrameShowInvoiceB.Visible)
                        {
                            FrameShowInvoiceB.Attributes["src"] = "WebFormPopup.aspx?UC=ShowReport&d=DataSetInvoice&r=ReportInvoiceA4&Id=" + LabelGeneratedInvoiceId.Text.ToString();
                        }

                        URLPopUpControlLegalDocuments.URLToPopup = "webformpopup.aspx?UC=FreightLegalDocuments&FreightId=" + CurrentWeighingId.ToString();
                        URLPopUpControlLegalDocuments.Visible    = true;
                    }
                    else
                    {
                        CurrentPageNr--;
                        EnableCorrectScreenElements();
                    }
                }
                break;
            }
        }
        protected void SaveSortingMaterials()
        {
            StringWriter  TempData        = new StringWriter();
            XmlTextWriter CurrentMaterial = new XmlTextWriter(TempData);
            Double        TotalWeight     = 0;

            CurrentMaterial.WriteStartElement("MaterialLines");
            for (int i = 0; i < MaterialLines.Count; i++)
            {
                FreightSortingMaterial CurrLine = MaterialLines[i] as FreightSortingMaterial;

                GridViewRow gvr = null;
                try
                {
                    if (GridViewMaterials.Rows.Count > i)
                    {
                        gvr = GridViewMaterials.Rows[i];
                    }
                }
                catch { };

                CurrentMaterial.WriteStartElement("MaterialLine");

                if (gvr != null)
                {
                    try { CurrLine.GrossWeight = Convert.ToDouble((gvr.Cells[2].Controls[1] as TextBox).Text.ToString()); }
                    catch { };
                    try { CurrLine.TarraWeight = Convert.ToDouble((gvr.Cells[3].Controls[1] as TextBox).Text.ToString()); }
                    catch { };
                }

                CurrentMaterial.WriteAttributeString("id", CurrLine.Id.ToString());
                CurrentMaterial.WriteAttributeString("GrossAmount", CurrLine.GrossWeight.ToString());
                CurrentMaterial.WriteAttributeString("NetAmount", CurrLine.TarraWeight.ToString());
                CurrLine.RecalcTotals();
                TotalWeight = TotalWeight + CurrLine.Weight;
                CurrentMaterial.WriteAttributeString("TotalAmount", CurrLine.Weight.ToString());
                CurrentMaterial.WriteAttributeString("description", CurrLine.Description);
                CurrentMaterial.WriteAttributeString("materialid", CurrLine.Material.Id.ToString());

                CurrentMaterial.WriteEndElement();
            }
            CurrentMaterial.WriteEndElement();

            LabelTotalWeightInOrder.Text           = TotalWeight.ToString();
            LabelTotalUnassignedWeightInOrder.Text = "0";
            CheckBoxSubtractOverweight.Checked     = false;
            CheckBoxSubtractOverweight.Visible     = false;
            try
            {
                double TotalNetWeight = Convert.ToDouble(TextBoxTotalNetWeight.Text);
                LabelTotalUnassignedWeightInOrder.Text = (TotalNetWeight - TotalWeight).ToString();
                double  UnassignedWeight = Convert.ToDouble(LabelTotalUnassignedWeightInOrder.Text);
                long    FreightNr        = Convert.ToInt64(TextBoxOrderNumber.Text);
                Freight frg = Freight.SelectFreightByFreightNr(FreightNr, ControlObjectContext);
                if ((UnassignedWeight < 0) && (frg.FreightWeighing.Count > 0) && (TotalNetWeight != 0))
                {
                    CheckBoxSubtractOverweight.Visible = true;
                    CheckBoxSubtractOverweight.Checked = true;
                    // use the first material of the first freightweighing as a default. This method is not suitable for multiple weighings
                    Material OrgMat = frg.FreightWeighing.First <FreightWeighing>().FreightWeighingMaterial.First <FreightWeighingMaterial>().Material;
                    CheckBoxSubtractOverweight.Text = string.Format("Te veel gesorteerd gewicht aftrekken van {0}.", OrgMat.Description);
                }
            }
            catch { }
            TempData.Close();
            LabelMaterialData.Text = TempData.ToString();
        }
        private void EnableCorrectScreenElements()
        {
            string InvoiceType = "";

            PanelSecondWeighingOrderNumber.Visible = true;
            PanelSecondWeighingOrderNumber.Enabled = false;
            PanelBasicData.Visible = false;
            PanelBasicData.Enabled = false;
            PanelMaterials.Visible = false;
            PanelMaterials.Enabled = false;
            PanelTotals.Visible    = false;
            PanelTotals.Enabled    = false;
            PanelInvoice.Visible   = false;
            PanelInvoice.Enabled   = false;

            ButtonContinue.Visible              = false;
            ButtonDestroyAndBack.Visible        = false;
            ButtonInvoiceOrder.Visible          = false;
            ButtonNew.Visible                   = false;
            ButtonPrintAndProcess.Visible       = false;
            ButtonProcessAndCashInvoice.Visible = false;
            ButtonRevert.Visible                = false;

            URLPopUpControlShowSorting.Visible = false;
            LabelWeightWarning.Visible         = false;

            switch (CurrentPageNr)
            {
            case 1:
                PanelSecondWeighingOrderNumber.Enabled = true;
                ButtonContinue.Visible = true;
                break;

            case 2:
                ButtonContinue.Visible = true;
                ButtonRevert.Visible   = true;

                PanelBasicData.Visible = true;
                PanelBasicData.Enabled = true;

                // get the data from the already registered weighing
                if (Convert.ToInt32(LabelPreviousPageNr.Text) < CurrentPageNr)
                {
                    if ((!CheckBoxNewSorting.Checked))
                    {
                        bool Success = false;
                        try
                        {
                            long    FreightNr = Convert.ToInt64(TextBoxOrderNumber.Text);
                            Freight frg       = Freight.SelectFreightByFreightNr(FreightNr, new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session));
                            if (frg != null)
                            {
                                LoadFreightData(frg);
                                CurrentWeighingId = frg.Id;
                                Success           = true;

                                if (RadioButtonListBuyOrSell.SelectedIndex == 0)
                                {
                                    InvoiceType = "Buy";
                                }
                                else
                                {
                                    InvoiceType = "Sell";
                                }

                                URLPopUpControlShowSorting.URLToPopup = "WebFormPopup.aspx?UC=ShowReport&d=DataSetSorting&r=ReportSortingA4&Id=" + CurrentWeighingId.ToString() + "&InvoiceType=" + InvoiceType;
                            }
                            else
                            {
                                Common.InformUser(Page, "Geef aub een geldig nummer op voor de sorteerbon die nog niet verder is verwerkt.");
                            }
                        }
                        catch { }

                        if (!Success)
                        {
                            CurrentPageNr--;
                            EnableCorrectScreenElements();
                        }
                    }
                    else
                    {
                        ComboBoxWeighingLocation.DataBind();
                        ComboBoxOurPlate.DataBind();
                        ComboBoxCustomer.DataBind();
                        CalendarWithTimeControlDateTime1.SelectedDateTime = Common.CurrentClientDateTime(Session);
                        TextBoxTotalNetWeight.Text = "0";
                        ShowCorrectCustomer();
                    }
                }
                break;

            case 3:
                ButtonContinue.Visible = true;
                ButtonRevert.Visible   = true;

                PanelBasicData.Visible = true;
                PanelMaterials.Enabled = true;
                PanelMaterials.Visible = true;

                // load materials from the sorting into the xml data source
                InitSortingMaterials();

                break;

            case 4:
                PanelBasicData.Visible = true;
                PanelMaterials.Visible = true;
                PanelTotals.Visible    = true;
                PanelTotals.Enabled    = true;

                // save in XML
                LoadSortingMaterials();    // load them in the freightsortingmaterial lines
                SaveSortingMaterials();    // save them in the screen & freightsortingmaterial lines

                // calc total weights
                double TotalWeightInLines = Convert.ToDouble(LabelTotalWeightInOrder.Text);
                double TotalWeightInOrder = 0;
                try { TotalWeightInOrder = Convert.ToDouble(TextBoxTotalNetWeight.Text); } catch { TotalWeightInOrder = 0.1; };
                LabelWeightWarning.Visible = TotalWeightInOrder < TotalWeightInLines;

                if (LabelWeightWarning.Visible)
                {
                    Common.InformUser(Page, LabelWeightWarning.Text);
                }

                ButtonContinue.Visible = true;
                ButtonRevert.Visible   = true;
                ButtonProcessAndCashInvoice.Visible = true;
                break;

            case 5:
                PanelBasicData.Visible = true;
                PanelMaterials.Visible = true;
                PanelTotals.Visible    = true;
                PanelInvoice.Visible   = true;
                PanelInvoice.Enabled   = true;

                // store the sorted materials which are relevant with the weighing
                LoadSortingMaterials();
                if (StoreSorting())
                {
                    // if storing was successfull then show the sorting slip
                    if (RadioButtonListBuyOrSell.SelectedIndex == 0)
                    {
                        InvoiceType = "Buy";
                    }
                    else
                    {
                        InvoiceType = "Sell";
                    }
                    FrameShowInvoice.Attributes["src"] = "WebFormPopup.aspx?UC=ShowReport&d=DataSetSorting&r=ReportSortingA4&Id=" + CurrentWeighingId.ToString() + "&InvoiceType=" + InvoiceType;

                    ButtonDestroyAndBack.Visible = true;
                    ButtonInvoiceOrder.Visible   = true;
                    ButtonNew.Visible            = true;
                }
                else
                {
                    CurrentPageNr--;
                    EnableCorrectScreenElements();
                }
                break;
            }
        }
        private void EnableCorrectScreenElements()
        {
            WebUserControlCashPurchase1.Visible    = false;
            WebUserControlNonCashPurchase1.Visible = false;

            PanelSecondWeighingOrderNumber.Visible = true;
            PanelSecondWeighingOrderNumber.Enabled = false;
            PanelInvoiceInformation.Visible        = false;
            PanelInvoiceInformation.Enabled        = false;

            ButtonContinue.Visible = false;
            ButtonRevert.Visible   = false;

            switch (CurrentPageNr)
            {
            case 1:
                ButtonContinue.Visible = true;
                PanelSecondWeighingOrderNumber.Enabled = true;
                break;

            case 2:
                ButtonContinue.Visible          = true;
                ButtonRevert.Visible            = true;
                PanelInvoiceInformation.Visible = true;
                PanelInvoiceInformation.Enabled = true;

                // check if this is a valid freight number
                bool Success = false;
                try
                {
                    long    FreightNr = Convert.ToInt64(TextBoxOrderNumber.Text);
                    Freight frg       = Freight.SelectFreightByFreightNr(FreightNr, new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session));
                    if (frg != null)
                    {
                        CurrentWeighingId = frg.Id;
                        Success           = true;

                        string InvoiceType = "";
                        if (frg.FreightDirection == "To warehouse")
                        {
                            InvoiceType = "Buy";
                        }
                        else
                        {
                            InvoiceType = "Sell";
                        }

                        URLPopUpControlShowSorting.URLToPopup = "WebFormPopup.aspx?UC=ShowReport&d=DataSetSorting&r=ReportSortingA4&Id=" + CurrentWeighingId.ToString() + "&InvoiceType=" + InvoiceType;

                        if (frg.FreightStatus != "To be invoiced")
                        {
                            Common.InformUser(Page, "Deze vracht is nog niet uitgezocht of al gefactureerd. U kunt deze vracht nogmaals factureren. Deze wordt dan nogmaals op een factuur geplaatst.");
                        }
                    }
                    else
                    {
                        Common.InformUser(Page, "Geef aub een geldig nummer op voor de sorteerbon die nog niet verder is verwerkt.");
                    }
                }
                catch { }

                if (!Success)
                {
                    CurrentPageNr--;
                    EnableCorrectScreenElements();
                }

                break;

            case 3:
                PanelInvoiceInformation.Visible = true;

                switch (RadioButtonListInvoiceType.SelectedIndex)
                {
                case 0:
                    WebUserControlCashPurchase1.Visible = true;
                    WebUserControlCashPurchase1.LoadFromFreight(Freight.SelectFreightByFreightId(CurrentWeighingId, new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session)), false);
                    break;

                case 1:
                    WebUserControlNonCashPurchase1.Visible = true;
                    WebUserControlNonCashPurchase1.LoadFromFreight(Freight.SelectFreightByFreightId(CurrentWeighingId, new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session)), false);
                    break;
                }

                break;
            }
        }