Esempio n. 1
0
        private void Beregn()
        {
            decimal?fakturabelob = 0;

            try
            {
                var qry = from l in (this.tblwfakBindingSource.Current as Tblwfak).Tblwfaklin select l;
                foreach (var l in qry)
                {
                    decimal momspct;
                    if (KarMoms.isUdlandsmoms(l.Momskode))
                    {
                        momspct = 0;
                    }
                    else
                    {
                        momspct = KarMoms.getMomspct(l.Momskode) / 100;
                    }
                    l.Nettobelob  = l.Pris * l.Antal;
                    l.Moms        = decimal.Round((decimal)(l.Nettobelob * momspct), 2);
                    l.Bruttobelob = l.Nettobelob + l.Moms;
                    fakturabelob += l.Bruttobelob;
                }
            }
            catch { }
            toolStripLabelFakturabelob.Text = fakturabelob.ToString();
        }
Esempio n. 2
0
        private void fratrækMomsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DataGridViewSelectedCellCollection cells = tblwkladderDataGridView.SelectedCells;

            if (cells.Count == 1)
            {
                try
                {
                    DataGridViewTextBoxCell cell        = cells[0] as DataGridViewTextBoxCell;
                    Tblwkladder             recWkladder = cell.OwningRow.DataBoundItem as Tblwkladder;
                    decimal momspct = 1 + KarMoms.getMomspct(recWkladder.Momskode) / 100;
                    recWkladder.Belob /= momspct;
                }
                catch { }
            }
        }
Esempio n. 3
0
        private void pasteCsv(IDataObject dataObject)
        {
            object lDataObjectGetData = dataObject.GetData(DataFormats.CommaSeparatedValue);
            string csv = lDataObjectGetData as string;

            if (csv == null)
            {
                System.IO.MemoryStream stream = lDataObjectGetData as System.IO.MemoryStream;
                if (stream != null)
                {
                    csv = new System.IO.StreamReader(stream).ReadToEnd();
                }
            }
            if (csv == null)
            {
                return;
            }

            Regex regexCommaCvs     = new Regex(@"""(.*?)"",|([^,]*),|(.*)$");
            Regex regexSimicolonCvs = new Regex(@"""(.*?)"";|([^;]*);|(.*)$");

            string[] sep        = { "\r\n", "\n" };
            string[] lines      = csv.TrimEnd('\0').Split(sep, StringSplitOptions.RemoveEmptyEntries);
            int      row        = tblwfaklinDataGridView.NewRowIndex;
            Tblwfak  recWfak    = (Tblwfak)tblwfakBindingSource.Current;
            String   TargetType = recWfak.Sk;

            foreach (string line in lines)
            {
                if (line.Length > 0)
                {
                    try
                    {
                        int      i     = 0;
                        int      iMax  = 12;
                        string[] value = new string[iMax];
                        foreach (Match m in regexCommaCvs.Matches(line + ",,"))
                        {
                            for (int j = 1; j <= 3; j++)
                            {
                                if (m.Groups[j].Success)
                                {
                                    if (i < iMax)
                                    {
                                        value[i++] = m.Groups[j].ToString();
                                        break;
                                    }
                                }
                            }
                        }

                        if (value[3] == null) //konto
                        {
                            i     = 0;
                            value = new string[iMax];
                            foreach (Match m in regexSimicolonCvs.Matches(line + ";;"))
                            {
                                for (int j = 1; j <= 3; j++)
                                {
                                    if (m.Groups[j].Success)
                                    {
                                        if (i < iMax)
                                        {
                                            value[i++] = m.Groups[j].ToString();
                                            break;
                                        }
                                    }
                                }
                            }
                        }

                        if (value[3] != null) //konto
                        {
                            Tblwfaklin recWfaklin;
                            decimal?   Omkostbelob;
                            if (Program.karRegnskab.MomsPeriode() == 2)
                            {
                                recWfaklin = new Tblwfaklin
                                {
                                    Varenr      = value[1],
                                    Tekst       = value[2],
                                    Konto       = Microsoft.VisualBasic.Information.IsNumeric(value[3]) ? int.Parse(value[3]) : (int?)null,
                                    Momskode    = "",
                                    Antal       = Microsoft.VisualBasic.Information.IsNumeric(value[4]) ? decimal.Parse(value[4]) : (decimal?)null,
                                    Enhed       = value[5],
                                    Pris        = Microsoft.VisualBasic.Information.IsNumeric(value[6]) ? decimal.Parse(value[6]) : (decimal?)null,
                                    Moms        = 0,
                                    Nettobelob  = Microsoft.VisualBasic.Information.IsNumeric(value[7]) ? decimal.Parse(value[7]) : (decimal?)null,
                                    Bruttobelob = Microsoft.VisualBasic.Information.IsNumeric(value[7]) ? decimal.Parse(value[7]) : (decimal?)null,
                                };
                                Omkostbelob = Microsoft.VisualBasic.Information.IsNumeric(value[8]) ? decimal.Parse(value[8]) : (decimal?)null;
                                if ((TargetType == "S") && (Omkostbelob != null))
                                {
                                    recWfaklin.Konto = getVaresalgsKonto(recWfaklin.Konto);
                                    decimal momspct = KarMoms.getMomspct(recWfaklin.Momskode) / 100;
                                    recWfaklin.Pris       += decimal.Round((decimal)(Omkostbelob / recWfaklin.Antal), 2);
                                    recWfaklin.Nettobelob  = decimal.Round((decimal)(recWfaklin.Pris * recWfaklin.Antal), 2);
                                    recWfaklin.Moms        = decimal.Round((decimal)(recWfaklin.Nettobelob * momspct), 2);
                                    recWfaklin.Bruttobelob = decimal.Round((decimal)(recWfaklin.Nettobelob + recWfaklin.Moms), 2);
                                }
                            }
                            else
                            {
                                recWfaklin = new Tblwfaklin
                                {
                                    Varenr      = value[1],
                                    Tekst       = value[2],
                                    Konto       = Microsoft.VisualBasic.Information.IsNumeric(value[3]) ? int.Parse(value[3]) : (int?)null,
                                    Momskode    = value[4],
                                    Antal       = Microsoft.VisualBasic.Information.IsNumeric(value[5]) ? decimal.Parse(value[5]) : (decimal?)null,
                                    Enhed       = value[6],
                                    Pris        = Microsoft.VisualBasic.Information.IsNumeric(value[7]) ? decimal.Parse(value[7]) : (decimal?)null,
                                    Moms        = Microsoft.VisualBasic.Information.IsNumeric(value[8]) ? decimal.Parse(value[8]) : (decimal?)null,
                                    Nettobelob  = Microsoft.VisualBasic.Information.IsNumeric(value[9]) ? decimal.Parse(value[9]) : (decimal?)null,
                                    Bruttobelob = Microsoft.VisualBasic.Information.IsNumeric(value[10]) ? decimal.Parse(value[10]) : (decimal?)null
                                };
                                Omkostbelob = Microsoft.VisualBasic.Information.IsNumeric(value[11]) ? decimal.Parse(value[11]) : (decimal?)null;
                                if ((TargetType == "S") && (Omkostbelob != null))
                                {
                                    recWfaklin.Konto    = getVaresalgsKonto(recWfaklin.Konto);
                                    recWfaklin.Momskode = "S25";
                                    decimal momspct = KarMoms.getMomspct(recWfaklin.Momskode) / 100;
                                    recWfaklin.Pris       += decimal.Round((decimal)(Omkostbelob / recWfaklin.Antal), 2);
                                    recWfaklin.Nettobelob  = decimal.Round((decimal)(recWfaklin.Pris * recWfaklin.Antal), 2);
                                    recWfaklin.Moms        = decimal.Round((decimal)(recWfaklin.Nettobelob * momspct), 2);
                                    recWfaklin.Bruttobelob = decimal.Round((decimal)(recWfaklin.Nettobelob + recWfaklin.Moms), 2);
                                }
                            }

                            tblwfaklinBindingSource.Insert(row, recWfaklin);
                        }
                        row++;
                    }
                    catch (FormatException)
                    {    //TODO: log exceptions using a nice standard logging library
                        tblwfaklinDataGridView.CancelEdit();
                    }
                }
                else
                {
                    break;
                }
            }
        }
Esempio n. 4
0
        private bool ReducerBilag(Tblwbilag recwBilag, Tblbilag recBilag, Tblbankkonto recBankkonto)
        {
            bool    IsFound_BankKontoudtog = (recBankkonto != null);
            decimal BankBelob                  = 0;
            decimal MomsBelob                  = 0;
            decimal AndenKontoBelob            = 0;
            int?    AndenKontoKonto            = null;
            string  AndenKontoTekst            = "";
            string  AndenKontoMomskode         = "";
            string  AndenKontoAfstemningskonto = "";
            string  MK          = "";
            bool    bBankKonto  = false;
            bool    bMomsKonto  = false;
            bool    bAndenKonto = false;
            bool    bAfstem     = false;
            bool    bMomskode   = false;

            int AntalLinier = recBilag.Tblkladder.Count;

            if (AntalLinier <= 3)
            {
                foreach (Tblkladder recKladder in recBilag.Tblkladder)
                {
                    if ((recKladder.Afstemningskonto != null) && (recKladder.Afstemningskonto != ""))
                    {
                        bAfstem = true;
                    }

                    if (recKladder.Konto != null)
                    {
                        switch (recKladder.Konto)
                        {
                        case 58000:
                            bBankKonto = true;
                            BankBelob  = (decimal)recKladder.Belob;
                            break;

                        case 66100:
                            bMomsKonto = true;
                            MomsBelob  = (decimal)recKladder.Belob;
                            MK         = "S25";
                            break;

                        case 66200:
                            bMomsKonto = true;
                            MomsBelob  = (decimal)recKladder.Belob;
                            MK         = "K25";
                            break;

                        default:
                            bAndenKonto     = true;
                            AndenKontoBelob = (decimal)recKladder.Belob;
                            AndenKontoTekst = recKladder.Tekst;
                            AndenKontoKonto = (int)recKladder.Konto;
                            if ((recKladder.Afstemningskonto != null) && (recKladder.Afstemningskonto != ""))
                            {
                                AndenKontoAfstemningskonto = recKladder.Afstemningskonto;
                            }
                            if ((recKladder.Momskode != null) && (recKladder.Momskode != ""))
                            {
                                AndenKontoMomskode = recKladder.Momskode;
                            }
                            break;
                        }
                    }

                    if ((recKladder.Momskode != null) && (recKladder.Momskode != ""))
                    {
                        bMomskode = true;
                    }
                }

                if ((AntalLinier == 3) &&
                    (bBankKonto) &&
                    (bMomsKonto) &&
                    (bAndenKonto) &&
                    (!bAfstem) &&
                    (!bMomskode))
                {
                    //decimal MomsBelobDif = -MomsBelob + (AndenKontoBelob * decimal.Parse(" 0,25"));
                    decimal momspct      = KarMoms.getMomspct(MK) / 100;
                    decimal MomsBelobDif = -MomsBelob + (AndenKontoBelob * momspct);
                    if ((MomsBelobDif > -decimal.Parse(" 0,01")) &&
                        (MomsBelobDif < decimal.Parse(" 0,01")))
                    {
                        Tblwkladder recWkladder = new Tblwkladder
                        {
                            Tekst            = AndenKontoTekst,
                            Afstemningskonto = "Bank",
                            Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : BankBelob,
                            Konto            = AndenKontoKonto,
                            Momskode         = MK
                        };
                        recwBilag.Tblwkladder.Add(recWkladder);
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }
                }

                if ((AntalLinier == 2) &&
                    (bBankKonto) &&
                    (!bMomsKonto) &&
                    (bAndenKonto) &&
                    (!bAfstem) &&
                    (!bMomskode))
                {
                    Tblwkladder recWkladder = new Tblwkladder
                    {
                        Tekst            = AndenKontoTekst,
                        Afstemningskonto = "Bank",
                        Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : AndenKontoBelob,
                        Konto            = AndenKontoKonto
                    };
                    recwBilag.Tblwkladder.Add(recWkladder);
                    this.tblwbilagBindingSource.Add(recwBilag);
                    return(true);
                }

                if ((AntalLinier == 1) &&
                    (!bBankKonto) &&
                    (bAndenKonto) &&
                    (bAfstem))
                {
                    Tblwkladder recWkladder = new Tblwkladder
                    {
                        Tekst            = AndenKontoTekst,
                        Afstemningskonto = AndenKontoAfstemningskonto,
                        Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : AndenKontoBelob,
                        Konto            = AndenKontoKonto,
                        Momskode         = AndenKontoMomskode
                    };
                    recwBilag.Tblwkladder.Add(recWkladder);
                    this.tblwbilagBindingSource.Add(recwBilag);
                    return(true);
                }
            }
            return(false);
        }
Esempio n. 5
0
        public int KøbsOrder2Summa(IList <Tblwfak> wFak)
        {
            var rec_regnskab = Program.qryAktivRegnskab();

            if (rec_regnskab.Afsluttet == true)
            {
                return(0);
            }
            KarFakturastr_k   m_karFakturastr_k   = null;
            KarFakturavarer_k m_karFakturavarer_k = null;

            DateTime?Startdato = rec_regnskab.Start;
            DateTime?Slutdato  = rec_regnskab.S**t;

            if (rec_regnskab.DatoLaas != null)
            {
                if (rec_regnskab.DatoLaas > Startdato)
                {
                    Startdato = rec_regnskab.DatoLaas;
                }
            }
            var qry_ord = from sf in wFak
                          where sf.Sk == "K"
                          select sf;

            int AntalOrdre = qry_ord.Count();

            if (AntalOrdre > 0)
            {
                DateTime ToDay = DateTime.Today;
                int      SidsteKFakID;
                int      SidsteRec_no;
                try
                {
                    SidsteKFakID = (from f in Program.karFakturaer_k select f.fakid).Max();
                }
                catch (System.InvalidOperationException)
                {
                    SidsteKFakID = 0;
                }
                try
                {
                    SidsteRec_no = (from f in Program.karFakturaer_k select f.rec_no).Max();
                }
                catch (System.InvalidOperationException)
                {
                    SidsteRec_no = 0;
                }
                m_karFakturastr_k   = new KarFakturastr_k();
                m_karFakturavarer_k = new KarFakturavarer_k(true);

                foreach (var o in qry_ord)
                {
                    var qry_ordlin = from sfl in o.Tblwfaklin select sfl;
                    if (qry_ordlin.Count() == 0) //der findes ingen ordrelinier
                    {
                        continue;
                    }

                    SidsteKFakID++;
                    SidsteRec_no++;
                    int orebelob  = (int)((from s in qry_ordlin select s.Bruttobelob).Sum() * 100);
                    int momsbelob = (int)((from s in qry_ordlin select s.Moms).Sum() * 100);
                    if (o.Dato == null)
                    {
                        o.Dato = ToDay;
                    }
                    if (o.Konto == null)
                    {
                        o.Konto = 0;
                    }
                    if (o.Kreditorbilagsnr == null)
                    {
                        o.Kreditorbilagsnr = 0;
                    }
                    ordtype_k ord = new ordtype_k
                                    (
                        SidsteKFakID,                     //fakid
                        (DateTime)o.Dato,                 //dato
                        ((DateTime)o.Dato).AddDays(14),   //forfaldsdato
                        orebelob,                         //fakbeløb i øre
                        (int)(o.Konto),                   //kreditornr
                        momsbelob,                        //momsbeløb i øre
                        (int)(o.Kreditorbilagsnr)         //kreditorbilagsnr
                                    );
                    recFakturaer_k rec = new recFakturaer_k {
                        rec_no = SidsteRec_no, rec_data = ord
                    };
                    Program.karFakturaer_k.Add(rec);

                    var      m_rec    = (from m in Program.karKartotek where m.Kontonr == o.Konto select m).First();
                    string[] wAdresse = new string[1];
                    wAdresse[0] = m_rec.Adresse;
                    clsNavnAdresse wFakNavnAdresse = new clsNavnAdresse
                    {
                        Navn    = m_rec.Kontonavn,
                        Adresse = wAdresse,
                        Postnr  = m_rec.Postnr,
                        Bynavn  = m_rec.Bynavn,
                    };
                    recFakturastr_k rec_Fakturastr_k = new recFakturastr_k
                    {
                        Fakid          = SidsteKFakID,
                        FakNavnAdresse = wFakNavnAdresse,
                        Cvrnr          = m_rec.Cvrnr,
                    };
                    m_karFakturastr_k.Add(rec_Fakturastr_k);

                    foreach (var ol in qry_ordlin)
                    {
                        recFakturavarer_k rec_Fakturavarer_k = new recFakturavarer_k
                        {
                            Fakid       = SidsteKFakID,
                            Varenr      = Microsoft.VisualBasic.Information.IsNumeric(ol.Varenr) ? int.Parse(ol.Varenr) : (int?)null,
                            VareTekst   = ol.Tekst,
                            Bogfkonto   = ol.Konto,
                            Antal       = ol.Antal,
                            Enhed       = ol.Enhed,
                            Pris        = ol.Pris,
                            Moms        = ol.Moms,
                            Nettobelob  = ol.Nettobelob,
                            Bruttobelob = ol.Bruttobelob,
                            Momspct     = KarMoms.getMomspct(ol.Momskode)
                        };
                        m_karFakturavarer_k.Add(rec_Fakturavarer_k);
                    }
                }

                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "SidsteKFakID" select s).First();
                    rec_Status.value = SidsteKFakID.ToString();
                }
                catch (System.InvalidOperationException)
                {
                    recStatus rec_Status = new recStatus
                    {
                        key   = "SidsteKFakID",
                        value = SidsteKFakID.ToString()
                    };
                    Program.karStatus.Add(rec_Status);
                }
                Program.karStatus.save();

                Program.karFakturaer_k.save();
                m_karFakturastr_k.save();
                m_karFakturavarer_k.save();

                Program.dbDataTransSumma.SubmitChanges();
            }
            return(AntalOrdre);
        }
Esempio n. 6
0
        private bool ReducerBilag(Tblwbilag recwBilag, Tblbilag recBilag, Tblbankkonto recBankkonto)
        {
            bool    IsFound_BankKontoudtog = (recBankkonto != null);
            decimal BankBelob                  = 0;
            decimal MomsBelob                  = 0;
            decimal AndenKontoBelob            = 0;
            int?    AndenKontoKonto            = null;
            string  AndenKontoTekst            = "";
            string  AndenKontoMomskode         = "";
            string  AndenKontoAfstemningskonto = "";
            string  MK          = "";
            bool    bBankKonto  = false;
            bool    bMomsKonto  = false;
            bool    bAndenKonto = false;
            bool    bAfstem     = false;
            bool    bMomskode   = false;

            var qry = from k in recBilag.Tblkladder
                      select new Tblwkladder
            {
                Tekst            = k.Tekst,
                Afstemningskonto = k.Afstemningskonto,
                Belob            = k.Belob,
                Konto            = k.Konto,
                Momskode         = k.Momskode,
                Faktura          = k.Faktura
            };

            int AntalLinier = recBilag.Tblkladder.Count;


            if ((!IsFound_BankKontoudtog) || (IsFound_BankKontoudtog && recBankkonto.Bankkontoid == 1)) //BANK
            {
                if (AntalLinier <= 3)
                {
                    foreach (Tblkladder recKladder in recBilag.Tblkladder)
                    {
                        if ((recKladder.Afstemningskonto != null) && (recKladder.Afstemningskonto != ""))
                        {
                            bAfstem = true;
                        }

                        if (recKladder.Konto != null)
                        {
                            switch (recKladder.Konto)
                            {
                            case 58000:
                                bBankKonto = true;
                                BankBelob  = (decimal)recKladder.Belob;
                                break;

                            case 66100:
                                bMomsKonto = true;
                                MomsBelob  = (decimal)recKladder.Belob;
                                MK         = "S25";
                                break;

                            case 66200:
                                bMomsKonto = true;
                                MomsBelob  = (decimal)recKladder.Belob;
                                MK         = "K25";
                                break;

                            default:
                                bAndenKonto     = true;
                                AndenKontoBelob = (decimal)recKladder.Belob;
                                AndenKontoTekst = recKladder.Tekst;
                                AndenKontoKonto = (int)recKladder.Konto;
                                if ((recKladder.Afstemningskonto != null) && (recKladder.Afstemningskonto != ""))
                                {
                                    AndenKontoAfstemningskonto = recKladder.Afstemningskonto;
                                }
                                if ((recKladder.Momskode != null) && (recKladder.Momskode != ""))
                                {
                                    AndenKontoMomskode = recKladder.Momskode;
                                }
                                break;
                            }
                        }

                        if ((recKladder.Momskode != null) && (recKladder.Momskode != ""))
                        {
                            bMomskode = true;
                        }
                    }

                    if ((AntalLinier == 3) &&
                        (bBankKonto) &&
                        (bMomsKonto) &&
                        (bAndenKonto) &&
                        (!bAfstem) &&
                        (!bMomskode))
                    {
                        //decimal MomsBelobDif = -MomsBelob + (AndenKontoBelob * decimal.Parse(" 0,25"));
                        decimal momspct      = KarMoms.getMomspct(MK) / 100;
                        decimal MomsBelobDif = -MomsBelob + (AndenKontoBelob * momspct);
                        if ((MomsBelobDif > -decimal.Parse(" 0,01")) &&
                            (MomsBelobDif < decimal.Parse(" 0,01")))
                        {
                            Tblwkladder recWkladder = new Tblwkladder
                            {
                                Tekst            = AndenKontoTekst,
                                Afstemningskonto = "Bank",
                                Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : BankBelob,
                                Konto            = AndenKontoKonto,
                                Momskode         = MK
                            };
                            recwBilag.Tblwkladder.Add(recWkladder);
                            this.tblwbilagBindingSource.Add(recwBilag);
                            return(true);
                        }
                    }

                    if ((AntalLinier == 2) &&
                        (bBankKonto) &&
                        (!bMomsKonto) &&
                        (bAndenKonto) &&
                        (!bAfstem) &&
                        (!bMomskode))
                    {
                        Tblwkladder recWkladder = new Tblwkladder
                        {
                            Tekst            = AndenKontoTekst,
                            Afstemningskonto = "Bank",
                            Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : AndenKontoBelob,
                            Konto            = AndenKontoKonto
                        };
                        recwBilag.Tblwkladder.Add(recWkladder);
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }


                    if ((AntalLinier == 2) &&
                        (bBankKonto) &&
                        (bAndenKonto) &&
                        (!bAfstem))
                    {
                        foreach (Tblwkladder k in qry)
                        {
                            if (IsFound_BankKontoudtog)
                            {
                                if (k.Konto == 58000)
                                {
                                    k.Belob = -(decimal)recBankkonto.Belob;
                                }
                                else
                                {
                                    k.Belob = (decimal)recBankkonto.Belob;
                                }
                            }
                            recwBilag.Tblwkladder.Add(k);
                        }
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }

                    if ((AntalLinier == 1) &&
                        (!bBankKonto) &&
                        (bAndenKonto) &&
                        (bAfstem))
                    {
                        string WrkAfstemningskonto;
                        if (AndenKontoAfstemningskonto == "MasterCard")
                        {
                            WrkAfstemningskonto = "Bank";
                        }
                        else
                        {
                            WrkAfstemningskonto = AndenKontoAfstemningskonto;
                        }
                        Tblwkladder recWkladder = new Tblwkladder
                        {
                            Tekst            = AndenKontoTekst,
                            Afstemningskonto = WrkAfstemningskonto,
                            Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : AndenKontoBelob,
                            Konto            = AndenKontoKonto,
                            Momskode         = AndenKontoMomskode
                        };
                        recwBilag.Tblwkladder.Add(recWkladder);
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }
                }
            }

            else if (IsFound_BankKontoudtog && recBankkonto.Bankkontoid == 2)  //MASTERCARD
            {
                if (AntalLinier <= 3)
                {
                    foreach (Tblkladder recKladder in recBilag.Tblkladder)
                    {
                        if ((recKladder.Afstemningskonto != null) && (recKladder.Afstemningskonto != ""))
                        {
                            bAfstem = true;
                        }

                        if (recKladder.Konto != null)
                        {
                            switch (recKladder.Konto)
                            {
                            case 58310:
                                bBankKonto = true;
                                BankBelob  = (decimal)recKladder.Belob;
                                break;

                            case 66100:
                                bMomsKonto = true;
                                MomsBelob  = (decimal)recKladder.Belob;
                                MK         = "S25";
                                break;

                            case 66200:
                                bMomsKonto = true;
                                MomsBelob  = (decimal)recKladder.Belob;
                                MK         = "K25";
                                break;

                            default:
                                bAndenKonto     = true;
                                AndenKontoBelob = (decimal)recKladder.Belob;
                                AndenKontoTekst = recKladder.Tekst;
                                AndenKontoKonto = (int)recKladder.Konto;
                                if ((recKladder.Afstemningskonto != null) && (recKladder.Afstemningskonto != ""))
                                {
                                    AndenKontoAfstemningskonto = recKladder.Afstemningskonto;
                                }
                                if ((recKladder.Momskode != null) && (recKladder.Momskode != ""))
                                {
                                    AndenKontoMomskode = recKladder.Momskode;
                                }
                                break;
                            }
                        }

                        if ((recKladder.Momskode != null) && (recKladder.Momskode != ""))
                        {
                            bMomskode = true;
                        }
                    }

                    if ((AntalLinier == 3) &&
                        (bBankKonto) &&
                        (bMomsKonto) &&
                        (bAndenKonto) &&
                        (!bAfstem) &&
                        (!bMomskode))
                    {
                        //decimal MomsBelobDif = -MomsBelob + (AndenKontoBelob * decimal.Parse(" 0,25"));
                        decimal momspct      = KarMoms.getMomspct(MK) / 100;
                        decimal MomsBelobDif = -MomsBelob + (AndenKontoBelob * momspct);
                        if ((MomsBelobDif > -decimal.Parse(" 0,01")) &&
                            (MomsBelobDif < decimal.Parse(" 0,01")))
                        {
                            Tblwkladder recWkladder = new Tblwkladder
                            {
                                Tekst            = AndenKontoTekst,
                                Afstemningskonto = "MasterCard",
                                Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : BankBelob,
                                Konto            = AndenKontoKonto,
                                Momskode         = MK
                            };
                            recwBilag.Tblwkladder.Add(recWkladder);
                            this.tblwbilagBindingSource.Add(recwBilag);
                            return(true);
                        }
                    }

                    if ((AntalLinier == 2) &&
                        (bBankKonto) &&
                        (!bMomsKonto) &&
                        (bAndenKonto) &&
                        (!bAfstem) &&
                        (!bMomskode))
                    {
                        Tblwkladder recWkladder = new Tblwkladder
                        {
                            Tekst            = AndenKontoTekst,
                            Afstemningskonto = "MasterCard",
                            Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : AndenKontoBelob,
                            Konto            = AndenKontoKonto
                        };
                        recwBilag.Tblwkladder.Add(recWkladder);
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }

                    if ((AntalLinier == 2) &&
                        (bBankKonto) &&
                        (bAndenKonto) &&
                        (!bAfstem))
                    {
                        foreach (Tblwkladder k in qry)
                        {
                            if (IsFound_BankKontoudtog)
                            {
                                if (k.Konto == 58310)
                                {
                                    k.Belob = -(decimal)recBankkonto.Belob;
                                }
                                else
                                {
                                    k.Belob = (decimal)recBankkonto.Belob;
                                }
                            }
                            recwBilag.Tblwkladder.Add(k);
                        }
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }
                    if ((AntalLinier == 1) &&
                        (!bBankKonto) &&
                        (bAndenKonto) &&
                        (bAfstem))
                    {
                        string WrkAfstemningskonto;
                        if (AndenKontoAfstemningskonto == "Bank")
                        {
                            WrkAfstemningskonto = "MasterCard";
                        }
                        else
                        {
                            WrkAfstemningskonto = AndenKontoAfstemningskonto;
                        }

                        Tblwkladder recWkladder = new Tblwkladder
                        {
                            Tekst            = AndenKontoTekst,
                            Afstemningskonto = WrkAfstemningskonto,
                            Belob            = (IsFound_BankKontoudtog) ? (decimal)recBankkonto.Belob : AndenKontoBelob,
                            Konto            = AndenKontoKonto,
                            Momskode         = AndenKontoMomskode
                        };
                        recwBilag.Tblwkladder.Add(recWkladder);
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }
                }
            }

            return(false);
        }