Пример #1
0
        public int Order2Summa()
        {
            var rec_regnskab = Program.qryAktivRegnskab();

            if (rec_regnskab.Afsluttet == true)
            {
                return(0);
            }

            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 f in Program.dbData3060.Tblfak
                          where f.SFakID == null && Startdato <= f.Betalingsdato && f.Betalingsdato <= Slutdato
                          join b in Program.dbData3060.Tblbetlin on f.Faknr equals b.Faknr
                          where b.Pbstranskode == "0236" || b.Pbstranskode == "0297"
                          select new { f.Id, Pbsfaknr = f.Faknr, f.Nr, f.Advisbelob, f.Betalingsdato, f.Vnr, f.Bogfkonto, b.Indbetalingsdato };

            int AntalOrdre = qry_ord.Count();

            if (AntalOrdre > 0)
            {
                DateTime nu    = DateTime.Now;
                DateTime ToDay = new DateTime(nu.Year, nu.Month, nu.Day);;
                int      SidsteSFakID;
                int      SidsteRec_no;
                try
                {
                    SidsteSFakID = (from f in Program.karFakturaer_s select f.fakid).Max();
                }
                catch (System.InvalidOperationException)
                {
                    SidsteSFakID = 0;
                }
                try
                {
                    SidsteRec_no = (from f in Program.karFakturaer_s select f.rec_no).Max();
                }
                catch (System.InvalidOperationException)
                {
                    SidsteRec_no = 0;
                }
                Program.karFakturastr_s   = null;
                Program.karFakturavarer_s = null;

                foreach (var o in qry_ord)
                {
                    SidsteSFakID++;
                    SidsteRec_no++;
                    int orebelob = (int)o.Advisbelob * 100;

                    ordtype_s ord = new ordtype_s
                                    (
                        SidsteSFakID,          //fakid
                        ToDay,                 //(o.Betalingsdato > o.Indbetalingsdato) ? (DateTime)o.Betalingsdato : (DateTime)o.Indbetalingsdato, //dato
                        ToDay,                 //(DateTime)o.Betalingsdato, //forfaldsdato
                        orebelob,              //fakbeløb i øre
                        (int)Nr2Debktonr(o.Nr) //debitornr
                                    );
                    recFakturaer_s rec = new recFakturaer_s {
                        rec_no = SidsteRec_no, rec_data = ord
                    };
                    Program.karFakturaer_s.Add(rec);

                    var             m_rec            = (from m in Program.karMedlemmer where m.Nr == o.Nr select m).First();
                    recFakturastr_s rec_Fakturastr_s = new recFakturastr_s
                    {
                        Fakid   = SidsteSFakID.ToString(),
                        Navn    = m_rec.Navn,
                        Adresse = m_rec.Adresse,
                        Postnr  = m_rec.Postnr,
                        Bynavn  = m_rec.Bynavn,
                        Faknr   = (int)o.Pbsfaknr,
                        Email   = m_rec.Email
                    };
                    Program.karFakturastr_s.Add(rec_Fakturastr_s);

                    recFakturavarer_s rec_Fakturavarer_s = new recFakturavarer_s
                    {
                        Fakid        = SidsteSFakID.ToString(),
                        Varenr       = (int)o.Vnr,
                        VareTekst    = "Puls 3060 kontingent",
                        Bogfkonto    = (int)o.Bogfkonto,
                        Antal        = 1,
                        Fakturabelob = (double)o.Advisbelob
                    };
                    Program.karFakturavarer_s.Add(rec_Fakturavarer_s);

                    try
                    {
                        Tblfak rec_fak = (from f in Program.dbData3060.Tblfak
                                          where f.Id == o.Id
                                          select f).First();
                        rec_fak.SFakID = SidsteSFakID;
                    }
                    catch (System.InvalidOperationException)
                    {
                        throw;
                    }
                }
                Program.karFakturaer_s.save();
                Program.karFakturastr_s.save();
                Program.karFakturavarer_s.save();

                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "SidsteSFakID" select s).First();
                    rec_Status.value = SidsteSFakID.ToString();
                }
                catch (System.InvalidOperationException)
                {
                    recStatus rec_Status = new recStatus
                    {
                        key   = "SidsteSFakID",
                        value = SidsteSFakID.ToString()
                    };
                    Program.karStatus.Add(rec_Status);
                }
                Program.karStatus.save();
                Program.dbData3060.SubmitChanges();
            }
            return(AntalOrdre);
        }
Пример #2
0
        public int BogforIndBetalinger()
        {
            int saveBetid = 0;
            var bogf      = from s in Program.karFakturaer_s
                            //where s.saldo != 0
                            join f in Program.dbData3060.Tblfak on s.fakid equals f.SFakID
                            where f.SFaknr != null
                            join m in Program.karMedlemmer on f.Nr equals m.Nr
                            join bl in Program.dbData3060.Tblbetlin on f.Faknr equals bl.Faknr
                            join b in Program.dbData3060.Tblbet on bl.Betid equals b.Id
                            where b.Summabogfort != true
                            join p in Program.dbData3060.Tblfrapbs on b.Frapbsid equals p.Id
                            orderby p.Id, b.Id, bl.Id
                select new
            {
                Frapbsid = p.Id,
                p.Leverancespecifikation,
                Betid = b.Id,
                GruppeIndbetalingsbelob = b.Indbetalingsbelob,
                Betlinid = bl.Id,
                Fakid    = f.Id,
                bl.Betalingsdato,
                bl.Indbetalingsdato,
                m.Navn,
                bl.Indbetalingsbelob,
                f.SFaknr
            };
            int AntalBetalinger = bogf.Count();

            if (bogf.Count() > 0)
            {
                DateTime nu    = DateTime.Now;
                DateTime ToDay = new DateTime(nu.Year, nu.Month, nu.Day);;

                int BS1_SidsteNr = 0;
                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "BS1_SidsteNr" select s).First();
                    BS1_SidsteNr = int.Parse(rec_Status.value);
                }
                catch (System.InvalidOperationException)
                {
                }

                Program.karKladde = null;


                foreach (var b in bogf)
                {
                    if (saveBetid != b.Betid) // ny gruppe
                    {
                        saveBetid = b.Betid;
                        recKladde gkl = new recKladde
                        {
                            Dato             = ToDay, //(b.Betalingsdato > b.Indbetalingsdato) ? (DateTime)b.Betalingsdato : (DateTime)b.Indbetalingsdato,
                            Bilag            = ++BS1_SidsteNr,
                            Tekst            = "Indbetalingskort K 81131945-" + ((DateTime)b.Indbetalingsdato).Day + "." + ((DateTime)b.Indbetalingsdato).Month,
                            Afstemningskonto = "Bank",
                            Belob            = b.GruppeIndbetalingsbelob,
                            Kontonr          = null,
                            Faknr            = null
                        };
                        Program.karKladde.Add(gkl);

                        var rec_bet = (from ub in Program.dbData3060.Tblbet where ub.Id == b.Betid select ub).First();
                        rec_bet.Summabogfort = true;
                    }

                    recKladde kl = new recKladde
                    {
                        Dato             = ToDay, //(b.Betalingsdato > b.Indbetalingsdato) ? (DateTime)b.Betalingsdato : (DateTime)b.Indbetalingsdato,
                        Bilag            = BS1_SidsteNr,
                        Tekst            = "F" + b.SFaknr + " " + b.Navn,
                        Afstemningskonto = null,
                        Belob            = b.Indbetalingsbelob,
                        Kontonr          = 56100,
                        Faknr            = b.SFaknr
                    };
                    Program.karKladde.Add(kl);
                }
                Program.karStatus.save();
                Program.karKladde.save();
                Program.dbData3060.SubmitChanges();
            }
            return(AntalBetalinger);
        }
Пример #3
0
        public int BogforUdBetalinger(int lobnr)
        {
            var bogf = from f in Program.karFakturaer_k
                       where f.saldo != 0
                       join o in Program.dbData3060.Tbloverforsel on f.fakid equals o.SFakID
                       where o.Tilpbsid == lobnr
                       join m in Program.karMedlemmer on o.Nr equals m.Nr
                       orderby o.Betalingsdato ascending
                       select new
            {
                Fakid = o.Id,
                m.Navn,
                o.SFaknr,
                o.Betalingsdato,
                o.Advisbelob
            };
            int AntalBetalinger = bogf.Count();

            if (bogf.Count() > 0)
            {
                int BS1_SidsteNr = 0;
                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "BS1_SidsteNr" select s).First();
                    BS1_SidsteNr = int.Parse(rec_Status.value);
                }
                catch (System.InvalidOperationException)
                {
                }

                Program.karKladde = null;

                foreach (var b in bogf)
                {
                    recKladde gkl = new recKladde
                    {
                        Dato             = clsOverfoersel.bankdageplus((DateTime)b.Betalingsdato, -1),
                        Bilag            = ++BS1_SidsteNr,
                        Tekst            = "Overførsel",
                        Afstemningskonto = "Bank",
                        Belob            = -b.Advisbelob,
                        Kontonr          = null,
                        Faknr            = null
                    };
                    Program.karKladde.Add(gkl);
                    recKladde kl = new recKladde
                    {
                        Dato             = clsOverfoersel.bankdageplus((DateTime)b.Betalingsdato, -1),
                        Bilag            = BS1_SidsteNr,
                        Tekst            = "KF" + b.SFaknr + " " + b.Navn,
                        Afstemningskonto = null,
                        Belob            = -b.Advisbelob,
                        Kontonr          = 65100,
                        Faknr            = b.SFaknr
                    };
                    Program.karKladde.Add(kl);
                }

                Program.karStatus.save();
                Program.karKladde.save();
                Program.dbData3060.SubmitChanges();
            }
            return(AntalBetalinger);
        }
Пример #4
0
        public int BogforIndBetalinger()
        {
            var rec_regnskab = Program.qryAktivRegnskab();

            if (rec_regnskab.Afsluttet == true)
            {
                return(0);
            }

            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;
                }
            }
            int saveBetid = 0;
            var bogf      = from bl in Program.dbData3060.tblbetlins
                            where (bl.pbstranskode == "0236" || bl.pbstranskode == "0297") && (Startdato <= bl.indbetalingsdato && bl.indbetalingsdato <= Slutdato)
                            join b in Program.dbData3060.tblbets on bl.betid equals b.id
                            where b.summabogfort == null || b.summabogfort == false
                            join p in Program.dbData3060.tblfrapbs on b.frapbsid equals p.id
                            orderby p.id, b.id, bl.id
                select new
            {
                Frapbsid = p.id,
                p.leverancespecifikation,
                Betid = b.id,
                GruppeIndbetalingsbelob = b.indbetalingsbelob,
                Betlinid = bl.id,
                bl.betalingsdato,
                bl.indbetalingsdato,
                bl.indbetalingsbelob,
                bl.faknr,
                bl.debitorkonto
            };
            int AntalBetalinger = bogf.Count();

            if (bogf.Count() > 0)
            {
                DateTime nu    = DateTime.Now;
                DateTime ToDay = new DateTime(nu.Year, nu.Month, nu.Day);;

                int BS1_SidsteNr = 0;
                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "BS1_SidsteNr" select s).First();
                    BS1_SidsteNr = int.Parse(rec_Status.value);
                }
                catch (System.InvalidOperationException)
                {
                }

                Program.karKladde = null;


                foreach (var b in bogf)
                {
                    if (saveBetid != b.Betid) // ny gruppe
                    {
                        saveBetid = b.Betid;
                        recKladde gkl = new recKladde
                        {
                            Dato             = ToDay,
                            Bilag            = ++BS1_SidsteNr,
                            Tekst            = "Indbetalingskort K 81131945-" + ((DateTime)b.indbetalingsdato).Day + "." + ((DateTime)b.indbetalingsdato).Month,
                            Afstemningskonto = "Bank",
                            Belob            = b.GruppeIndbetalingsbelob,
                            Kontonr          = null,
                            Faknr            = null,
                            Sagnr            = null
                        };
                        Program.karKladde.Add(gkl);

                        var rec_bet = (from ub in Program.dbData3060.tblbets where ub.id == b.Betid select ub).First();
                        rec_bet.summabogfort = true;
                    }

                    /*
                     * var fak = from f in Program.dbData3060.tblfaks
                     *        where f.faknr == b.faknr
                     *        join m in Program.dbData3060.tblMedlems on f.Nr equals m.Nr
                     *        select new { f.faknr, f.Nr, m.Navn, f.bogfkonto };
                     */
                    var bet = from bi in Program.dbData3060.tblbetalingsidentifikations
                              where bi.betalingsidentifikation == b.debitorkonto
                              join m in Program.dbData3060.tblMedlems on bi.Nr equals m.Nr
                              select new { bi.Nr, m.Navn, bi.bogfkonto };

                    var msm = from f in Program.dbData3060.tblfaks
                              where f.faknr == b.faknr
                              join m in Program.dbData3060.tblrsmembership_transactions on f.Nr equals m.memberid
                              select new { f.faknr, f.Nr, m.name, f.bogfkonto, f.fradato, f.tildato };

                    /*
                     * if (fak.Count() == 1) //Kontingent betaling
                     * {
                     *  var f = fak.First();
                     *  recKladde kl = new recKladde
                     *  {
                     *      Dato = ToDay,
                     *      Bilag = BS1_SidsteNr,
                     *      Tekst = ("F" + f.faknr + " " + f.Nr + " " + f.Navn).PadRight(40, ' ').Substring(0, 40),
                     *      Afstemningskonto = null,
                     *      Belob = b.indbetalingsbelob,
                     *      Kontonr = f.bogfkonto,
                     *      Faknr = null,
                     *      Sagnr = null
                     *  };
                     *  Program.karKladde.Add(kl);
                     * }
                     * else
                     */
                    /*
                     * if (bet.Count() == 1) //Betaling med betalingsidentifikation
                     * {
                     *  var f = bet.First();
                     *  recKladde kl = new recKladde
                     *  {
                     *      Dato = ToDay,
                     *      Bilag = BS1_SidsteNr,
                     *      Tekst = (f.Nr + " " + f.Navn).PadRight(40, ' ').Substring(0, 40),
                     *      Afstemningskonto = null,
                     *      Belob = b.indbetalingsbelob,
                     *      Kontonr = f.bogfkonto,
                     *      Faknr = null,
                     *      Sagnr = null
                     *
                     *  };
                     *  Program.karKladde.Add(kl);
                     * }
                     * else
                     */
                    if (msm.Count() == 1) //Kontingent betaling for RSMembership
                    {
                        var       f        = msm.First();
                        decimal[] arrBelob = clsPbs602.fordeling((decimal)b.indbetalingsbelob, (DateTime)f.fradato, (DateTime)f.tildato, (DateTime)Startdato, (DateTime)Slutdato);
                        recKladde kl;
                        string    wTekst = ("F" + f.faknr + " " + f.Nr + " " + f.name).PadRight(40, ' ').Substring(0, 40);
                        try
                        {
                            if (((DateTime)b.indbetalingsdato - (DateTime)b.betalingsdato).Days > 300) // faktura mere end 300 dage gammel
                            {
                                wTekst = ("???" + wTekst).PadRight(40, ' ').Substring(0, 40);
                            }
                        }
                        catch { }

                        if (arrBelob[0] > 0)
                        {
                            kl = new recKladde
                            {
                                Dato             = ToDay,
                                Bilag            = BS1_SidsteNr,
                                Tekst            = wTekst,
                                Afstemningskonto = null,
                                Belob            = arrBelob[0],
                                Kontonr          = f.bogfkonto,
                                Faknr            = null,
                                Sagnr            = null
                            };
                            Program.karKladde.Add(kl);
                        }

                        if (arrBelob[1] > 0)
                        {
                            kl = new recKladde
                            {
                                Dato             = ToDay,
                                Bilag            = BS1_SidsteNr,
                                Tekst            = wTekst,
                                Afstemningskonto = null,
                                Belob            = arrBelob[1],
                                Kontonr          = 64200,
                                Faknr            = null,
                                Sagnr            = null
                            };
                            Program.karKladde.Add(kl);
                        }
                    }
                    else //Anden betaling
                    {
                        recKladde kl = new recKladde
                        {
                            Dato             = ToDay,
                            Bilag            = BS1_SidsteNr,
                            Tekst            = ("Ukendt betaling").PadRight(40, ' ').Substring(0, 40),
                            Afstemningskonto = null,
                            Belob            = b.indbetalingsbelob,
                            Kontonr          = 65050,
                            Faknr            = null,
                            Sagnr            = null
                        };
                        Program.karKladde.Add(kl);
                    }
                }
                Program.karStatus.save();
                Program.karKladde.save();
                Program.dbData3060.SubmitChanges();
            }
            return(AntalBetalinger);
        }
Пример #5
0
        public int BogforIndBetalinger()
        {
            var rec_regnskab = Program.qryAktivRegnskab();

            if (rec_regnskab.Afsluttet == true)
            {
                return(0);
            }

            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;
                }
            }
            int saveBetid = 0;
            var bogf      = from f in Program.dbData3060.tblfaks
                            where Startdato <= f.betalingsdato && f.betalingsdato <= Slutdato
                            join m in Program.dbData3060.tblMedlems on f.Nr equals m.Nr
                            join bl in Program.dbData3060.tblbetlins on f.faknr equals bl.faknr
                            where bl.pbstranskode == "0236" || bl.pbstranskode == "0297"
                            join b in Program.dbData3060.tblbets on bl.betid equals b.id
                            where b.summabogfort == null || b.summabogfort == false
                            join p in Program.dbData3060.tblfrapbs on b.frapbsid equals p.id
                            orderby p.id, b.id, bl.id
                select new
            {
                Frapbsid = p.id,
                p.leverancespecifikation,
                Betid = b.id,
                GruppeIndbetalingsbelob = b.indbetalingsbelob,
                Betlinid = bl.id,
                Fakid    = f.id,
                bl.betalingsdato,
                bl.indbetalingsdato,
                m.Navn,
                bl.indbetalingsbelob,
                f.Nr,
                f.bogfkonto,
                f.faknr
            };
            int AntalBetalinger = bogf.Count();

            if (bogf.Count() > 0)
            {
                DateTime nu    = DateTime.Now;
                DateTime ToDay = new DateTime(nu.Year, nu.Month, nu.Day);;

                int BS1_SidsteNr = 0;
                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "BS1_SidsteNr" select s).First();
                    BS1_SidsteNr = int.Parse(rec_Status.value);
                }
                catch (System.InvalidOperationException)
                {
                }

                Program.karKladde = null;


                foreach (var b in bogf)
                {
                    if (saveBetid != b.Betid) // ny gruppe
                    {
                        saveBetid = b.Betid;
                        recKladde gkl = new recKladde
                        {
                            Dato             = ToDay,
                            Bilag            = ++BS1_SidsteNr,
                            Tekst            = "Indbetalingskort K 81131945-" + ((DateTime)b.indbetalingsdato).Day + "." + ((DateTime)b.indbetalingsdato).Month,
                            Afstemningskonto = "Bank",
                            Belob            = b.GruppeIndbetalingsbelob,
                            Kontonr          = null,
                            Faknr            = null
                        };
                        Program.karKladde.Add(gkl);

                        var rec_bet = (from ub in Program.dbData3060.tblbets where ub.id == b.Betid select ub).First();
                        rec_bet.summabogfort = true;
                    }

                    recKladde kl = new recKladde
                    {
                        Dato             = ToDay,
                        Bilag            = BS1_SidsteNr,
                        Tekst            = ("F" + b.faknr + " " + b.Nr + " " + b.Navn).PadRight(40, ' ').Substring(0, 40),
                        Afstemningskonto = null,
                        Belob            = b.indbetalingsbelob,
                        Kontonr          = b.bogfkonto,
                        Faknr            = null
                    };
                    Program.karKladde.Add(kl);
                }
                Program.karStatus.save();
                Program.karKladde.save();
                Program.dbData3060.SubmitChanges();
            }
            return(AntalBetalinger);
        }
Пример #6
0
        public int BogforPaypalBetalinger()
        {
            var rec_regnskab = Program.qryAktivRegnskab();

            if (rec_regnskab.Afsluttet == true)
            {
                return(0);
            }

            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;
                }
            }
            puls3060_dkEntities  jdb       = new puls3060_dkEntities();
            clsPbs602            objPbs602 = new clsPbs602();
            MemBogfoeringsKlader bogf      = objPbs602.konter_paypal_betalinger_fra_rsmembership(jdb, (DateTime)Startdato, (DateTime)Slutdato);

            int AntalBetalinger = 0;

            if (bogf.Count() > 0)
            {
                DateTime nu    = DateTime.Now;
                DateTime ToDay = new DateTime(nu.Year, nu.Month, nu.Day);;

                int BS1_SidsteNr = 0;
                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "BS1_SidsteNr" select s).First();
                    BS1_SidsteNr = int.Parse(rec_Status.value);
                }
                catch (System.InvalidOperationException)
                {
                }

                Program.karKladde = null;
                foreach (var b in bogf)
                {
                    recKladde kl = new recKladde
                    {
                        Dato             = b.Dato,
                        Bilag            = b.Bilag + BS1_SidsteNr,
                        Tekst            = b.Tekst,
                        Afstemningskonto = b.Afstemningskonto,
                        Belob            = b.Belob,
                        Kontonr          = b.Kontonr,
                        Faknr            = b.Faknr,
                        Sagnr            = b.Sagnr
                    };
                    Program.karKladde.Add(kl);
                    AntalBetalinger = (int)b.Bilag;
                }
                Program.karStatus.save();
                Program.karKladde.save();
                Program.dbData3060.SubmitChanges();
            }
            return(AntalBetalinger);
        }
Пример #7
0
        public int BogforUdBetalinger(int lobnr)
        {
            int       AntalBetalinger = 0;
            clsRest   objRest         = new clsRest();
            string    strxmldata      = objRest.HttpGet2(clsRest.urlBaseType.data, "udbetaling2summa/" + lobnr.ToString());
            XDocument xmldata         = XDocument.Parse(strxmldata);
            string    Status2         = xmldata.Descendants("Status").First().Value;

            if (Status2 == "True")
            {
                var overforsel = from o in xmldata.Descendants("Overforsel")
                                 select new
                {
                    Id            = clsPassXmlDoc.attr_val_int(o, "Id"),
                    Nr            = clsPassXmlDoc.attr_val_int(o, "Nr"),
                    SFaknr        = clsPassXmlDoc.attr_val_int(o, "SFaknr"),
                    SFakID        = clsPassXmlDoc.attr_val_int(o, "SFakID"),
                    Tilpbsid      = clsPassXmlDoc.attr_val_int(o, "Tilpbsid"),
                    Betalingsdato = clsPassXmlDoc.attr_val_datetime(o, "Betalingsdato"),
                    Advisbelob    = (decimal)clsPassXmlDoc.attr_val_double(o, "Advisbelob"),
                };

                var bogf = from f in Program.karFakturaer_k
                           where f.saldo != 0
                           join o in overforsel on f.fakid equals o.SFakID
                           where o.Tilpbsid == lobnr
                           join m in Program.karMedlemmer on o.Nr equals m.Nr
                           orderby o.Betalingsdato ascending
                           select new
                {
                    Fakid = o.Id,
                    m.Navn,
                    o.SFaknr,
                    o.Betalingsdato,
                    o.Advisbelob
                };
                AntalBetalinger = bogf.Count();
                if (bogf.Count() > 0)
                {
                    int BS1_SidsteNr = 0;
                    try
                    {
                        recStatus rec_Status = (from s in Program.karStatus where s.key == "BS1_SidsteNr" select s).First();
                        BS1_SidsteNr = int.Parse(rec_Status.value);
                    }
                    catch (System.InvalidOperationException)
                    {
                    }

                    Program.karKladde = null;

                    foreach (var b in bogf)
                    {
                        recKladde gkl = new recKladde
                        {
                            Dato             = clsUtil.bankdageplus((DateTime)b.Betalingsdato, -1),
                            Bilag            = ++BS1_SidsteNr,
                            Tekst            = "Overførsel",
                            Afstemningskonto = "Bank",
                            Belob            = -b.Advisbelob,
                            Kontonr          = null,
                            Faknr            = null
                        };
                        Program.karKladde.Add(gkl);
                        recKladde kl = new recKladde
                        {
                            Dato             = clsUtil.bankdageplus((DateTime)b.Betalingsdato, -1),
                            Bilag            = BS1_SidsteNr,
                            Tekst            = "KF" + b.SFaknr + " " + b.Navn,
                            Afstemningskonto = null,
                            Belob            = -b.Advisbelob,
                            Kontonr          = 65100,
                            Faknr            = b.SFaknr
                        };
                        Program.karKladde.Add(kl);
                    }

                    Program.karStatus.save();
                    Program.karKladde.save();
                }
            }
            return(AntalBetalinger);
        }
Пример #8
0
        public int BogforIndBetalinger()
        {
            clsRest   objRest    = new clsRest();
            string    strxmldata = objRest.HttpGet2(clsRest.urlBaseType.data, "bogforindbetalinger");
            XDocument xmldata    = XDocument.Parse(strxmldata);
            string    Status     = xmldata.Descendants("Status").First().Value;

            if (Status != "True")
            {
                int saveBetid = 0;
                var qry_bet   = from h in xmldata.Descendants("BogforIndBetalinger")
                                select new
                {
                    Frapbsid = clsPassXmlDoc.attr_val_int(h, "Frapbsid"),
                    Betid    = (int)clsPassXmlDoc.attr_val_int(h, "Betid"),
                    Fakid    = clsPassXmlDoc.attr_val_int(h, "Fakid"),
                    Betlinid = clsPassXmlDoc.attr_val_int(h, "Betlinid"),
                    Nr       = clsPassXmlDoc.attr_val_int(h, "Nr"),
                    Leverancespecifikation  = clsPassXmlDoc.attr_val_string(h, "Leverancespecifikation"),
                    GruppeIndbetalingsbelob = (decimal)clsPassXmlDoc.attr_val_double(h, "GruppeIndbetalingsbelob"),
                    Betalingsdato           = clsPassXmlDoc.attr_val_date(h, "Betalingsdato"),
                    Indbetalingsdato        = clsPassXmlDoc.attr_val_date(h, "Indbetalingsdato"),
                    Indbetalingsbelob       = (decimal)clsPassXmlDoc.attr_val_double(h, "Indbetalingsbelob"),
                    SFakID = (int)clsPassXmlDoc.attr_val_int(h, "SFakID"),
                    SFaknr = clsPassXmlDoc.attr_val_int(h, "SFaknr"),
                };
                var bogf = from s in Program.karFakturaer_s
                           //where s.saldo != 0
                           join f in qry_bet on s.fakid equals f.SFakID
                           where f.SFaknr != null
                           join m in Program.karMedlemmer on f.Nr equals m.Nr
                           orderby f.Frapbsid, f.Betid, f.Betlinid
                    select new
                {
                    f.Frapbsid,
                    f.Leverancespecifikation,
                    f.Betid,
                    f.GruppeIndbetalingsbelob,
                    f.Betlinid,
                    f.Fakid,
                    f.Betalingsdato,
                    f.Indbetalingsdato,
                    m.Navn,
                    f.Indbetalingsbelob,
                    f.SFaknr
                };
                int AntalBetalinger = bogf.Count();
                if (bogf.Count() > 0)
                {
                    DateTime nu    = DateTime.Now;
                    DateTime ToDay = new DateTime(nu.Year, nu.Month, nu.Day);;

                    int BS1_SidsteNr = 0;
                    try
                    {
                        recStatus rec_Status = (from s in Program.karStatus where s.key == "BS1_SidsteNr" select s).First();
                        BS1_SidsteNr = int.Parse(rec_Status.value);
                    }
                    catch (System.InvalidOperationException)
                    {
                    }

                    Program.karKladde = null;

                    XElement SummabogfortUpdatexml = new XElement("SummabogfortUpdate");
                    foreach (var b in bogf)
                    {
                        if (saveBetid != b.Betid) // ny gruppe
                        {
                            saveBetid = b.Betid;
                            recKladde gkl = new recKladde
                            {
                                Dato             = ToDay, //(b.Betalingsdato > b.Indbetalingsdato) ? (DateTime)b.Betalingsdato : (DateTime)b.Indbetalingsdato,
                                Bilag            = ++BS1_SidsteNr,
                                Tekst            = "Indbetalingskort K 81131945-" + ((DateTime)b.Indbetalingsdato).Day + "." + ((DateTime)b.Indbetalingsdato).Month,
                                Afstemningskonto = "Bank",
                                Belob            = b.GruppeIndbetalingsbelob,
                                Kontonr          = null,
                                Faknr            = null
                            };
                            Program.karKladde.Add(gkl);

                            XElement betxml = new XElement("Bet");
                            betxml.Add(new XElement("Id", b.Betid));
                            betxml.Add(new XElement("Summabogfort", true));
                            SummabogfortUpdatexml.Add(new XElement(betxml));
                        }

                        recKladde kl = new recKladde
                        {
                            Dato             = ToDay, //(b.Betalingsdato > b.Indbetalingsdato) ? (DateTime)b.Betalingsdato : (DateTime)b.Indbetalingsdato,
                            Bilag            = BS1_SidsteNr,
                            Tekst            = "F" + b.SFaknr + " " + b.Navn,
                            Afstemningskonto = null,
                            Belob            = b.Indbetalingsbelob,
                            Kontonr          = 56100,
                            Faknr            = b.SFaknr
                        };
                        Program.karKladde.Add(kl);
                    }
                    string strSummabogfortUpdatexml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> " + SummabogfortUpdatexml.ToString();
                    string result = objRest.HttpPost2(clsRest.urlBaseType.data, "bogforindbetalinger", strSummabogfortUpdatexml);

                    Program.karStatus.save();
                    Program.karKladde.save();
                }
                return(AntalBetalinger);
            }
            return(0);
        }
Пример #9
0
        public int Order2Summa()
        {
            var rec_regnskab = Program.qryAktivRegnskab();

            if (rec_regnskab.Afsluttet == true)
            {
                return(0);
            }

            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;
                }
            }
            int       AntalOrdre = 0;
            clsRest   objRest    = new clsRest();
            string    strxmldata = objRest.HttpGet2(clsRest.urlBaseType.data, "order2summa");
            XDocument xmldata    = XDocument.Parse(strxmldata);
            string    Status     = xmldata.Descendants("Status").First().Value;

            if (Status != "True")
            {
                return(AntalOrdre);
            }

            var qry_ord = from forslag in xmldata.Descendants("Fak") select forslag;

            AntalOrdre = qry_ord.Count();

            if (AntalOrdre > 0)
            {
                DateTime nu    = DateTime.Now;
                DateTime ToDay = new DateTime(nu.Year, nu.Month, nu.Day);;
                int      SidsteSFakID;
                int      SidsteRec_no;
                try
                {
                    SidsteSFakID = (from f in Program.karFakturaer_s select f.fakid).Max();
                }
                catch (System.InvalidOperationException)
                {
                    SidsteSFakID = 0;
                }
                try
                {
                    SidsteRec_no = (from f in Program.karFakturaer_s select f.rec_no).Max();
                }
                catch (System.InvalidOperationException)
                {
                    SidsteRec_no = 0;
                }
                Program.karFakturastr_s   = null;
                Program.karFakturavarer_s = null;

                XElement SFakIDupdatexml = new XElement("SFakIDupdate");

                foreach (var o in qry_ord)
                {
                    string Key    = o.Descendants("Key").First().Value;
                    string strval = o.Descendants("Id").First().Value;
                    int    Id     = int.Parse(strval);
                    strval = o.Descendants("Nr").First().Value;
                    int Nr = int.Parse(strval);
                    strval = o.Descendants("Advisbelob").First().Value;
                    double Advisbelob = double.Parse(strval.Replace('.', ','));
                    strval = o.Descendants("Pbsfaknr").First().Value;
                    int Pbsfaknr = int.Parse(strval);
                    strval = o.Descendants("Vnr").First().Value;
                    int Vnr = int.Parse(strval);
                    strval = o.Descendants("Bogfkonto").First().Value;
                    int Bogfkonto = int.Parse(strval);

                    SidsteSFakID++;
                    SidsteRec_no++;
                    int orebelob = (int)Advisbelob * 100;

                    ordtype_s ord = new ordtype_s
                                    (
                        SidsteSFakID,        //fakid
                        ToDay,               //(o.Betalingsdato > o.Indbetalingsdato) ? (DateTime)o.Betalingsdato : (DateTime)o.Indbetalingsdato, //dato
                        ToDay,               //(DateTime)o.Betalingsdato, //forfaldsdato
                        orebelob,            //fakbeløb i øre
                        (int)Nr2Debktonr(Nr) //debitornr
                                    );
                    recFakturaer_s rec = new recFakturaer_s {
                        rec_no = SidsteRec_no, rec_data = ord
                    };
                    Program.karFakturaer_s.Add(rec);

                    var             m_rec            = (from m in Program.karMedlemmer where m.Nr == Nr select m).First();
                    recFakturastr_s rec_Fakturastr_s = new recFakturastr_s
                    {
                        Fakid   = SidsteSFakID.ToString(),
                        Navn    = m_rec.Navn,
                        Adresse = m_rec.Adresse,
                        Postnr  = m_rec.Postnr,
                        Bynavn  = m_rec.Bynavn,
                        Faknr   = (int)Pbsfaknr,
                        Email   = m_rec.Email
                    };
                    Program.karFakturastr_s.Add(rec_Fakturastr_s);

                    recFakturavarer_s rec_Fakturavarer_s = new recFakturavarer_s
                    {
                        Fakid        = SidsteSFakID.ToString(),
                        Varenr       = (int)Vnr,
                        VareTekst    = "Puls 3060 kontingent",
                        Bogfkonto    = (int)Bogfkonto,
                        Antal        = 1,
                        Fakturabelob = (double)Advisbelob
                    };
                    Program.karFakturavarer_s.Add(rec_Fakturavarer_s);

                    try
                    {
                        XElement fakxml = new XElement("Fak");
                        fakxml.Add(new XElement("Key", Key));
                        fakxml.Add(new XElement("Id", Id));
                        fakxml.Add(new XElement("SFakID", SidsteSFakID));
                        SFakIDupdatexml.Add(new XElement(fakxml));
                    }
                    catch (System.InvalidOperationException)
                    {
                        throw;
                    }
                }
                string strSFakIDupdatexml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> " + SFakIDupdatexml.ToString();
                string result             = objRest.HttpPost2(clsRest.urlBaseType.data, "order2summa", strSFakIDupdatexml);

                Program.karFakturaer_s.save();
                Program.karFakturastr_s.save();
                Program.karFakturavarer_s.save();

                try
                {
                    recStatus rec_Status = (from s in Program.karStatus where s.key == "SidsteSFakID" select s).First();
                    rec_Status.value = SidsteSFakID.ToString();
                }
                catch (System.InvalidOperationException)
                {
                    recStatus rec_Status = new recStatus
                    {
                        key   = "SidsteSFakID",
                        value = SidsteSFakID.ToString()
                    };
                    Program.karStatus.Add(rec_Status);
                }
                Program.karStatus.save();
            }
            return(AntalOrdre);
        }
Пример #10
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);
        }