Пример #1
0
        public OGMNummer(string DossierNummer, bool _DerdenGelden = false)
        {
            long value           = 0;
            int  positieMinTeken = DossierNummer.IndexOf("-");

            if (positieMinTeken > 0)
            {
                Dossier = DossierNummer.Substring(0, positieMinTeken);
            }
            else
            {
                Dossier = DossierNummer;
            }
            Year         = int.Parse(Dossier.Substring(0, 4));
            DossierNr    = int.Parse(Dossier.Substring(6));
            DerdenGelden = _DerdenGelden;

            using (var context = new FacturatieModel())
            {
                Count  = context.Provisies.Where(p => p.DossierNummer.Contains(Dossier)).Count();
                Count += context.DerdenGelden.Where(p => p.DossierNummer.Contains(Dossier)).Count();
                Count += context.EreloonNotas.Where(p => p.DossierNummer.Contains(Dossier)).Count();
            }
            if (DerdenGelden)
            {
                Count += 3000;
            }

            value = ((long)DossierNr * 10000 + (long)Year) * 1000 + (long)Count;
            Rest  = (int)(value % 97);
        }
Пример #2
0
 public FactuurModel(decimal _Bedrag, IQueryable <EreloonNota> _EreloonNotas, IQueryable <Provisie> _Provisies, FacturatieModel _context)
 {
     Bedrag       = _Bedrag;
     EreloonNotas = _EreloonNotas;
     Provisies    = _Provisies;
     context      = _context;
 }
 private void EreloonNotaForm_Load(object sender, EventArgs e)
 {
     using (var context = new FacturatieModel())
     {
         kostenSchemasLijst           = context.KostenSchemas.Where(c => c.Archive == false).ToList();
         KostenSchemaCB.DataSource    = kostenSchemasLijst;
         KostenSchemaCB.ValueMember   = "KostenSchemaId";
         KostenSchemaCB.DisplayMember = "Naam";
         EreloonNota.KostenSchema     = (KostenSchema)KostenSchemaCB.SelectedItem;
     }
     ProvisieGerechtskostenBedrag.Text = EreloonNota.TotaalProvisiesGerechtskosten.ToString("C", Culture);
     ProvisieErelonenBedrag.Text       = (EreloonNota.TotaalProvisiesGerechtskosten + EreloonNota.TotaalProvisiesBTW).ToString("C", Culture);
 }
Пример #4
0
        private void FacturatieForm1_Load(object sender, EventArgs e)
        {
            List <String> EreloonDossierNummers, ProvisieDossierNummers;

            using (var context = new FacturatieModel())
            {
                EreloonDossierNummers   = context.EreloonNotas.Select(p => p.DossierNummer).Distinct().ToList();
                ProvisieDossierNummers  = context.Provisies.Select(p => p.DossierNummer).Distinct().ToList();
                DossierNummers          = EreloonDossierNummers.Union(ProvisieDossierNummers).OrderByDescending(p => p).ToList();
                CBDossier.DataSource    = DossierNummers;
                CBDossier.SelectedIndex = -1;
            }
            Tab = tabControl1.SelectedIndex;
        }
Пример #5
0
        private void ProvisieNota_Click(object sender, RibbonControlEventArgs e)
        {
            Boolean          einde    = false;
            Provisie         provisie = null;
            ProvisieNotaForm form     = new ProvisieNotaForm();

            #region Bevestiging
            while (!einde)
            {
                form.ShowDialog();

                if (form.DialogResult == System.Windows.Forms.DialogResult.OK)
                {
                    Double       Totaal    = form.Totaal;
                    DialogResult Bevestigd = MessageBox.Show("Klopt het dat je een provisie voor " + Totaal.ToString("C", Variabelen.Cultuur) + " wil invoegen?",
                                                             "Bevestiging", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (Bevestigd == DialogResult.Yes)
                    {
                        einde = true;
                        form.Hide();
                    }
                }
                else
                {
                    form.Dispose();
                    return;
                }
            }
            #endregion

            #region Vul text in en bewaar provisie
            using (var context = new FacturatieModel())
            {
                provisie = new Provisie(Convert.ToDecimal(form.Ereloon), Convert.ToDecimal(form.BTW),
                                        Convert.ToDecimal(form.Gerechtskosten), Convert.ToDecimal(form.Totaal), form.IC);

                context.Provisies.Add(provisie);
                provisie.PrintText(Globals.CoCoCo_Facturatie_Plugin.Application.Selection);
                context.SaveChanges();
            }
            #endregion

            form.Dispose();
        }
Пример #6
0
        private void DerdenGeldNota_Klick(object sender, RibbonControlEventArgs e)
        {
            Boolean          einde      = false;
            DerdenGeld       derdengeld = null;
            DerdenGeldenForm form       = new DerdenGeldenForm();

            #region Bevestiging
            while (!einde)
            {
                form.ShowDialog();

                if (form.DialogResult == System.Windows.Forms.DialogResult.OK)
                {
                    Double       Totaal    = form.Totaal;
                    DialogResult Bevestigd = MessageBox.Show("Klopt het dat je een derdengeld voor " + Totaal.ToString("C", Variabelen.Cultuur) + " wil invoegen?",
                                                             "Bevestiging", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (Bevestigd == DialogResult.Yes)
                    {
                        einde = true;
                        form.Hide();
                    }
                }
                else
                {
                    form.Dispose();
                    return;
                }
            }
            #endregion

            #region Vul text in en bewaar derdengeld
            using (var context = new FacturatieModel())
            {
                derdengeld = new DerdenGeld(Convert.ToDecimal(form.SchadeloosStelling), Convert.ToDecimal(form.Gerechtskosten),
                                            Convert.ToDecimal(form.Totaal));

                context.DerdenGelden.Add(derdengeld);
                derdengeld.PrintText(Globals.CoCoCo_Facturatie_Plugin.Application.Selection);
                context.SaveChanges();
            }
            #endregion

            form.Dispose();
        }
Пример #7
0
        private void EreloonNota_Click(object sender, RibbonControlEventArgs e)
        {
            Boolean         einde       = false;
            EreloonNota     ereLoonNota = null;
            EreloonNotaForm form        = new EreloonNotaForm();

            #region Bevestiging
            while (!einde)
            {
                form.ShowDialog();

                if (form.DialogResult == System.Windows.Forms.DialogResult.OK)
                {
                    Decimal      Totaal    = form.Totaal;
                    DialogResult Bevestigd = MessageBox.Show("Klopt het dat je een ereloon nota voor " + Totaal.ToString("C", Variabelen.Cultuur) + " wil invoegen?",
                                                             "Bevestiging", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (Bevestigd == DialogResult.Yes)
                    {
                        einde = true;
                        form.Hide();
                    }
                }
                else
                {
                    form.Dispose();
                    return;
                }
            }
            #endregion

            #region Vul text in en bewaar ereloon
            using (var context = new FacturatieModel())
            {
                ereLoonNota = form.EreloonNota;
                context.Entry(ereLoonNota.KostenSchema).State = System.Data.Entity.EntityState.Unchanged;
                context.EreloonNotas.Add(ereLoonNota);
                ereLoonNota.PrintText(Globals.CoCoCo_Facturatie_Plugin.Application.Selection);
                context.SaveChanges();
            }
            #endregion

            form.Dispose();
        }
Пример #8
0
        private void Factuur_Klick(object sender, RibbonControlEventArgs e)
        {
            FacturatieForm1 form         = new FacturatieForm1();
            FactuurModel    FactuurModel = null;
            Factuur         Factuur;
            decimal         Bedrag;

            form.ShowDialog();

            if (form.DialogResult != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            #region Vul text in en bewaar factuur
            using (var context = new FacturatieModel())
            {
                switch (form.Tab)
                {
                case 0:
                    var OGMCode = form.OGM;
                    Bedrag       = form.OGM_Bedrag;
                    FactuurModel = new FactuurModel(Bedrag, EreloonNota.EreloonNotaOGM(OGMCode.ToString(), context),
                                                    Provisie.ProvisieOGM(OGMCode.ToString(), context), context);
                    break;

                case 1:
                    var DossierNummer = form.DossierNummer;
                    Bedrag       = form.Dossier_Bedrag;
                    FactuurModel = new FactuurModel(Bedrag, EreloonNota.EreloonNotaDossierNr(DossierNummer, context),
                                                    Provisie.ProvisieDossierNr(DossierNummer, context), context);
                    break;

                default:
                    throw new NotImplementedException("Factuur maken, zonder dat er Ereloon of Provisie voor bestaat is nog niet gemaakt!");
                }

                Factuur = FactuurModel.Genereer();
                context.SaveChanges();
            }
            #endregion
        }
Пример #9
0
 internal EreloonNota()
 {
     Partij           = Variabelen.Partij;
     DossierNummer    = Variabelen.DossierNummer;
     DossierNaam      = Variabelen.DossierNaam;
     Wie              = Variabelen.Wie;
     Dactylo          = Fotokopie = Fax = Verplaatsing = 0;
     BijkomendeKosten = Forfait = BTW = Rolzetting = Dagvaarding = Betekening = Uitvoering = Anderen = Derden = Korting = Totaal = 0;
     EreloonUren      = WachtUren = new TimeSpan(0);
     OGMNummer        = new OGMNummer(DossierNummer).ToString();
     Status           = 0;
     Betaald          = InterCompany = false;
     KostenSchema     = null;
     using (var context = new FacturatieModel())
     {
         IQueryable <Provisie> provisies = context.Provisies.Where(p => (p.Betaald == false) && (p.DossierNummer == DossierNummer));
         if (provisies.Count() > 0)
         {
             try
             {
                 var queryable = from p in Provisies
                                 where p.Facturen != null
                                 select new
                 {
                     totaalEreloon        = p.Facturen.Sum(f => f.ProvisieErelonen),
                     totaalBTW            = p.Facturen.Sum(f => f.ProvisieBTW),
                     totaalGerechtskosten = p.Facturen.Sum(f => f.ProvisiegerechtsKosten)
                 };
                 TotaalProvisiesErelonen       = provisies.Sum(p => p.Ereloon) - queryable.Select(n => n.totaalEreloon).DefaultIfEmpty(0).Sum();
                 TotaalProvisiesBTW            = provisies.Sum(p => p.BTW) - queryable.Select(n => n.totaalBTW).DefaultIfEmpty(0).Sum();
                 TotaalProvisiesGerechtskosten = provisies.Sum(p => p.Gerechtskosten) - queryable.Select(n => n.totaalGerechtskosten).DefaultIfEmpty(0).Sum();
             }
             catch (ArgumentNullException)
             {
                 TotaalProvisiesErelonen       = provisies.Sum(p => p.Ereloon);
                 TotaalProvisiesBTW            = provisies.Sum(p => p.BTW);
                 TotaalProvisiesGerechtskosten = provisies.Sum(p => p.Gerechtskosten);
             }
         }
     }
 }
Пример #10
0
        private void KostenSchemaEdit_Click(object sender, RibbonControlEventArgs e)
        {
            KostenSchemaForm form = new KostenSchemaForm();


            using (var context = new FacturatieModel())
            {
                form.KostenSchemaSource = context.KostenSchemas.ToList();

                form.ShowDialog();

                List <KostenSchema> Lijst = form.Schemas;
                if (null != Lijst)
                {
                    foreach (var schema in Lijst)
                    {
                        context.KostenSchemas.Add(schema);
                    }
                }

                context.SaveChanges();
            }
        }
Пример #11
0
 private void CBDossier_Validated(object sender, EventArgs e)
 {
     using (var context = new FacturatieModel())
     {
         DossierNummer = (String)CBDossier.SelectedItem;
         String DossierNaamString;
         IQueryable <object> result = context.EreloonNotas
                                      .Where(p => p.DossierNummer == DossierNummer);
         if (result.Count() != 0)
         {
             DossierNaamString = ((EreloonNota)result.First()).DossierNaam;
         }
         else
         {
             result = context.Provisies
                      .Where(p => p.DossierNummer == DossierNummer);
             if (result.Count() != 0)
             {
                 DossierNaamString = ((Provisie)result.First()).DossierNaam;
             }
             else
             {
                 result = context.DerdenGelden
                          .Where(p => p.DossierNummer == DossierNummer);
                 if (result.Count() != 0)
                 {
                     DossierNaamString = ((DerdenGeld)result.First()).DossierNaam;
                 }
                 else
                 {
                     DossierNaamString = "Niet gevonden";
                 }
             }
         }
         LDossierNaam.Text = DossierNaamString;
     }
 }
Пример #12
0
        private void OGMCode_Validating(object sender, CancelEventArgs e)
        {
            Boolean Geldig = true;

            errorProvider1.Clear();

            if (OGMCode1.TextLength != 3 || !int.TryParse(OGMCode1.Text, out int Number))
            {
                if (OGMCode1.TextLength != 0)
                {
                    errorProvider1.SetError(OGMCode1, "waarde ongeldig");
                }
                Geldig = false;
            }

            if (OGMCode2.TextLength != 4 || !int.TryParse(OGMCode2.Text, out Number))
            {
                if (OGMCode2.TextLength != 0)
                {
                    errorProvider1.SetError(OGMCode2, "waarde ongeldig");
                }
                Geldig = false;
            }

            if (OGMCode3.TextLength != 5 || !int.TryParse(OGMCode3.Text, out Number))
            {
                if (OGMCode3.TextLength != 0)
                {
                    errorProvider1.SetError(OGMCode3, "waarde ongeldig");
                }
                Geldig = false;
            }

            if (Geldig)
            {
                OGM = new OGMNummer(OGMCode1.Text, OGMCode2.Text, OGMCode3.Text);
                if (!OGM.Geldig())
                {
                    errorProvider1.SetError(OGMCode3, "OGM code is niet geldig");
                    DossierNaam.Text = "";
                }
                else
                {
                    using (var context = new FacturatieModel())
                    {
                        String OGMString = OGM.ToString();
                        String DossierNaamString;
                        IQueryable <object> result = context.EreloonNotas
                                                     .Where(p => p.OGMNummer == OGMString);
                        if (result.Count() != 0)
                        {
                            DossierNaamString = ((EreloonNota)result.First()).DossierNaam;
                        }
                        else
                        {
                            result = context.Provisies
                                     .Where(p => p.OGMNummer == OGMString);
                            if (result.Count() != 0)
                            {
                                DossierNaamString = ((Provisie)result.First()).DossierNaam;
                            }
                            else
                            {
                                result = context.DerdenGelden
                                         .Where(p => p.OGMNummer == OGMString);
                                if (result.Count() != 0)
                                {
                                    DossierNaamString = ((DerdenGeld)result.First()).DossierNaam;
                                }
                                else
                                {
                                    DossierNaamString = "Niet gevonden";
                                }
                            }
                        }
                        DossierNaam.Text = DossierNaamString;
                    }
                }
            }
            else
            {
                DossierNaam.Text = "";
            }
        }
Пример #13
0
 public static IQueryable <Provisie> ProvisieDossierNr(String DossierNummer, FacturatieModel context)
 {
     return(context.Provisies.Where(p => (p.DossierNummer == DossierNummer) && (p.Betaald == false)));
 }
Пример #14
0
 public static IQueryable <Provisie> ProvisieOGM(string OGM, FacturatieModel context)
 {
     return(context.Provisies.Where(p => (p.OGMNummer == OGM) && (p.Betaald == false)));
 }
Пример #15
0
        private void BetalingsOverzicht_Click(object sender, RibbonControlEventArgs e)
        {
            BetalingsOverzichtForm form = new BetalingsOverzichtForm();

            using (var context = new FacturatieModel())
            {
                IQueryable <Provisie>            ResultaatP         = context.Provisies.Where(p => p.Betaald == false);
                IQueryable <OverzichtBetalingen> OverzichtProvisies = null;
                Decimal _Betaald = 0;
                if (ResultaatP.Any(p => p.Facturen.Any()))
                {
                    _Betaald = ResultaatP.Sum(p => p.Facturen.Sum(f => f.Totaal));
                }
                if (ResultaatP.Count() != 0)
                {
                    OverzichtProvisies = ResultaatP.Select(p => new OverzichtBetalingen
                    {
                        Tijd          = p.Tijd,
                        Wie           = p.Wie,
                        DossierNummer = p.DossierNummer,
                        DossierNaam   = p.DossierNaam,
                        BTW           = p.BTW,
                        Totaal        = p.Totaal,
                        Betaald       = _Betaald
                    }
                                                           );
                }

                IQueryable <EreloonNota>         ResultaatE            = context.EreloonNotas.Where(f => f.Betaald == false);
                IQueryable <OverzichtBetalingen> OverzichtEreloonNotas = null;
                if (ResultaatE.Any(p => p.Facturen.Any()))
                {
                    _Betaald = ResultaatE.Sum(p => p.Facturen.Sum(f => f.Totaal));
                }
                else
                {
                    _Betaald = 0;
                }
                if (ResultaatE.Count() != 0)
                {
                    OverzichtEreloonNotas = ResultaatE.Select(p => new OverzichtBetalingen
                    {
                        Tijd          = p.Tijd,
                        Wie           = p.Wie,
                        DossierNummer = p.DossierNummer,
                        DossierNaam   = p.DossierNaam,
                        BTW           = p.BTW,
                        Totaal        = p.Totaal,
                        Betaald       = _Betaald
                    }
                                                              );
                }

                if (OverzichtProvisies == null)
                {
                    if (OverzichtEreloonNotas == null)
                    {
                        return;
                    }
                    else
                    {
                        form.OverzichtSource = OverzichtEreloonNotas.ToList();
                    }
                }
                else
                {
                    if (OverzichtEreloonNotas == null)
                    {
                        form.OverzichtSource = OverzichtProvisies.ToList();
                    }
                    else
                    {
                        form.OverzichtSource = OverzichtProvisies.Union(OverzichtEreloonNotas).ToList();
                    }
                }

                form.ShowDialog();
            }
        }
Пример #16
0
 public static IQueryable <EreloonNota> EreloonNotaDossierNr(String DossierNummer, FacturatieModel context)
 {
     return(context.EreloonNotas.Include("KostenSchema").Where(p => (p.DossierNummer == DossierNummer) && (p.Betaald == false)));
 }
Пример #17
0
 public static IQueryable <EreloonNota> EreloonNotaOGM(String OGM, FacturatieModel context)
 {
     return(context.EreloonNotas.Include("KostenSchema").Where(p => (p.OGMNummer == OGM) && (p.Betaald == false)));
 }