public List <LigneImportView> GetLigne(string path, int annee, int trimestre, int categorieNo) { List <LigneImportView> listImport = _serviceImport.GetAll(path).ToList(); if (listImport.Any(x => x.Annee != annee)) { throw new InvalidOperationException("Année invalide!"); } if (listImport.Any(x => x.Trimestre != trimestre)) { throw new InvalidOperationException("Trimestre invalide!"); } //si la categorie egale a -1 =>l'utilisateur choisit d'importer toutes les categories //si non, l'utilisateur choisit d'importer une seule catégorie if (categorieNo != -1) { CategorieCnss categorie = _service.CnssService.GetAllCategories().Single(x => x.Id == categorieNo); foreach (LigneImportView ligneImportView in listImport) { ligneImportView.TypeCnssStr = categorie.No.ToString(); } } return(listImport); }
public void Delete(CategorieCnss categorie) { using (var con = new SqlConnection(ConnectionString)) { con.Execute(QueryDelete, new { No = categorie.Id }); } }
private int EmployeeCreate( string cin, string nom, string prenom, Civilite civilite, SituationFamille situationFamille, string numeroCnss, string cleCnss, string nomJeuneFille, string autresNom, string numeroInterne, CategorieCnss categorie) { var employee = new Employee { Civilite = civilite, Nom = nom, Prenom = prenom, SituationFamille = situationFamille, CleCnss = cleCnss, NumeroCnss = numeroCnss, Cin = cin, NomJeuneFille = nomJeuneFille, SocieteNo = DeclarationService.Societe.Id, AutresNom = autresNom, CategorieNo = categorie.Id, NumeroInterne = numeroInterne }; return(_employeeRepository.Create(employee)); }
public void CategorieCnssUpdate(int id, string intitule, string codeExploitation, decimal tauxPatronal, decimal tauxSalarial, decimal tauxAccident, TypeVariablePaie typeVariable, string codePaie) { // checked intitule if (string.IsNullOrEmpty(intitule)) { throw new InvalidOperationException("Intitule catégorie invalide!"); } CategorieCnss categorie = _categorieRepository.GetCategorie(id); if (categorie == null) { throw new InvalidOperationException("Catégorie n'est pas existe!"); } categorie.Intitule = intitule; categorie.CodeExploitation = codeExploitation; categorie.TauxPatronal = tauxPatronal; categorie.TauxSalarial = tauxSalarial; categorie.AccidentTravail = tauxAccident; categorie.TypeVariablePaie = typeVariable; categorie.CodePaie = codePaie; _categorieRepository.Update(categorie); }
public static IEnumerable <LigneSqlView> GetLigneRubrique(Societe societe, CategorieCnss categorie, DateTime dateMin, DateTime dateMax, string etablissementNo) { var dateMinBrut1 = dateMin; var dateMaxBrut1 = dateMin.AddMonths(1).AddDays(-1); var dateMinBrut2 = dateMin.AddMonths(1); var dateMaxBrut2 = dateMinBrut2.AddMonths(1).AddDays(-1); var dateMinBrut3 = dateMinBrut2.AddMonths(1); var dateMaxBrut3 = dateMinBrut3.AddMonths(1).AddDays(-1); var query = societe.CnssTypeMatricule == TypeMatriculCnss.Matricule ? EnteteSelectMatricule : EnteteSelectBadge; query = string.Format("{0} {1}", query, string.IsNullOrWhiteSpace(etablissementNo)? QueryGetByRubriqueEtabNull: QueryGetByRubrique); using (var con = new SqlConnection(societe.GetConnection())) { var result = con.Query <LigneSqlView>(query, new { categorie.CodePaie, dateMin, dateMax, etablissementNo, dateMinBrut1, dateMaxBrut1, dateMinBrut2, dateMaxBrut2, dateMinBrut3, dateMaxBrut3 }); return(result); } }
// exporter les declarations public void ExportsCnss(int declarationNo, string path) { var declaration = _declarationCnssRepository.GetDeclaration(declarationNo); if (declaration == null) { throw new ArgumentNullException("declaration"); } try { // charger les lignes + group by categorie var generatedDeclaration = _ligneCnssRepository.GetLignesByDeclaration(declarationNo) .GroupBy(x => x.CategorieNo); path += @"\" + string.Format("TVS DecCNSS {0} {1:yyyyMMddhhmmss }", Societe.RaisonSocial, DateTime.Now); Directory.CreateDirectory(path); foreach (var ligneGenerated in generatedDeclaration) { string pathDrectory = path; CategorieCnss categorie = _categorieRepository.GetCategorie(ligneGenerated.Key); string dossier = categorie.Intitule + " " + categorie.No + " " + Exercice.Annee + " T " + declaration.Trimestre; pathDrectory += @"\" + dossier; Directory.CreateDirectory(pathDrectory); pathDrectory += @"\DS" + Societe.NumeroEmployeur.PadLeft(8, '0') + Societe.CleEmployeur.PadLeft(2, '0') + categorie.CodeExploitation.PadLeft(4, '0') + "." + declaration.Trimestre + Exercice.Annee + ".txt"; using (var sw = new StreamWriter( new FileStream(pathDrectory, FileMode.Create), Encoding.ASCII)) { var groupByPage = ligneGenerated.GroupBy(x => x.Page).OrderBy(x => x.Key); foreach (var groupe in groupByPage) { foreach (LigneCnss t in groupe.OrderBy(x => x.Ligne)) { sw.WriteLine(t.GetToString(Societe, declaration, Exercice)); } } } } } catch (Exception ex) { throw ex; } }
public CategorieView ToViewCategorie(CategorieCnss categorieCnss) { return(new CategorieView { TauxPatronal = categorieCnss.TauxPatronal, AccidentTravail = categorieCnss.AccidentTravail, TauxSalarial = categorieCnss.TauxSalarial, CodeExploitation = categorieCnss.CodeExploitation, Intitule = categorieCnss.Intitule, No = categorieCnss.No, Id = categorieCnss.Id }); }
public int EmployeeCreateOrUpdate( string cin, string nom, string prenom, Civilite civilite, SituationFamille situationFamille, string numeroCnss, string cleCnss, string nomJeuneFille, string autresNom, string numeroInterne, CategorieCnss categorie) { var employee = new Employee { Civilite = civilite, Nom = nom, Prenom = prenom, SituationFamille = situationFamille, CleCnss = cleCnss, NumeroCnss = numeroCnss, Cin = cin, NomJeuneFille = nomJeuneFille, SocieteNo = DeclarationService.Societe.Id, AutresNom = autresNom, CategorieNo = categorie.Id, NumeroInterne = numeroInterne }; // checked exist empployee , if not exist then create , else update var exist = _employeeRepository.Get(cin, DeclarationService.Societe.Id); if (exist == null) { return(_employeeRepository.Create(employee)); } exist.Civilite = civilite; exist.CleCnss = cleCnss; exist.Nom = nom; exist.Prenom = prenom; exist.SituationFamille = situationFamille; exist.CleCnss = cleCnss; exist.NumeroCnss = numeroCnss; exist.Cin = cin; exist.NomJeuneFille = nomJeuneFille; exist.CategorieNo = categorie.Id; _employeeRepository.Update(exist); return(exist.Id); }
public CategorieView ToView(CategorieCnss categorie) { return(new CategorieView { CodeExploitation = categorie.CodeExploitation, Intitule = categorie.Intitule, Id = categorie.Id, TauxSalarial = categorie.TauxSalarial, TauxPatronal = categorie.TauxPatronal, AccidentTravail = categorie.AccidentTravail, No = categorie.No, CodePaie = categorie.CodePaie, TypeVariablePaie = categorie.TypeVariablePaie }); }
public void Update(CategorieCnss categorie) { using (var con = new SqlConnection(ConnectionString)) { con.Execute(QueryUpdate, new { categorie.AccidentTravail, categorie.CodeExploitation, categorie.No, categorie.Intitule, categorie.TauxPatronal, categorie.TauxSalarial, categorie.Id, categorie.CodePaie, categorie.TypeVariablePaie }); } }
public int Create(CategorieCnss categorie) { using (var con = new SqlConnection(ConnectionString)) { return(con.Query <int>(QueryInsert, new { categorie.AccidentTravail, categorie.CodeExploitation, categorie.No, categorie.Intitule, categorie.SocieteNo, categorie.TauxPatronal, categorie.TauxSalarial, categorie.CodePaie, categorie.TypeVariablePaie }).SingleOrDefault()); } }
public int CategorieCreate(int no, string intitule, string codeExploitation, decimal tauxPatronal, decimal tauxSalarial, decimal tauxAccident, TypeVariablePaie typeVariable, string codePaie) { var categorie = new CategorieCnss { Intitule = intitule, SocieteNo = DeclarationService.Societe.Id, No = no, TauxPatronal = tauxPatronal, TauxSalarial = tauxSalarial, AccidentTravail = tauxAccident, CodeExploitation = codeExploitation, TypeVariablePaie = typeVariable, CodePaie = codePaie }; return(_categorieRepository.Create(categorie)); }
public DeclarationDs(DeclarationService service, DeclarationCnss declaration) : this() { if (service == null) { throw new ArgumentNullException("service"); } if (declaration == null) { throw new InvalidOperationException("declaration"); } Societe societe = service.Societe; if (societe == null) { throw new InvalidOperationException("Erreur chargement societe"); } List <CategorieCnss> categories = service.CnssService.GetAllCategories().ToList(); foreach (CategorieCnss categorieCnss in categories) { tableTCategorie.AddTCategorieRow(categorieCnss.Id, categorieCnss.Intitule, categorieCnss.CodeExploitation, categorieCnss.TauxPatronal, categorieCnss.TauxSalarial, categorieCnss.AccidentTravail); } var exercice = service.ExerciceGetAll().FirstOrDefault(x => x.Id == declaration.ExerciceId); if (exercice == null) { throw new ArgumentNullException("exercice"); } var lignes = service.CnssService.GetLigneDeclarationCnss(declaration.Id); tableTSociete.AddTSocieteRow(societe.RaisonSocial, societe.Activite, societe.Adresse, societe.CodePostal, societe.Ville, societe.Pays, societe.NumeroEmployeur.PadLeft(8, '0'), $"{societe.MatriculFiscal} {societe.MatriculCle}/{societe.MatriculCodeTva}/{societe.MatriculCategorie}/{societe.MatriculEtablissement}", societe.CodeBureau, exercice.Annee, declaration.Trimestre, societe.CleEmployeur.PadLeft(2, '0'), societe.MatriculCle, societe.MatriculCategorie, societe.MatriculEtablissement, societe.MatriculCodeTva); foreach (LigneCnss ligne in lignes) { CategorieCnss cat = categories.Single(x => x.Id == ligne.CategorieNo); if (cat == null) { throw new InvalidOperationException("Catégorie"); } tableTDeclaration.AddTDeclarationRow(ligne.Id, ligne.Page.Value, ligne.Ligne.Value, ligne.Brut1, ligne.Brut2, ligne.Brut3, cat.Intitule, ligne.CodeExploitation, ligne.NumeroCnss, ligne.CleCnss, ligne.Cin, ligne.Nom, ligne.Prenom, ligne.Civilite.ToString(), ligne.AutresNom, ligne.NomJeuneFille, ligne.NumeroInterne, cat.Id); } }
// creation de ligne de déclaration public void LigneDeclarationCreate(int declarationNo, string employeeCin, decimal brutA, decimal brutB, decimal brutC) { if (Exercice.IsCloturer) { throw new InvalidOperationException("Exercice est cloturé"); } //charger la declaration var declaration = _declarationCnssRepository.GetDeclaration(declarationNo); if (declaration == null) { throw new ApplicationException("Déclaration invalide!"); } // tester si la daclaration est clôturer if (declaration.IsCloture) { throw new InvalidOperationException("Opération invalide [Déclaration est clôturé]."); } //charger l'employee Employee employee = _employeeRepository.Get(employeeCin, Societe.Id); if (employee == null) { throw new ApplicationException("Employee n'existe pas!"); } //charger categorie employee CategorieCnss categorie = _categorieRepository.GetCategorie(employee.CategorieNo); if (categorie == null) { throw new ApplicationException("Categorie employee invalide!"); } IEnumerable <LigneCnss> exist = _ligneCnssRepository.GetAll(declarationNo, employee.Id, employee.NumeroInterne); if (exist != null) { throw new ApplicationException("Ligne déclaration déja existe!"); } // vérifier les montants if (brutA < 0) { throw new InvalidOperationException(string.Format("Brut 1 invalid! Employee {0}", employee.Cin)); } if (brutB < 0) { throw new InvalidOperationException(string.Format("Brut 2 invalid! Employee {0}", employee.Cin)); } if (brutC < 0) { throw new InvalidOperationException(string.Format("Brut 3 invalid! Employee {0}", employee.Cin)); } if (brutA == 0 && brutB == 0 && brutC == 0) { throw new ApplicationException("Opération invalide! [Montant égale O]"); } var ligne = new LigneCnss { Ligne = 0, Page = 0, Brut1 = brutA, Brut2 = brutB, Brut3 = brutC, CategorieNo = categorie.Id, DeclarationNo = declarationNo, SocieteNo = Societe.Id, EmployeeNo = employee.Id, CleCnss = employee.CleCnss, Prenom = employee.Prenom, CodeExploitation = categorie.CodeExploitation, NumeroCnss = employee.NumeroCnss, Cin = employee.Cin, Nom = employee.Nom, NomJeuneFille = employee.NomJeuneFille, Civilite = employee.Civilite, NumeroInterne = employee.NumeroInterne, AutresNom = employee.AutresNom, }; _ligneCnssRepository.Create(ligne); }
public void DeclarationValiderCnss(int declarationNo) { if (DeclarationService.Exercice.IsCloturer) { throw new InvalidOperationException("Exercice est cloturé"); } // charger la declaration var declaration = _declarationCnssRepository.GetDeclaration(declarationNo); if (declaration == null) { throw new ApplicationException("Declaration invalide! "); } // tester si la declaration est cloture if (declaration.IsCloture) { throw new ApplicationException("Opération invalide! [Déclaration est cloturée!]"); } // charger les lignes declaration List <LigneCnss> lignesCnss = _ligneCnssRepository.GetLignesByDeclaration(declaration.Id).ToList(); if (lignesCnss.Count == 0) { throw new ApplicationException("Aucune ligne à déclarer!"); } var groupeByCategories = lignesCnss.GroupBy(x => x.CategorieNo); try { var option = new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted, Timeout = TimeSpan.FromSeconds(15) }; using (var scope = new TransactionScope(TransactionScopeOption.Required, option)) { // group by categorie foreach (var groupeByCategory in groupeByCategories) { // load categorie CategorieCnss categorie = _categorieRepository.GetCategorie(groupeByCategory.Key); if (categorie == null) { throw new ApplicationException("Catégorie invalide!"); } int ligne = 0; int page = 1; List <LigneCnss> lignes = groupeByCategory.OrderBy(x => Convert.ToInt32(x.NumeroCnss)).ToList(); if (lignes.Count > 11988) { throw new InvalidOperationException("Nombre des lignes déclarer est superieur à 11988."); } // generated ligne and page foreach (LigneCnss ligneCnss in lignes) { ligne++; ligneCnss.Ligne = ligne; ligneCnss.Page = page; ligneCnss.CodeExploitation = categorie.CodeExploitation; if (ligne == 12) { ligne = 0; page++; } _ligneCnssRepository.Update(ligneCnss); } } _declarationCnssRepository.Cloturer(declarationNo, true); scope.Complete(); } } catch (Exception ex) { throw ex; } }