public EmployeDto Authenticate(HttpContext context, string username, string password) { string fullName = ValidateUserNamePassword(username, password); EmployeDto employe = context.RequestServices.GetRequiredService <IEmployeService>().FindByFullName(fullName); return(employe); }
public EmployeDto GetEmployeById(long employeID) { using (var context = new PayrollEntities()) { EmployeDto query = (from t in context.Employes where t.EmployeID == employeID select new EmployeDto { AdresseRue1 = t.AdresseRue1, AdresseRue2 = t.AdresseRue2, AdresseVille = t.AdresseVille, CIN = t.Cin, CompagnieID = t.CompagnieID, DateEmbauche = t.DateEmbauche, DateNaissance = t.DateNaissance, DepartementID = t.DepartementID, Email = t.Email, Extension = t.Extension, ModifiePar = t.ModifiePar, NIF = t.Nif, Nom = t.Nom, NumeroEmploye = t.NumeroEmploye, Phone1 = t.Phone1, Phone2 = t.Phone2, PosteID = t.PosteID, Prenom = t.Prenom, Sexe = t.Sexe, StatutEmployeID = t.StatutEmployeID, StatutMatrimonialID = t.StatutMatrimonialID, TypeEmployeID = t.TypeEmployeID }).FirstOrDefault(); return(query); } }
public static void MapUpdate(Employe employe, EmployeDto employeDto) { employe.Name = employeDto.Name; employe.Sex = (int)employeDto.Sex; employe.Age = employe.Age; employe.PositionId = employeDto.PositionId; }
private void SetInformationPersonnelles(EmployeDto emp) { //Renseigner les champs avec les données personnelles de l'employé TxbAdresseRue1.Text = emp.AdresseRue1; TxbAdresseRue2.Text = emp.AdresseRue2; TxbCin.Text = emp.CIN; UctDateEmbauche.SelectedDate = emp.DateEmbauche; UctDateNaissance.SelectedDate = emp.DateNaissance; DdlDepartement.SelectedValue = emp.DepartementID.ToString(); TxbEmail.Text = emp.Email; TxbNif.Text = emp.NIF; TxbNom.Text = emp.Nom; TxbPhone1.Text = emp.Phone1; TxbPhone2.Text = emp.Phone2; TxbPrenom.Text = emp.Prenom; DdlPoste.SelectedValue = emp.PosteID.ToString(); if (emp.Sexe == LookupConst.Feminin) { RbtSexeFeminin.Checked = true; } else { if (emp.Sexe == LookupConst.Masculin) { RbtSexeMasculin.Checked = true; } } DdlStatutMatrimonial.SelectedValue = emp.StatutMatrimonialID.ToString(); DdlTypeEmploye.SelectedValue = emp.TypeEmployeID.ToString(); TxbUrgenceNom.Text = emp.UrgenceNom; TxbUrgencePhone.Text = emp.UrgencePhone; }
public async Task Update(EmployeDto employe) { var result = await this.unitOfWork.EmployRepository.Get(employe.Id); EmployMapper.MapUpdate(result, employe); await this.unitOfWork.EmployRepository.Update(result); }
private bool SendNotification(NotificationType notificationType, EmployeDto loggedEmploye, EmployeDto targetEmploye, UpdatePlanResponse response) { bool send = notificationType == NotificationType.Approved || notificationType == NotificationType.Rejected; send &= (response.RemovedDates.Length > 0 || response.SavedDates.Length > 0); send &= loggedEmploye.Profile == EmployeProfile.Manager && loggedEmploye.Id != targetEmploye.Id; return(send); }
public static void MapUpdate(Employe oldEmploye, EmployeDto newEmploye) { oldEmploye.FirstName = newEmploye.FirstName; oldEmploye.LastName = newEmploye.LastName; oldEmploye.Age = newEmploye.Age; oldEmploye.IsHeadOfDepartment = newEmploye.IsManager; oldEmploye.CategoryId = newEmploye.CategoryId; oldEmploye.DepartmentId = newEmploye.DepartmentId; oldEmploye.ProjectId = newEmploye.ProjectId; }
public void SendNotification(NotificationType notificationType, EmployeDto loggedEmploye, long targetEmployeId, UpdatePlanResponse response, string serverLink) { var targetEmploye = _employeService.GetWithArea(targetEmployeId); if (SendNotification(notificationType, loggedEmploye, targetEmploye, response)) { var param = new ApprovationMailParams(notificationType, serverLink, new[] { GetRecipients(targetEmploye) }, GetNotificationMessage(response), GetSender(loggedEmploye)); SendMail(param).ConfigureAwait(false); } }
public static Employe Map(EmployeDto employe) { return(new Employe { Id = employe.Id, Name = employe.Name, Sex = (int)employe.Sex, Age = employe.Age, PositionId = employe.PositionId, }); }
public async Task Create(EmployeDto entity) { var employe = EmployeMapper.Map(entity); await this.unitOfWork.Employes.Create(employe); var animalEmployes = entity.Animals.OrEmpty() .Select(p => EmployeMapper.MapAnimalEmploye(p, employe.Id)) .ToArray(); await this.unitOfWork.AnimalEmployes.CreateRange(animalEmployes); }
private void RemoveDuplicatedGroup(EmployeDto employe) { employe.Groups = employe.Groups.Distinct().OrderBy(e => e.Count).ToList(); IList <EmployeBaseDto> smallestGroup = employe.Groups[0]; employe.Groups = employe.Groups.Where(g => !smallestGroup.All(e => g.Contains(e))).ToList(); if (employe.Groups.Count > 1) { RemoveDuplicatedGroup(employe); } employe.Groups.Insert(0, smallestGroup); }
public static Employe MapCreate(EmployeDto employe) { return(new Employe { FirstName = employe.FirstName, LastName = employe.LastName, Age = employe.Age, IsHeadOfDepartment = employe.IsManager, CategoryId = employe.CategoryId, DepartmentId = employe.DepartmentId, ProjectId = employe.ProjectId, }); }
public async Task <IActionResult> Create(EmployeDto employe) { if (employe.Id == 0) { await this.employService.Create(employe); } else { await this.employService.Update(employe); } return(RedirectToAction("Index")); }
public async Task Update(EmployeDto entity) { var employe = await this.unitOfWork.Employes.Get(entity.Id); EmployeMapper.MapUpdate(employe, entity); await this.unitOfWork.AnimalEmployes.RemoveRange(employe.AnimalEmployes.ToArray()); var animalEmployes = entity.Animals.OrEmpty() .Select(p => EmployeMapper.MapAnimalEmploye(p, employe.Id)) .ToArray(); await this.unitOfWork.AnimalEmployes.CreateRange(animalEmployes); }
public int AddEmploye(EmployeDto empDto, EmployeSalaireDto empSalReg, EmployeSalaireDto empSalSpe, IEnumerable <CongeDto> congesDto, IEnumerable <EmployePrelevementDto> empPrelReg, IEnumerable <EmployePrelevementDto> empPrelSpe) { //Obtenir un numéro interne pour l'employé int numInterne = new EmployeRepository().GetNewNumeroInterne(empDto.CompagnieID); //Ajouter numero interne pour l'employé empDto.NumeroEmploye = numInterne; //Ajouter les dates d'embauche et de naissance de l'employé à partir des champs string correspondant empDto.DateEmbauche = DateTime.Parse(empDto.DateEmbaucheString); empDto.DateNaissance = DateTime.Parse(empDto.DateNaissanceString); //Déterminer si le type de l'employé bool isSpecial = false; if (empDto.TypeEmployeID == (int)LookupEnum.TypeEmploye.Special) { isSpecial = true; } //Ajouter les salaires régulier et spécial dans une liste List <EmployeSalaireDto> empSalaires = new List <EmployeSalaireDto>(); empSalaires.Add(empSalReg); if (isSpecial) { empSalaires.Add(empSalSpe); } //Fusionner les listes de prélèvement des salaires réguliers et spéciaux s'il ya lieu List <EmployePrelevementDto> empPrelList = empPrelReg.ToList(); if (isSpecial) { empPrelList.AddRange(empPrelSpe); } //Ajouter l'employé EmployeRepository empRep = new EmployeRepository(); empRep.AddEmploye(empDto, empSalaires, congesDto, empPrelList); //Renvoyer le numéro interne de l'employé return(numInterne); }
private EmployeDto FillEmployeDto() { EmployeDto emp = new EmployeDto(); emp.AdresseRue1 = TxbAdresseRue1.Text.Trim(); emp.AdresseRue2 = TxbAdresseRue2.Text.Trim(); emp.CIN = TxbCin.Text.Trim(); emp.CompagnieID = SessionHelper.GetCompanyIDFromSession(HttpContext.Current); emp.DateEmbaucheString = UctDateEmbauche.SelectedDateString; emp.DateNaissanceString = UctDateNaissance.SelectedDateString; emp.DepartementID = Int32.Parse(DdlDepartement.SelectedValue); emp.Email = TxbEmail.Text.Trim(); emp.ModifiePar = User.Identity.Name; emp.NIF = TxbNif.Text.Trim(); emp.Nom = TxbNom.Text.ToTitleCase(); emp.Phone1 = TxbPhone1.Text.Trim(); emp.Phone2 = TxbPhone2.Text.Trim(); emp.Prenom = TxbPrenom.Text.ToTitleCase(); emp.PosteID = Int32.Parse(DdlPoste.SelectedValue); if (RbtSexeFeminin.Checked) { emp.Sexe = LookupConst.Feminin; } else { if (RbtSexeMasculin.Checked) { emp.Sexe = LookupConst.Masculin; } else { emp.Sexe = null; } } emp.StatutEmployeID = (int)LookupEnum.StatutEmploye.Actif; emp.StatutMatrimonialID = Int32.Parse(DdlStatutMatrimonial.SelectedValue); emp.TypeEmployeID = Int32.Parse(DdlTypeEmploye.SelectedValue); emp.UrgenceNom = TxbUrgenceNom.Text.Trim(); emp.UrgencePhone = TxbUrgencePhone.Text.Trim(); return(emp); }
public void GetEmployeDetailsByID(long employeID, out EmployeDto emp, out EmployeSalaireDto empSalReg, out EmployeSalaireDto empSalSpe, out IEnumerable <CongeDto> empConge, out IEnumerable <EmployePrelevementDto> empPrelReg, out IEnumerable <EmployePrelevementDto> empPrelSpe) { //Renvoyer toutes les données personnelles de l'employe à partir de sa clé primaire EmployeRepository empRep = new EmployeRepository(); emp = empRep.GetEmployeById(employeID); empSalReg = empRep.GetSalaireByType(employeID, (int)LookupEnum.TypeSalaire.Regulier); empPrelReg = empRep.GetPrelevementByTypeSalaire(employeID, (int)LookupEnum.TypeSalaire.Regulier); if (emp.TypeEmployeID == (int)LookupEnum.TypeEmploye.Special) { empSalSpe = empRep.GetSalaireByType(employeID, (int)LookupEnum.TypeSalaire.Special); empPrelSpe = empRep.GetPrelevementByTypeSalaire(employeID, (int)LookupEnum.TypeSalaire.Special); } else { empSalSpe = null; empPrelSpe = null; } empConge = empRep.GetConge(employeID); }
private void UpdateEntity(EmployeDto employeDto) { var entity = employeDto.Id > 0 ? _employeRepository.GetWithArea(employeDto.Id) : _mapper.Map <EmployeDto, Employe>(employeDto); entity.Surname = employeDto.Surname; entity.Name = employeDto.Name; entity.Email = employeDto.Email; var areas = _mapper.Map <IList <AreaBaseDto>, IList <Area> >(employeDto.AreaList).Select(a => new EmployeArea(a, entity)).ToList(); if (employeDto.Id > 0) { var requestAreasDesc = areas.Select(ea => ea.Area.Description).ToList(); var existingAreasDesc = entity.EmployeArea.Select(ea => ea.Area.Description).ToList(); var removedAreas = entity.EmployeArea.Where(ea => !requestAreasDesc.Contains(ea.Area.Description)).ToList(); var addedAreas = areas.Where(ea => !existingAreasDesc.Contains(ea.Area.Description)).ToList(); entity.EmployeArea.AddRange(addedAreas); _employeRepository.Update(entity, removedAreas); } else { entity.EmployeArea = areas; _employeRepository.Update(entity); } }
public IActionResult Post([FromBody] EmployeDto employe) { _employeService.Update(employe); return(new NoContentResult()); }
private MailAddress GetSender(EmployeDto sender) => new MailAddress(sender.Email, string.Concat(sender.Surname, " ", sender.Name));
public async Task Create(EmployeDto employe) { var result = EmployMapper.MapCreate(employe); await this.unitOfWork.EmployRepository.Create(result); }
public void Update(EmployeDto employe) => UpdateEntity(employe);
private MailAddress GetRecipients(EmployeDto recipient) => new MailAddress(recipient.Email, string.Concat(recipient.Surname, " ", recipient.Name));
public void UpdateEmploye(EmployeDto empDto, IEnumerable <EmployeSalaireDto> empSalairesDto, IEnumerable <CongeDto> congesDto, IEnumerable <EmployePrelevementDto> empPrelDto) { //Mettre à jour les informations d'un employé existant y compris ses salaires,ses congés et ses prélèvements //Attention: la mise à jour peut occasionner à des insertions, des suppressions et des mises à jour //Copier les données des Dto dans des Entity Objects var emp = new Employe(); emp.EmployeID = empDto.EmployeID; emp.AdresseRue1 = empDto.AdresseRue1; emp.AdresseRue2 = empDto.AdresseRue2; emp.AdresseVille = empDto.AdresseVille; emp.Cin = empDto.CIN; emp.CompagnieID = empDto.CompagnieID; emp.DateEmbauche = empDto.DateEmbauche; emp.DateNaissance = empDto.DateNaissance; emp.DepartementID = empDto.DepartementID; emp.Email = empDto.Email; emp.Extension = empDto.Extension; emp.ModifiePar = empDto.ModifiePar; emp.Nif = empDto.NIF; emp.Nom = empDto.Nom; emp.NumeroEmploye = empDto.NumeroEmploye; emp.Phone1 = empDto.Phone1; emp.Phone2 = empDto.Phone2; emp.PosteID = empDto.PosteID; emp.Prenom = empDto.Prenom; emp.Sexe = empDto.Sexe; emp.StatutEmployeID = empDto.StatutEmployeID; emp.StatutMatrimonialID = empDto.StatutMatrimonialID; emp.TypeEmployeID = empDto.TypeEmployeID; foreach (EmployeSalaireDto salDto in empSalairesDto) { var sal = new EmployeSalaire(); sal.BanqueID = salDto.BanqueID; sal.BonusFinAnnee = salDto.BonusFinAnnee; sal.CompteBancaire = salDto.CompteBancaire; sal.HeureSupPaye = salDto.HeureSupPaye; sal.ModifiePar = salDto.ModifiePar; sal.MonnaieID = salDto.MonnaieID; sal.Salaire = salDto.Salaire; sal.TypePaiementID = salDto.TypePaiementID; sal.TypeSalaireID = salDto.TypeSalaireID; emp.EmployeSalaires.Add(sal); } foreach (CongeDto congDto in congesDto) { var cong = new Conge(); cong.AccumulableParAnnee = congDto.AccumulableParAnnee; cong.IncrementableParMois = congDto.IncrementableParMois; cong.JourBalance = congDto.JourBalance; cong.JourParAnnee = congDto.JourParAnnee; cong.ModifiePar = congDto.ModifiePar; cong.TypeCongeID = congDto.TypeCongeID; emp.Conges.Add(cong); } foreach (EmployePrelevementDto prelDto in empPrelDto) { var prel = new EmployePrelevement(); prel.PrelevementID = prelDto.PrelevementID; prel.TypePeriodeID = prelDto.TypePeriodeID; prel.TypeSalaireID = prelDto.TypeSalaireID; prel.Pourcentage = prelDto.Pourcentage; emp.EmployePrelevements.Add(prel); } //Construire le "object graph" détaché de l'employé à mettre à jour try { //Mettre à jour, insérer ou supprimmer les données using (var context = new PayrollEntities()) { // Charger les données de l'employé se trouvant dans la base avec ses congés, ses prélevements et ses salaires Employe existingEmp = context.Employes .Where(e => e.EmployeID == emp.EmployeID) .Include(e => e.Conges) .Include(e => e.EmployePrelevements) .Include(e => e.EmployeSalaires) .FirstOrDefault(); // Si l'employé a été trouvé, procéder à la mise à jour des ses données personnelles et annexes if (existingEmp != null) { // ***Mettre à jour les données personnelles de l'employé*** var empEntry = context.Entry(existingEmp); empEntry.CurrentValues.SetValues(emp); // ***Mettre à jour les salaires de l'employé*** // Créer une instance du comparateur pour les salaires EmployeSalaireEqualityComparer empSalEqC = new EmployeSalaireEqualityComparer(); // Chercher les nouvellement ajoutés var addedEmpSals = emp.EmployeSalaires.Except(existingEmp.EmployeSalaires, empSalEqC); // Chercher les supprimés var deletedEmpSals = existingEmp.EmployeSalaires.Except(emp.EmployeSalaires, empSalEqC); // Chercher les mis à jour var modifiedEmpSals = emp.EmployeSalaires.Except(addedEmpSals, empSalEqC); // Marquer tous les ajouts comme tels dans le contexte addedEmpSals.ToList().ForEach(sal => context.Entry(sal).State = System.Data.EntityState.Added); // Marquer toutes les suppressions comme telles dans le contexte deletedEmpSals.ToList().ForEach(sal => context.Entry(sal).State = System.Data.EntityState.Deleted); // Mettre à jour les propriétés modifiées par le client foreach (EmployeSalaire epS in modifiedEmpSals) { var existingEmpSal = context.EmployeSalaires.Where(e => e.EmployeID == epS.EmployeID && e.TypeSalaireID == epS.TypeSalaireID); if (existingEmpSal != null) { var empSalEntry = context.Entry(existingEmpSal); empSalEntry.CurrentValues.SetValues(epS); } } // ***Mettre à jour les congés de l'employé*** // Créer une instance du comparateur pour les congés CongeEqualityComparer CongEqC = new CongeEqualityComparer(); // Chercher les nouvellement ajoutés var addedCongs = emp.Conges.Except(existingEmp.Conges, CongEqC); // Chercher les supprimés var deletedCongs = existingEmp.Conges.Except(emp.Conges, CongEqC); // Chercher les mis à jour var modifiedCongs = emp.Conges.Except(addedCongs, CongEqC); // Marquer tous les ajouts comme tels dans le contexte addedCongs.ToList().ForEach(sal => context.Entry(sal).State = System.Data.EntityState.Added); // Marquer toutes les suppressions comme telles dans le contexte deletedCongs.ToList().ForEach(sal => context.Entry(sal).State = System.Data.EntityState.Deleted); // Mettre à jour les propriétés modifiées par le client foreach (Conge epS in modifiedCongs) { var existingCong = context.Conges.Where(e => e.EmployeID == epS.EmployeID && e.TypeCongeID == epS.TypeCongeID); if (existingCong != null) { var CongEntry = context.Entry(existingCong); CongEntry.CurrentValues.SetValues(epS); } } // ***Mettre à jour les prélèvements de l'employé*** // Créer une instance du comparateur pour les prélèvements EmployePrelevementEqualityComparer EmpPrelEqC = new EmployePrelevementEqualityComparer(); // Chercher les nouvellement ajoutés var addedEmpPrels = emp.EmployePrelevements.Except(existingEmp.EmployePrelevements, EmpPrelEqC); // Chercher les supprimés var deletedEmpPrels = existingEmp.EmployePrelevements.Except(emp.EmployePrelevements, EmpPrelEqC); // Chercher les mis à jour var modifiedEmpPrels = emp.EmployePrelevements.Except(addedEmpPrels, EmpPrelEqC); // Marquer tous les ajouts comme tels dans le contexte addedEmpPrels.ToList().ForEach(sal => context.Entry(sal).State = System.Data.EntityState.Added); // Marquer toutes les suppressions comme telles dans le contexte deletedEmpPrels.ToList().ForEach(sal => context.Entry(sal).State = System.Data.EntityState.Deleted); // Mettre à jour les propriétés modifiées par le client foreach (EmployePrelevement epS in modifiedEmpPrels) { var existingEmpPrel = context.EmployePrelevements .Where(e => e.EmployeID == epS.EmployeID && e.PrelevementID == epS.PrelevementID && e.TypePeriodeID == epS.TypePeriodeID && e.TypeSalaireID == epS.TypeSalaireID); if (existingEmpPrel != null) { var EmpPrelEntry = context.Entry(existingEmpPrel); EmpPrelEntry.CurrentValues.SetValues(epS); } } } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } }
public void AddEmploye(EmployeDto empDto, IEnumerable <EmployeSalaireDto> empSalairesDto, IEnumerable <CongeDto> congesDto, IEnumerable <EmployePrelevementDto> empPrelDto) { //Ajouter un nouvel employé avec son ou ses salaires,ses congés et ses prélèvements var emp = new Employe(); emp.AdresseRue1 = empDto.AdresseRue1; emp.AdresseRue2 = empDto.AdresseRue2; emp.AdresseVille = empDto.AdresseVille; emp.Cin = empDto.CIN; emp.CompagnieID = empDto.CompagnieID; emp.DateEmbauche = empDto.DateEmbauche; emp.DateNaissance = empDto.DateNaissance; emp.DepartementID = empDto.DepartementID; emp.Email = empDto.Email; emp.Extension = empDto.Extension; emp.ModifiePar = empDto.ModifiePar; emp.Nif = empDto.NIF; emp.Nom = empDto.Nom; emp.NumeroEmploye = empDto.NumeroEmploye; emp.Phone1 = empDto.Phone1; emp.Phone2 = empDto.Phone2; emp.PosteID = empDto.PosteID; emp.Prenom = empDto.Prenom; emp.Sexe = empDto.Sexe; emp.StatutEmployeID = empDto.StatutEmployeID; emp.StatutMatrimonialID = empDto.StatutMatrimonialID; emp.TypeEmployeID = empDto.TypeEmployeID; foreach (EmployeSalaireDto salDto in empSalairesDto) { var sal = new EmployeSalaire(); sal.BanqueID = salDto.BanqueID; sal.BonusFinAnnee = salDto.BonusFinAnnee; sal.CompteBancaire = salDto.CompteBancaire; sal.HeureSupPaye = salDto.HeureSupPaye; sal.ModifiePar = salDto.ModifiePar; sal.MonnaieID = salDto.MonnaieID; sal.Salaire = salDto.Salaire; sal.TypePaiementID = salDto.TypePaiementID; sal.TypeSalaireID = salDto.TypeSalaireID; emp.EmployeSalaires.Add(sal); } foreach (CongeDto congDto in congesDto) { var cong = new Conge(); cong.AccumulableParAnnee = congDto.AccumulableParAnnee; cong.IncrementableParMois = congDto.IncrementableParMois; cong.JourBalance = congDto.JourBalance; cong.JourParAnnee = congDto.JourParAnnee; cong.ModifiePar = congDto.ModifiePar; cong.TypeCongeID = congDto.TypeCongeID; emp.Conges.Add(cong); } foreach (EmployePrelevementDto prelDto in empPrelDto) { var prel = new EmployePrelevement(); prel.PrelevementID = prelDto.PrelevementID; prel.TypePeriodeID = prelDto.TypePeriodeID; prel.TypeSalaireID = prelDto.TypeSalaireID; prel.Pourcentage = prelDto.Pourcentage; emp.EmployePrelevements.Add(prel); } try { //ajouter les informations du nouvel employé au context et sauvegarder using (var context = new PayrollEntities()) { context.Employes.Add(emp); context.SaveChanges(); } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } }
public bool IsValid(EmployeDto emp, ref List <string> ErrorMessages) { //Les conditions pouvant être validées dans le formulaire lui-même // ne sont pas à priori testés ici bool isValid = true; // Abonnement AbonnementLogicielManager al = new AbonnementLogicielManager(); if (!al.IsSubscriptionValid(emp.CompagnieID)) { isValid = false; ErrorMessages.Add(@"Opération impossible: l'abonnement du logiciel a expiré."); } if (!al.CanAddEmploye(emp.CompagnieID)) { isValid = false; ErrorMessages.Add(@"Opération impossible: le nombre maximum d'employés a été atteint."); } //Date naissance DateTime dateNaissance; if (!DateTime.TryParse(emp.DateNaissanceString, out dateNaissance)) { isValid = false; ErrorMessages.Add(@"Date de naissance invalide"); } else { if (dateNaissance.AddYears(18) > DateTime.Now) { isValid = false; ErrorMessages.Add(@"La date de naissance fait de l'employé un mineur"); } } //Sexe if (emp.Sexe == null) { isValid = false; ErrorMessages.Add(@"Le sexe de l'employé n'est pas précisé"); } //Email if (!String.IsNullOrEmpty(emp.Email)) { // Renvoi true si l'email est valide. if (!Regex.IsMatch(emp.Email.ToString(), @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$")) { isValid = false; ErrorMessages.Add("L'email de l'employé n'est pas correct"); } } //Date Embauche DateTime dateEmbauche; if (!DateTime.TryParse(emp.DateNaissanceString, out dateEmbauche)) { isValid = false; ErrorMessages.Add(@"Date d'embauche invalide"); } //Departement if (emp.DepartementID == 0) { isValid = false; ErrorMessages.Add(@"Il faut choisir un département"); } //Statut Matrimonial if (emp.StatutMatrimonialID == 0) { isValid = false; ErrorMessages.Add(@"Il faut choisir un statut matrimonial"); } return(isValid); }
protected void CreateEmployeeButton_Click(object sender, EventArgs ev) { //Vérifier d'abord que les validations au niveau du formulaire sont correctes if (IsValid) { //Remplir les Dto avec les données du formulaire pour permettre la validation et la sauvegarde EmployeDto emp = FillEmployeDto(); EmployeSalaireDto empSalaireRegulier = FillEmployeSalaireRegulierDto(); List <CongeDto> empConges = FillCongeDto(); List <EmployePrelevementDto> empPrelevementRegulier = FillPrelevementRegulierDto(); // Remplir les Dto dans le cas d'un employé spécial EmployeSalaireDto empSalaireSpecial = null; List <EmployePrelevementDto> empPrelevementSpecial = null; if (Int32.Parse(DdlTypeEmploye.SelectedValue) == (int)LookupEnum.TypeEmploye.Special) { empSalaireSpecial = FillEmployeSalaireSpecialDto(); empPrelevementSpecial = FillPrelevementSpecialDto(); } //Validation des règles (business rules) List <String> errorMessages = new List <string>(); // Pour conserver les messages d'erreurs éventuels // Validation employé données personnelles bool isValidEmp = new EmployeManager().IsValid(emp, ref errorMessages); // Validation salaire régulier bool isValidSalReg = new EmployeSalaireManager().IsValid(empSalaireRegulier, ref errorMessages); // Validation salaire spécial si on a à faire à ce type d'employé bool isValidSalSpe = true; if (Int32.Parse(DdlTypeEmploye.SelectedValue) == (int)LookupEnum.TypeEmploye.Special) { isValidSalSpe = new EmployeSalaireManager().IsValid(empSalaireSpecial, ref errorMessages); } // Validation congés bool isValidConge = true; isValidConge = new CongeManager().IsValid(empConges, ref errorMessages); //Validation prélèvements régulier bool isValidPrelevementRegulier = new EmployePrelevementManager().IsValid(empPrelevementRegulier, ref errorMessages); // Validation prélèvements spécial si on a à faire à ce type d'employé bool isValidPrelevementSpecial = true; if (Int32.Parse(DdlTypeEmploye.SelectedValue) == (int)LookupEnum.TypeEmploye.Special) { isValidPrelevementSpecial = new EmployePrelevementManager().IsValid(empPrelevementRegulier, ref errorMessages); } // Si les données sont correctes, sauvegarder les, sinon afficher les messages d'erreurs if (isValidEmp && isValidSalReg && isValidSalSpe && isValidConge && isValidPrelevementRegulier && isValidPrelevementSpecial) { EmployeManager empMan = new EmployeManager(); //Insérer ou mettre à jour if (_isEdit) { emp.EmployeID = Int64.Parse(Request.QueryString["Id"]); empMan.UpdateEmploye(emp, empSalaireRegulier, empSalaireSpecial, empConges, empPrelevementRegulier, empPrelevementSpecial); UctMessage.Show(UserControls.MessageType.Success, String.Format("L'employé {0} {1} a été mise à jour avec succès.", emp.Prenom, emp.Nom)); } else { int numInterne = empMan.AddEmploye(emp, empSalaireRegulier, empSalaireSpecial, empConges, empPrelevementRegulier, empPrelevementSpecial); UctMessage.Show(UserControls.MessageType.Success, String.Format("L'employé {0} {1} a été créé avec succès. Son numéro interne est: {2}", emp.Prenom, emp.Nom, numInterne)); //Nettoyer la forme pour prochaine saisie CleanForm(); } } else { UctMessage.Show(Payroll.UserControls.MessageType.Error, @"Oops... des erreurs sont survenues:", errorMessages); } } }
public UpdatePlanResponse UpdateLeavesPlan(ICoverageService coverageService, LeavesPlanUpdate leaves, long employeId, EmployeDto loggedOne, bool force) { Employe currentEmploye = _employeRepository.GetWithArea(employeId); var response = force ? new UpdatePlanResponse() : AddRejectedLeavesToResponse(coverageService, leaves.AddedLeaves, currentEmploye); if (loggedOne.Profile == EmployeProfile.Manager) { _leaveRepository.InsertAll(GetLeavesEntity(leaves.AddedLeaves.Where(l => l.State == LeaveState.Approved).ToList(), currentEmploye, LeaveState.Approved)); _leaveRepository.UpdateAll(GetLeavesEntity(leaves.AddedLeaves.Where(l => l.State == LeaveState.ToAdd).ToList(), currentEmploye, LeaveState.Approved)); _leaveRepository.DeleteAll(GetLeavesEntity(leaves.RemovedLeaves, currentEmploye, LeaveState.Approved)); } else { _leaveRepository.InsertAll(GetLeavesEntity(leaves.AddedLeaves, currentEmploye, LeaveState.ToAdd)); _leaveRepository.DeleteAll(GetLeavesEntity(leaves.RemovedLeaves.Where(l => l.State == LeaveState.ToAdd).ToList(), currentEmploye, LeaveState.ToRemove)); _leaveRepository.UpdateAll(GetLeavesEntity(leaves.RemovedLeaves.Where(l => l.State == LeaveState.Approved).ToList(), currentEmploye, LeaveState.ToRemove)); } SetUpdatedDatesMessage(leaves.AddedLeaves, leaves.RemovedLeaves, response); return(response); }