Пример #1
0
 private void myDGV_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArgs e)
 {
     if (e.ColumnIndex == 5)
     {
         if (e.RowIndex >= 0)
         {
             tblwkladder recWkladder = ((DataGridView)sender).Rows[e.RowIndex].DataBoundItem as tblwkladder;
             if (recWkladder != null)
             {
                 string kontonavn;
                 try
                 {
                     IEnumerable <recKontoplan> qry_Kontoplan = from k in Program.karKontoplan select k;
                     IEnumerable <recKontoplan> qry_Kartotek  = from k in Program.karKartotek
                                                                select new recKontoplan
                     {
                         DK        = k.DK,
                         Kontonavn = k.Kontonavn,
                         Kontonr   = k.Kontonr,
                         Moms      = k.Moms,
                         Saldo     = k.Saldo,
                         Type      = k.Type
                     };
                     IEnumerable <recKontoplan> qry_Join = qry_Kontoplan.Union(qry_Kartotek);
                     kontonavn = (from k in qry_Join where k.Kontonr == recWkladder.konto select k.Kontonavn).First();
                 }
                 catch
                 {
                     kontonavn = "Not found";
                 }
                 e.ToolTipText = kontonavn;
             }
         }
     }
 }
Пример #2
0
        private void tblwkladderDataGridView_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                DataGridView.HitTestInfo hit = tblwkladderDataGridView.HitTest(e.X, e.Y);
                int hitcol = hit.ColumnIndex;
                if (hit.Type == DataGridViewHitTestType.Cell && hit.ColumnIndex == 4)
                {
                    tblwkladderDataGridView.ClearSelection();
                    tblwkladderDataGridView.Rows[hit.RowIndex].Cells[hit.ColumnIndex].Selected = true;
                    this.contextMenuMoms.Show(this.tblwkladderDataGridView, new Point(e.X, e.Y));
                }
                else if (hit.Type == DataGridViewHitTestType.Cell && hit.ColumnIndex == 5)
                {
                    tblwkladderDataGridView.ClearSelection();
                    tblwkladderDataGridView.Rows[hit.RowIndex].Cells[hit.ColumnIndex].Selected = true;
                    Point            startPoint         = tblwkladderDataGridView.PointToScreen(new Point(e.X, e.Y));
                    FrmKontoplanList m_frmKontoplanList = new FrmKontoplanList(startPoint, KontoType.Drift | KontoType.Status | KontoType.Debitor | KontoType.Kreditor);
                    m_frmKontoplanList.ShowDialog();
                    int?   selectedKontonr  = m_frmKontoplanList.SelectedKontonr;
                    string selectedMomskode = m_frmKontoplanList.SelectedMomskode;
                    m_frmKontoplanList.Close();
                    if (selectedKontonr != null)
                    {
                        tblwkladder recWkladder = ((DataGridView)sender).Rows[hit.RowIndex].DataBoundItem as tblwkladder;
                        if (recWkladder != null)
                        {
                            recWkladder.konto    = selectedKontonr;
                            recWkladder.momskode = selectedMomskode;
                        }
                    }
                }
                else if (hit.Type == DataGridViewHitTestType.Cell && hit.ColumnIndex == 8)
                {
                    tblwkladderDataGridView.ClearSelection();
                    tblwkladderDataGridView.Rows[hit.RowIndex].Cells[hit.ColumnIndex].Selected = true;
                    Point      startPoint   = tblwkladderDataGridView.PointToScreen(new Point(e.X, e.Y));
                    FrmSagList m_frmSagList = new FrmSagList(startPoint);
                    m_frmSagList.ShowDialog();
                    int?selectedSagnr = m_frmSagList.SelectedSagnr;
                    m_frmSagList.Close();
                    if (selectedSagnr != null)
                    {
                        tblwkladder recWkladder = ((DataGridView)sender).Rows[hit.RowIndex].DataBoundItem as tblwkladder;
                        if (recWkladder != null)
                        {
                            recWkladder.sag = selectedSagnr;
                        }
                    }
                }

                else if (hit.Type == DataGridViewHitTestType.RowHeader)
                {
                    this.contextMenuLineCopyPaste.Show(this.tblwkladderDataGridView, new Point(e.X, e.Y));
                }
            }
        }
Пример #3
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 { }
            }
        }
Пример #4
0
        public void AddNyTemplateKladde(tbltemplate recTemplate, tblbankkonto recBankkonto)
        {
            int bilagnr = 0;

            try
            {
                bilagnr = (from b in ((IList <tblwbilag>) this.tblwbilagBindingSource.List) select b.bilag).Max();
                bilagnr++;
            }
            catch
            {
                bilagnr = Program.karStatus.BS1_NæsteNr();
            }

            DateTime BankDato;

            try
            {
                BankDato = (DateTime)recBankkonto.dato;
            }
            catch
            {
                BankDato = DateTime.Today;
            }

            tblwbilag recwBilag = new tblwbilag
            {
                bilag = bilagnr,
                dato  = BankDato
            };

            string WrkTekst;

            if ((recTemplate.tekst != null) && (recTemplate.tekst.Length > 0))
            {
                WrkTekst = recTemplate.tekst;
            }
            else
            {
                WrkTekst = recBankkonto.tekst;
            }


            string WrkAfstemningskonto;

            if ((recTemplate.afstemningskonto != null) && (recTemplate.afstemningskonto.Length > 0))
            {
                WrkAfstemningskonto = recTemplate.afstemningskonto;
            }
            else
            {
                try
                {
                    WrkAfstemningskonto = (from w in Program.dbDataTransSumma.tblkontoudtogs where w.pid == recBankkonto.bankkontoid select w).First().afstemningskonto;
                }
                catch
                {
                    WrkAfstemningskonto = "";
                }
            }

            string WrkMomskode;

            if ((recTemplate.momskode != null) && (recTemplate.momskode.Length > 0))
            {
                WrkMomskode = recTemplate.momskode;
            }
            else
            {
                try
                {
                    WrkMomskode = (from w in Program.karKontoplan where w.Kontonr == recTemplate.konto select w).First().Moms;
                }
                catch
                {
                    WrkMomskode = "";
                }
            }

            tblwkladder recWkladder = new tblwkladder
            {
                tekst            = WrkTekst,
                afstemningskonto = WrkAfstemningskonto,
                belob            = (decimal)recBankkonto.belob,
                konto            = recTemplate.konto,
                momskode         = WrkMomskode
            };

            recwBilag.tblwkladders.Add(recWkladder);
            this.tblwbilagBindingSource.Add(recwBilag);
            this.tblwbilagBindingSource.MoveLast();
        }
Пример #5
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.tblkladders
                      select new tblwkladder
            {
                tekst            = k.tekst,
                afstemningskonto = k.afstemningskonto,
                belob            = k.belob,
                konto            = k.konto,
                momskode         = k.momskode,
                faktura          = k.faktura
            };

            int AntalLinier = recBilag.tblkladders.Count;


            if ((!IsFound_BankKontoudtog) || (IsFound_BankKontoudtog && ((recBankkonto.bankkontoid == 1) || (recBankkonto.bankkontoid == 3)))) //BANK
            {
                if (AntalLinier <= 3)
                {
                    foreach (tblkladder recKladder in recBilag.tblkladders)
                    {
                        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.tblwkladders.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.tblwkladders.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.tblwkladders.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.tblwkladders.Add(recWkladder);
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }
                }
            }

            else if (IsFound_BankKontoudtog && recBankkonto.bankkontoid == 2)  //MASTERCARD
            {
                if (AntalLinier <= 3)
                {
                    foreach (tblkladder recKladder in recBilag.tblkladders)
                    {
                        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.tblwkladders.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.tblwkladders.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.tblwkladders.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.tblwkladders.Add(recWkladder);
                        this.tblwbilagBindingSource.Add(recwBilag);
                        return(true);
                    }
                }
            }
            //*******************************************************************************************
            //*******************************************************************************************

            return(false);
        }
Пример #6
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       = tblwkladderDataGridView.NewRowIndex;
            tblwbilag recWbilag = (tblwbilag)tblwbilagBindingSource.Current;

            foreach (string line in lines)
            {
                if (line.Length > 0)
                {
                    try
                    {
                        int      i     = 0;
                        int      iMax  = 8;
                        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) //belob
                        {
                            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) //belob
                        {
                            tblwkladder recWkladder;
                            if (Program.karRegnskab.MomsPeriode() == 2) // Ingen moms
                            {
                                recWkladder = new tblwkladder
                                {
                                    tekst            = value[1],
                                    afstemningskonto = value[2],
                                    belob            = Microsoft.VisualBasic.Information.IsNumeric(value[3]) ? decimal.Parse(value[3]) : (decimal?)null,
                                    konto            = Microsoft.VisualBasic.Information.IsNumeric(value[4]) ? int.Parse(value[4]) : (int?)null,
                                    faktura          = Microsoft.VisualBasic.Information.IsNumeric(value[5]) ? int.Parse(value[5]) : (int?)null
                                };
                            }
                            else
                            {
                                recWkladder = new tblwkladder
                                {
                                    tekst            = value[1],
                                    afstemningskonto = value[2],
                                    belob            = Microsoft.VisualBasic.Information.IsNumeric(value[3]) ? decimal.Parse(value[3]) : (decimal?)null,
                                    konto            = Microsoft.VisualBasic.Information.IsNumeric(value[4]) ? int.Parse(value[4]) : (int?)null,
                                    momskode         = value[5],
                                    faktura          = Microsoft.VisualBasic.Information.IsNumeric(value[6]) ? int.Parse(value[6]) : (int?)null
                                };
                            }
                            tblwkladderBindingSource.Insert(row, recWkladder);
                        }
                        row++;
                    }
                    catch (FormatException)
                    {    //TODO: log exceptions using a nice standard logging library
                        tblwkladderDataGridView.CancelEdit();
                    }
                }
                else
                {
                    break;
                }
                tblwkladderBindingSource.MoveFirst();
            }
        }