public IAnnexe <LigneAnnexeQuatre, PiedAnnexeQuatre> GetAnnexe()
        {
            var lignes = _repository.GetAll(_societe.Id, _exercice.Id).Select(x =>
            {
                x.TypeEnregistrement = string.Format("L{0}", No);
                return(x);
            }).ToList();

            var entete = new EnteteAnnexe
            {
                TypeEnregistrement         = string.Format("E{0}", No),
                TypeDocument               = string.Format("An{0}", No),
                SocieteMatricule           = int.Parse(_societe.MatriculFiscal),
                SocieteCle                 = _societe.MatriculCle,
                SocieteCategorie           = _societe.MatriculCategorie,
                SocieteNumeroEtablissement = int.Parse(_societe.MatriculEtablissement),
                Exercice            = _exercice.Annee,
                CodeActe            = CodeActe.Spontane,
                TotalBeneficiaire   = lignes.Count(), // a voire avec Nader (nbre de beneficiare) ??
                SocieteRaisonSocial = _societe.RaisonSocial,
                SocieteActivite     = _societe.Activite,
                SocieteVille        = _societe.Ville,
                SocieteRue          = _societe.Adresse,
                SocieteNumero       = 0, // int.Parse(_societe.AdresseNumero),
                SocieteCodePostal   = int.Parse(_societe.CodePostal)
            };

            var pied = new PiedAnnexeQuatre
            {
                TypeEnregistrement               = string.Format("T{0}", No),
                TotalHonoraireNonResidente       = lignes.Sum(x => x.MontantHonoraireNonResidente),
                TotalPlusValueImmobiliere        = lignes.Sum(x => x.MontantPlusValueImmobiliere),
                TotalMontantHonoraireExportation = lignes.Sum(x => x.MontantBrutExport),
                TotalMontantParadisFiscaux       = lignes.Sum(x => x.MontantParadisFiscaux),
                TotalNetServis = lignes.Sum(x => x.MontantNetServi),
                TotalHonoraireNonDepotExistence       = lignes.Sum(x => x.MontantServi),
                TotalPlusValeurFondPrevuesLegislation = lignes.Sum(x => x.MontantCession),
                TotalRetenueOperee    = lignes.Sum(x => x.MontantRetenueOperee),
                TotalRevenueMobiliere = lignes.Sum(x => x.MontantRevenuValueMobiliere),
            };

            return(new AnnexeQuatre
            {
                Entete = entete,
                Pied = pied,
                Lignes = lignes
            });
        }
        public IAnnexe <LigneAnnexeCinq, PiedAnnexeCinq> GetAnnexe()
        {
            var lignes = _repository.GetAll(_societe.Id, _exercice.Id).Select(x =>
            {
                x.TypeEnregistrement = string.Format("L{0}", No);
                return(x);
            }).ToList();

            var entete = new EnteteAnnexe
            {
                TypeEnregistrement         = string.Format("E{0}", No),
                TypeDocument               = string.Format("An{0}", No),
                SocieteMatricule           = int.Parse(_societe.MatriculFiscal),
                SocieteCle                 = _societe.MatriculCle,
                SocieteCategorie           = _societe.MatriculCategorie,
                SocieteNumeroEtablissement = int.Parse(_societe.MatriculEtablissement),
                Exercice            = _exercice.Annee,
                CodeActe            = CodeActe.Spontane,
                TotalBeneficiaire   = lignes.Count(), // a voire avec Nader (nbre de beneficiare) ??
                SocieteRaisonSocial = _societe.RaisonSocial,
                SocieteActivite     = _societe.Activite,
                SocieteVille        = _societe.Ville,
                SocieteRue          = _societe.Adresse,
                SocieteNumero       = 0, //int.Parse(_societe.AdresseNumero),
                SocieteCodePostal   = int.Parse(_societe.CodePostal)
            };

            var pied = new PiedAnnexeCinq
            {
                TypeEnregistrement    = string.Format("T{0}", No),
                MontantAutreOperation = lignes.Sum(x => x.MontantAutreOp),
                MontantEtabEtrangere  = lignes.Sum(x => x.MontantEtabAlEtranger),
                MontantEtabPublic     = lignes.Sum(x => x.MontantEtabPublic),
                MontantTauxDix        = lignes.Sum(x => x.MontantOpExport),
                RetenueEtabEtangere   = lignes.Sum(x => x.RetenueEtabAlEtranger),
                RetenueEtabPublic     = lignes.Sum(x => x.RetenueEtabPublic),
                RetenueTauxDix        = lignes.Sum(x => x.RetenueOpExport),
                RetenusAutreOperation = lignes.Sum(x => x.RetenueAutreOp),
                TotalNetServis        = lignes.Sum(x => x.MontantNetServi)
            };

            return(new AnnexeCinq
            {
                Entete = entete,
                Pied = pied,
                Lignes = lignes
            });
        }
        public IAnnexe <LigneAnnexeDeux, PiedAnnexeDeux> GetAnnexe()
        {
            var lignes = _repository.GetAll(_societe.Id, _exercice.Id).Select(x =>
            {
                x.TypeEnregistrement = string.Format("L{0}", No);
                return(x);
            }).ToList();

            var entete = new EnteteAnnexe
            {
                TypeEnregistrement         = string.Format("E{0}", No),
                TypeDocument               = string.Format("An{0}", No),
                SocieteMatricule           = int.Parse(_societe.MatriculFiscal),
                SocieteCle                 = _societe.MatriculCle,
                SocieteCategorie           = _societe.MatriculCategorie,
                SocieteNumeroEtablissement = int.Parse(_societe.MatriculEtablissement),
                Exercice            = _exercice.Annee,
                CodeActe            = CodeActe.Spontane,
                TotalBeneficiaire   = lignes.Count(), // a voire avec Nader (nbre de beneficiare) ??
                SocieteRaisonSocial = _societe.RaisonSocial,
                SocieteActivite     = _societe.Activite,
                SocieteVille        = _societe.Ville,
                SocieteRue          = _societe.Adresse,
                SocieteNumero       = 0, // int.Parse(_societe.AdresseNumero),
                SocieteCodePostal   = int.Parse(_societe.CodePostal)
            };

            var pied = new PiedAnnexeDeux
            {
                TypeEnregistrement               = string.Format("T{0}", No),
                HonorairesRegimeReel             = lignes.Sum(x => x.HonorairesSociete),
                RemunerationPayee                = lignes.Sum(x => x.RemunerationsSalaries),
                PlusValueImmobiliere             = lignes.Sum(x => x.PrixImmeuble),
                LoyersDesHotels                  = lignes.Sum(x => x.LoyersHotels),
                RemunerationArtisteCreateur      = lignes.Sum(x => x.RemunerationsArtistes),
                HonoraireBureauEtudeExportateur  = lignes.Sum(x => x.HonorairesBureauEtude),
                MontantServisOperationExporation = lignes.Sum(x => x.MontantBrutHonorairesOperationExportation),
                MontantRetenueOperees            = lignes.Sum(x => x.MontantRetenueOperee),
                TotalNetServis = lignes.Sum(x => x.MontantNetServi)
            };

            return(new AnnexeDeux
            {
                Entete = entete,
                Pied = pied,
                Lignes = lignes
            });
        }
        public IAnnexe <LigneAnnexeSix, PiedAnnexeSix> GetAnnexe()
        {
            var lignes = _repository.GetAll(_societe.Id, _exercice.Id).Select(x =>
            {
                x.TypeEnregistrement = string.Format("L{0}", No);
                return(x);
            }).ToList();

            var entete = new EnteteAnnexe
            {
                TypeEnregistrement         = string.Format("E{0}", No),
                TypeDocument               = string.Format("An{0}", No),
                SocieteMatricule           = int.Parse(_societe.MatriculFiscal),
                SocieteCle                 = _societe.MatriculCle,
                SocieteCategorie           = _societe.MatriculCategorie,
                SocieteNumeroEtablissement = int.Parse(_societe.MatriculEtablissement),
                Exercice            = _exercice.Annee,
                CodeActe            = CodeActe.Spontane,
                TotalBeneficiaire   = lignes.Count(), // a voire avec Nader (nbre de beneficiare) ??
                SocieteRaisonSocial = _societe.RaisonSocial,
                SocieteActivite     = _societe.Activite,
                SocieteVille        = _societe.Ville,
                SocieteRue          = _societe.Adresse,
                SocieteNumero       = 0, //int.Parse(_societe.AdresseNumero),
                SocieteCodePostal   = int.Parse(_societe.CodePostal)
            };

            var pied = new PiedAnnexeSix
            {
                TypeEnregistrement          = string.Format("T{0}", No),
                TotalRistournes             = lignes.Sum(x => x.MontantRistournes),
                TotalVentes                 = lignes.Sum(x => x.MontantVentes),
                TotalAvances                = lignes.Sum(x => x.MontantAvances),
                MontantServicesRendus       = lignes.Sum(x => x.MontantPercues),
                TotalRetenuJeuPari          = lignes.Sum(x => x.MontantRetenuJeuPari),
                TotalRetenuNeDepassantVingt = lignes.Sum(x => x.MontantRetenuNeDepassantVingt),
                TotalRevenuJeuPari          = lignes.Sum(x => x.MontantRevenusJeuPari),
                TotalVenteNeDepassantVingt  = lignes.Sum(x => x.MontantVenteNeDepassantVingt)
            };

            return(new AnnexeSix
            {
                Entete = entete,
                Pied = pied,
                Lignes = lignes
            });
        }
        public IAnnexe <LigneAnnexeUn, PiedAnnexeUn> GetAnnexe()
        {
            var lignes = _repository.GetAll(_societe.Id, _exercice.Id).Select(x =>
            {
                x.TypeEnregistrement = string.Format("L{0}", No);
                return(x);
            }).ToList();

            var entete = new EnteteAnnexe
            {
                TypeEnregistrement         = string.Format("E{0}", No),
                TypeDocument               = string.Format("An{0}", No),
                SocieteMatricule           = int.Parse(_societe.MatriculFiscal ?? "0"),
                SocieteCle                 = _societe.MatriculCle,
                SocieteCategorie           = _societe.MatriculCategorie,
                SocieteNumeroEtablissement = int.Parse(_societe.MatriculEtablissement ?? "0"),
                Exercice            = _exercice.Annee,
                CodeActe            = CodeActe.Spontane,
                TotalBeneficiaire   = lignes.Count(), // a voire avec Nader (nbre de beneficiare) ??
                SocieteRaisonSocial = _societe.RaisonSocial,
                SocieteActivite     = _societe.Activite,
                SocieteVille        = _societe.Ville,
                SocieteRue          = _societe.Adresse,
                SocieteNumero       = 0, // int.Parse(_societe.AdresseNumero),
                SocieteCodePostal   = int.Parse(_societe.CodePostal ?? "0")
            };

            var pied = new PiedAnnexeUn
            {
                TypeEnregistrement       = string.Format("T{0}", No),
                TotalRevenuImposable     = lignes.Sum(x => x.RevenuImposable),
                TotalAventageNature      = lignes.Sum(x => x.AvantageEnNature),
                TotalRevenuBrutImposable = lignes.Sum(x => x.RevenuBrutImposable),
                TotalRevenuReinvesti     = lignes.Sum(x => x.RevenuReinvesti),
                TotalRetenuRegimeCommun  = lignes.Sum(x => x.MontantRetenuesRegimeCommun),
                TotalRetenueTauxVingt    = lignes.Sum(x => x.MontantRetenuesTauxVingt),
                TotalNetServi            = lignes.Sum(x => x.MontantNetServie)
            };

            return(new AnnexeUn
            {
                Entete = entete,
                Pied = pied,
                Lignes = lignes
            });
        }
        public IAnnexe <LigneAnnexeTrois, PiedAnnexeTrois> GetAnnexe()
        {
            var lignes = _repository.GetAll(_societe.Id, _exercice.Id).Select(x =>
            {
                x.TypeEnregistrement = string.Format("L{0}", No);
                return(x);
            }).ToList();

            var entete = new EnteteAnnexe
            {
                TypeEnregistrement         = string.Format("E{0}", No),
                TypeDocument               = string.Format("An{0}", No),
                SocieteMatricule           = int.Parse(_societe.MatriculFiscal),
                SocieteCle                 = _societe.MatriculCle,
                SocieteCategorie           = _societe.MatriculCategorie,
                SocieteNumeroEtablissement = int.Parse(_societe.MatriculEtablissement),
                Exercice            = _exercice.Annee,
                CodeActe            = CodeActe.Spontane,
                TotalBeneficiaire   = lignes.Count(), // a voire avec Nader (nbre de beneficiare) ??
                SocieteRaisonSocial = _societe.RaisonSocial,
                SocieteActivite     = _societe.Activite,
                SocieteVille        = _societe.Ville,
                SocieteRue          = _societe.Adresse,
                SocieteNumero       = 0, //int.Parse(_societe.AdresseNumero),
                SocieteCodePostal   = int.Parse(_societe.CodePostal)
            };

            var pied = new PiedAnnexeTrois
            {
                TypeEnregistrement         = string.Format("T{0}", No),
                TotalCompteSpeciaux        = lignes.Sum(x => x.CompteSpeciaux),
                TotalAutreCapitauxMobilier = lignes.Sum(x => x.AutreCapitauxMobilier),
                TotalPretEtbBancaire       = lignes.Sum(x => x.PretEtabBancaire),
                TotalRetenueOperee         = lignes.Sum(x => x.MontantRetenueOperee),
                TotalNetServi = lignes.Sum(x => x.MontantNetServi)
            };

            return(new AnnexeTrois
            {
                Entete = entete,
                Pied = pied,
                Lignes = lignes
            });
        }
        public IAnnexe <LigneAnnexeSept, PiedAnnexeSept> GetAnnexe()
        {
            var lignes = _annexeSeptRepo.GetAll(_societe.Id, _exercice.Id).Select(x =>
            {
                x.TypeEnregistrement = string.Format("L{0}", No);
                return(x);
            }).ToList();

            var entete = new EnteteAnnexe
            {
                TypeEnregistrement         = string.Format("E{0}", No),
                TypeDocument               = string.Format("An{0}", No),
                SocieteMatricule           = int.Parse(_societe.MatriculFiscal),
                SocieteCle                 = _societe.MatriculCle,
                SocieteCategorie           = _societe.MatriculCategorie,
                SocieteNumeroEtablissement = int.Parse(_societe.MatriculEtablissement),
                Exercice            = _exercice.Annee,
                CodeActe            = CodeActe.Spontane,
                TotalBeneficiaire   = lignes.Count(),
                SocieteRaisonSocial = _societe.RaisonSocial,
                SocieteActivite     = _societe.Activite,
                SocieteVille        = _societe.Ville,
                SocieteRue          = _societe.Adresse,
                SocieteNumero       = 0, //int.Parse(_societe.AdresseNumero),
                SocieteCodePostal   = int.Parse(_societe.CodePostal)
            };

            var pied = new PiedAnnexeSept
            {
                TypeEnregistrement   = string.Format("T{0}", No),
                TotalMontantPayee    = lignes.Sum(x => x.MontantPayee),
                TotalRetenuSource    = lignes.Sum(x => x.RetenueSource),
                TotalMontantNetServi = lignes.Sum(x => x.MontantNetServi)
            };

            return(new AnnexeSept
            {
                Entete = entete,
                Pied = pied,
                Lignes = lignes
            });
        }