Ejemplo n.º 1
0
        private void SetPriceTextBlock(int Takst = -1, int Beregning = -1)
        {
            List <int>       pakkeId   = GetPacketIndexs(_hiddenId.Text);//hent id
            PakkeControlItem pakkeItem = this.Items[pakkeId[0]];


            if (!IsFaktura || this.TranssportId == c_TransportKurer ||
                pakkeId[0] == -1 || pakkeId[1] == -1 ||
                (this.TranssportId == c_TransportKurer && (pakkeItem.takstId[pakkeId[1]] == -1 ||
                                                           pakkeItem.beregningstypeId[pakkeId[1]] == -1)))
            {
                TextBlock_PacketPrice.Text = "";
                return;
            }

            double price = 0;

            switch (this.TranssportId)
            {
            case c_TransportPakke:

                price = Models.FakturaPrisliste.pakkePriser.Prices[pakkeItem.transportTypeId][this.TranssportId2];

                break;

            case c_TransportGods:



                Takst     = Takst == -1 ? pakkeItem.takstId[pakkeId[1]] : Takst;
                Beregning = Beregning == -1 ? pakkeItem.beregningstypeId[pakkeId[1]] : Beregning;

                if (Takst == -1 || Beregning == -1)
                {
                    TextBlock_PacketPrice.Text = "";
                    return;
                }

                var godsFunc = new Class.GodsFunction();

                double kiloCal = godsFunc.GetCalKilo(Beregning, pakkeItem.volumeL, pakkeItem.volumeB, pakkeItem.volumeH);
                double kiloUse = kiloCal >= pakkeItem.weightD ? kiloCal : pakkeItem.weightD;


                price = godsFunc.GetPrice(Takst, kiloUse);
                break;
            }

            if (price != 0)
            {
                TextBlock_PacketPrice.Text = price.ToString("N2") + " kr.";
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// gå til næste faktura pakke
        /// </summary>
        private void _NextButton_click(object sender, RoutedEventArgs e)
        {
            List <int>       pakkeId   = GetPacketIndexs(_hiddenId.Text); //hent id
            PakkeControlItem pakkeItem = this.Items[pakkeId[0]];          //hent pakke data

            //hent faktura pakke data
            pakkeItem.takstId[pakkeId[1]]            = Selector_Faktura_Takst.SelectId;
            pakkeItem.takstName[pakkeId[1]]          = Selector_Faktura_Takst.SelectName;
            pakkeItem.beregningstypeId[pakkeId[1]]   = Selector_Faktura_Beregn.SelectId;
            pakkeItem.beregningstypeName[pakkeId[1]] = Selector_Faktura_Beregn.SelectName;

            //tjek om pakken er færdig
            if (Selector_Faktura_Takst.SelectId != -1 && Selector_Faktura_Beregn.SelectId != -1)
            {
                pakkeItem.IsDoneFaktura[pakkeId[1]] = true;
            }
            else
            {
                pakkeItem.IsDoneFaktura[pakkeId[1]] = false;
            }

            //opdatere layout
            Update();

            int ItemCount        = this.Items.Count;
            int ItemfakturaCount = this.Items[pakkeId[0]].countI;

            if (ItemfakturaCount != (pakkeId[1] + 1))
            {
                SetElementPacketData(pakkeId[0], (pakkeId[1] + 1));
            }

            else if (ItemCount != (pakkeId[0] + 1))
            {
                SetElementPacketData((pakkeId[0] + 1), 0);
            }
            else
            {
                _hiddenId.Text          = "-1";
                grid_faktura.Visibility = Visibility.Hidden;
            }
            HighLightSelected();
        }
Ejemplo n.º 3
0
        private bool PacketIsDoneFragt(PakkeControlItem packetItem)
        {
            int[] nullVolume;
            bool  volumeStatus = CheckVolume(packetItem.volume, out nullVolume);


            if (packetItem.mrkNumb == "" || packetItem.contains == "" ||
                packetItem.countI <= 0 || packetItem.weightD <= 0 ||
                packetItem.artId == -1 || packetItem.transportTypeId == -1)
            {
                return(false);
            }
            else if (this.TranssportId == c_TransportGods && !volumeStatus ||
                     !volumeStatus && packetItem.volume != "")
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// tjek om det er en tom pakke
        /// </summary>
        private bool PacketIsEmpty(PakkeControlItem packetItem)
        {
            PakkeControlItem checkNewElement = new PakkeControlItem();


            if (
                packetItem.mrkNumb == checkNewElement.mrkNumb &&
                packetItem.contains == checkNewElement.contains &&
                packetItem.countI == checkNewElement.countI &&
                packetItem.weightD == checkNewElement.weightD &&
                packetItem.artId == checkNewElement.artId &&
                packetItem.volume == checkNewElement.volume &&
                packetItem.transportTypeId == checkNewElement.transportTypeId &&
                packetItem.takstId == checkNewElement.takstId &&
                packetItem.beregningstypeId == checkNewElement.beregningstypeId
                )
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// henter pakke data og indæstter det i tekst bokse
        /// </summary>
        private bool SetElementPacketData(int pakkeId, int fakturaId)
        {
            grid_faktura.Visibility = Visibility.Hidden;
            _NextButton.Visibility  = Visibility.Collapsed;

            int pakkeCount = this.Items.Count;

            int packIndex    = GetPacketOneIndex(pakkeId, fakturaId);
            int packIndexMax = GetPacketMaxIndex();


            _Button_Arrow_Next.Visibility = Visibility.Visible;
            _Button_Arrow_Back.Visibility = Visibility.Visible;

            if (packIndex == 0)
            {
                _Button_Arrow_Back.Visibility = Visibility.Collapsed;
            }

            if (packIndex == packIndexMax)
            {
                _Button_Arrow_Next.Visibility = Visibility.Collapsed;
            }

            //tjek om pakke findes
            if (packIndex == -1)
            {
                _hiddenId.Text = "-1";//sæt næste pakke id
                return(false);
            }

            //hent pakke data
            PakkeControlItem pakkeItem = this.Items[pakkeId];

            //sæt fragtbrev data
            _mrkNumb.Text           = pakkeItem.mrkNumb;
            _indhold.Text           = pakkeItem.contains;
            _antal.Text             = pakkeItem.countS;
            _weight.Text            = pakkeItem.weightS;
            _artType.SelectId       = pakkeItem.artId;
            _volume.Text            = pakkeItem.volume;
            _transportType.SelectId = pakkeItem.transportTypeId;

            //check volume
            bool volumeStatus = true;

            if (pakkeItem.volume != "" || this.TranssportId == c_TransportGods)
            {
                int[] volumeValue;
                volumeStatus = CheckVolume(pakkeItem.volume, out volumeValue);
            }
            //sæt/fjern rød ramme
            _volume.RequireEnableRedBorder = !volumeStatus;
            this.VolumeHasUseRedBorder     = !volumeStatus;


            _hiddenId.Text = "HiddenId_" + pakkeId + "_0";//sæt næste pakke id

            //sæt faktura data
            if (IsFaktura && fakturaId != -1)
            {
                _hiddenId.Text = "HiddenId_" + pakkeId + "_" + fakturaId; //sæt næste pakke id
                _antal.Text    = "1";                                     //skal kun sige der er en
                Selector_Faktura_Takst.SelectId  = pakkeItem.takstId[fakturaId];
                Selector_Faktura_Beregn.SelectId = pakkeItem.beregningstypeId[fakturaId];
            }

            if (IsFaktura && this.TranssportId == c_TransportGods)
            {
                grid_faktura.Visibility            = Visibility.Visible;
                Selector_Faktura_Takst.Visibility  = Visibility.Visible;
                Selector_Faktura_Beregn.Visibility = Visibility.Visible;
            }
            else if (IsFaktura && this.TranssportId == c_TransportPakke)
            {
                grid_faktura.Visibility            = Visibility.Visible;
                Selector_Faktura_Takst.Visibility  = Visibility.Collapsed;
                Selector_Faktura_Beregn.Visibility = Visibility.Collapsed;
            }

            SetPriceTextBlock();

            ScrollToPacket();

            return(true);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// tilføj pakke til list
        /// </summary>
        private void _AddButton_click(object sender, RoutedEventArgs e)
        {
            List <int> hiddenId = GetPacketIndexs(_hiddenId.Text);

            _hiddenId.Text = "-1"; //sæt id for næste pakke
            PakkeControlItem newItem = new PakkeControlItem();

            int    count  = 0;
            double weight = 0;

            int.TryParse(_antal.Text, out count);
            double.TryParse(_weight.Text, out weight);

            //hent data
            newItem.IsDoneFragt       = false;
            newItem.mrkNumb           = _mrkNumb.Text;
            newItem.contains          = _indhold.Text;
            newItem.countI            = count;
            newItem.countS            = _antal.Text;
            newItem.weightD           = weight;
            newItem.weightS           = _weight.Text;
            newItem.artId             = _artType.SelectId;
            newItem.artName           = _artType.SelectName;
            newItem.volume            = _volume.Text;
            newItem.transportTypeId   = _transportType.SelectId;
            newItem.transportTypeName = _transportType.SelectName;

            //check volume
            if (newItem.volume != "" || this.TranssportId == c_TransportGods)
            {
                int[] volumeValue;
                CheckVolume(newItem.volume, out volumeValue);

                newItem.volumeL = volumeValue[0];
                newItem.volumeB = volumeValue[1];
                newItem.volumeH = volumeValue[2];
            }

            newItem.IsDoneFragt = PacketIsDoneFragt(newItem);

            //man må ikke kunne tilføje helt tomme pakker
            if (!PacketIsEmpty(newItem))
            {
                //nulstil faktura delen
                newItem.IsDoneFaktura      = new List <bool>();
                newItem.takstId            = new List <int>();
                newItem.takstName          = new List <string>();
                newItem.beregningstypeId   = new List <int>();
                newItem.beregningstypeName = new List <string>();

                //giv faktura delen en default værdi
                for (int i = 0; i < newItem.countI; i++)
                {
                    newItem.IsDoneFaktura.Add(false);
                    newItem.takstId.Add(-1);
                    newItem.takstName.Add("");
                    newItem.beregningstypeId.Add(-1);
                    newItem.beregningstypeName.Add("");
                }

                // om det er en ny pakke
                if (hiddenId[0] == -1)
                {
                    Items.Add(newItem);
                }
                else
                {
                    Items[hiddenId[0]] = newItem;
                }

                Update();                       //opdatere listview
                _CancelButton_click(sender, e); //nulstil tekstbokse
            }
        }