public int SalgsOrder2Summa(IList <tblwfak> wFak) { var rec_regnskab = Program.qryAktivRegnskab(); if (rec_regnskab.Afsluttet == true) { return(0); } KarFakturastr_s m_karFakturastr_s = null; KarFakturavarer_s m_karFakturavarer_s = 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 //Program.dbDataTransSumma.Tblwfak where sf.sk == "S" select sf; int AntalOrdre = qry_ord.Count(); if (AntalOrdre > 0) { DateTime ToDay = DateTime.Today; 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; } m_karFakturastr_s = new KarFakturastr_s(); m_karFakturavarer_s = new KarFakturavarer_s(true); foreach (var o in qry_ord) { var qry_ordlin = from sfl in o.tblwfaklins select sfl; if (qry_ordlin.Count() == 0) //der findes ingen ordrelinier { continue; } SidsteSFakID++; SidsteRec_no++; //var qry_ordlin = from sfl in Program.dbDataTransSumma.Tblwfaklin where sfl.Fakpid == o.Pid select sfl; 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; } ordtype_s ord = new ordtype_s ( SidsteSFakID, //fakid (DateTime)o.dato, //dato ((DateTime)o.dato).AddDays(14), //forfaldsdato orebelob, //fakbeløb i øre (int)(o.konto), //debitornr momsbelob //momsbeløb i øre ); 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.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_s rec_Fakturastr_s = new recFakturastr_s { Fakid = SidsteSFakID.ToString(), FakNavnAdresse = wFakNavnAdresse, Email = m_rec.Email, Cvrnr = m_rec.Cvrnr, }; m_karFakturastr_s.Add(rec_Fakturastr_s); foreach (var ol in qry_ordlin) { recFakturavarer_s rec_Fakturavarer_s = new recFakturavarer_s { Fakid = SidsteSFakID, 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_s.Add(rec_Fakturavarer_s); } } 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.karFakturaer_s.save(); m_karFakturastr_s.save(); m_karFakturavarer_s.save(); Program.dbDataTransSumma.SubmitChanges(); } return(AntalOrdre); }
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); }
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); }