private ResultOfType <PraticienResultDataModel> ValidateUpdatePraticienProperties(PraticienDataModel praticienDataModel) { #region validation CIN if (string.IsNullOrEmpty(praticienDataModel.Cin)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre CIN.", "CIN") .WithDefaultResult()); } if (praticienDataModel.Cin.Length != 8) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le CIN introduit est incorrecte.", "CIN") .WithDefaultResult()); } var myRegex = new Regex(@"[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"); var isNumber = myRegex.IsMatch(praticienDataModel.Cin); if (isNumber == false) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le CIN introduit est incorrecte, elle est composé de 8 chiffres.", "CIN") .WithDefaultResult()); } #endregion #region Email if (string.IsNullOrEmpty(praticienDataModel.Email)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre Email.", "Email") .WithDefaultResult()); } // On ne va pas donner accès pour changer l'email ni le cin #endregion #region Telephone if (string.IsNullOrEmpty(praticienDataModel.Telephone)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre téléphone.", "Téléphone") .WithDefaultResult()); } if (praticienDataModel.Telephone.Length > 30) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Fax number length must be between 0 and 30 characters", "Téléphone") .WithDefaultResult()); } if (!Regex.IsMatch(praticienDataModel.Telephone, @"^[0-9+() ][0-9+() -]*")) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le numéro de téléphone introduit est incorrecte.", "Téléphone") .WithDefaultResult()); } #endregion #region Adresse if (string.IsNullOrEmpty(praticienDataModel.Adresse)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre téléphone.", "Téléphone") .WithDefaultResult()); } #endregion return(null); }
public ResultOfType <PraticienResultDataModel> PostNewPraticien(PraticienDataModel praticienToAdd) { if (praticienToAdd == null) { return(new Return <PraticienResultDataModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Les données sont vides.").WithDefaultResult()); } Logger.LogInfo(string.Format("Post New Praticien : Start --- CIN = {0}, Email = {1} ", praticienToAdd.Cin, praticienToAdd.Email)); var validationResult = ValidateNewPraticienProperties(praticienToAdd); if (validationResult != null) { Logger.LogInfo(string.Format("Post New Praticien : End --- Status = {0}, Message= {1}", validationResult.Status, validationResult.Errors[0].Message)); return(validationResult); } validationResult = ValidatePasword(praticienToAdd.Password, praticienToAdd.NomPrenom); if (validationResult != null) { Logger.LogInfo(string.Format("Post New Praticien : End --- Status = {0}, Message= {1}", validationResult.Status, validationResult.Errors[0].Message)); return(validationResult); } //Activer tous les praticiens actuellement avant d'être active après le paiement if (praticienToAdd.Conventionne == null) { praticienToAdd.Conventionne = "false"; } if (string.IsNullOrWhiteSpace(praticienToAdd.PrixConsultation)) { praticienToAdd.PrixConsultation = "Non définit"; } var praticien = new Praticien { Adresse = praticienToAdd.Adresse, Password = CrossCuttingLayer.Encryption.RijndaelEncryption.Encrypt(praticienToAdd.Password), Cin = praticienToAdd.Cin, Email = praticienToAdd.Email, NomPrenom = praticienToAdd.NomPrenom, Telephone = praticienToAdd.Telephone, Delegation = praticienToAdd.Delegation, Gouvernerat = praticienToAdd.Gouvernerat, Conventionne = bool.Parse(praticienToAdd.Conventionne), Cursus = praticienToAdd.Cursus, Diplomes = praticienToAdd.Diplomes, }; praticien.Formations = praticienToAdd.Formations; praticien.InformationsPratique = praticienToAdd.InformationsPratique; praticien.LanguesParles = praticienToAdd.LanguesParles; praticien.MoyensPaiement = praticienToAdd.MoyensPaiement; praticien.ParcoursHospitalier = praticienToAdd.ParcoursHospitalier; praticien.PresentationCabinet = praticienToAdd.PresentationCabinet; praticien.PrixConsultation = praticienToAdd.PrixConsultation; praticien.Fax = praticienToAdd.Fax; praticien.Publication = praticienToAdd.Publication; praticien.Specialite = praticienToAdd.Specialite; var userAccount = new UserAccount { EstActive = false, Email = praticienToAdd.Email, LastModificationDate = praticien.LastModificationDate, Password = praticien.Password, Type = "Praticien" }; try { //EmailTest emailTest = new EmailTest(); //bool isCorrect = emailTest.chkEmailExist(praticien.Email); //if (isCorrect) //{ //ajout d'un compte _praticienRepository.Add(praticien); _userAccountRepository.Add(userAccount); Logger.LogInfo(string.Format("Post New Praticien : End --- Status = OK, Email = {0} - Cin = {1} - Adresse = {2} - NomPrenom = {3} - Telephone = {4} - Delegation = {5} - Fax = {6} - Gouvernerat = {7} ", praticien.Email, praticien.Cin, praticien.Adresse, praticien.NomPrenom, praticien.Telephone, praticien.Delegation, praticien.Fax, praticien.Gouvernerat)); return (new Return <PraticienResultDataModel>().OK() .WithResult(new PraticienResultDataModel { Cin = praticien.Cin, Adresse = praticien.Adresse, Email = praticien.Email, NomPrenom = praticien.NomPrenom, Telephone = praticien.Telephone, Delegation = praticien.Delegation, Fax = praticien.Fax, Gouvernerat = praticien.Gouvernerat })); //} //else //{ // //tracer par log ces informations // Logger.LogInfo(string.Format("Post New Praticien : End --- Status = KO - Erreur de saisie d'email qui n'existe pas, Email = {0} - Cin = {1} - Adresse = {2} - NomPrenom = {3} - Telephone = {4} - Delegation = {5} - Fax = {6} - Gouvernerat = {7} ", praticien.Email, praticien.Cin, praticien.Adresse, praticien.NomPrenom, praticien.Telephone, praticien.Delegation, praticien.Fax, praticien.Gouvernerat)); // return // new Return<PraticienResultDataModel>() // .Error() // .AsValidationFailure(null, // "Votre adresse Email n'existe pas, veuillez vérifier la syntaxe !", // "Email") // .WithDefaultResult(); //} } catch (Exception ex) { var exception = ex.Message; return (new Return <PraticienResultDataModel>() .Error() .AsValidationFailure(null, "Votre adresse Email n'existe pas, veuillez vérifier la syntaxe !", "Email") .WithDefaultResult()); } }
/// <summary> /// Validation Praticien /// </summary> /// <param name="praticienDataModel">Praticien.</param> /// <returns>Null if the id is valid, a specific error message otherwise.</returns> private ResultOfType <PraticienResultDataModel> ValidateNewPraticienProperties(PraticienDataModel praticienDataModel) { #region validation CIN if (string.IsNullOrEmpty(praticienDataModel.Cin)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre CIN.", "CIN") .WithDefaultResult()); } if (CinExists(praticienDataModel.Cin)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le CIN introduit est utilisé déjà par un autre utilisateur.", "CIN") .WithDefaultResult()); } if (praticienDataModel.Cin.Length != 8) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le CIN introduit est incorrecte.", "CIN") .WithDefaultResult()); } var myRegex = new Regex(@"[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"); var isNumber = myRegex.IsMatch(praticienDataModel.Cin); if (isNumber == false) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le CIN introduit est incorrecte, elle est composé de 8 chiffres.", "CIN") .WithDefaultResult()); } #endregion #region Email if (string.IsNullOrEmpty(praticienDataModel.Email)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre Email.", "Email") .WithDefaultResult()); } if (EmailExists(praticienDataModel.Email)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "L'Email introduit est utilisé déjà par un autre utilisateur.", "Email") .WithDefaultResult()); } if (ValidateEmail(praticienDataModel.Email)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le format de l'email introduit est incorrecte : exemple : [email protected].", "Email") .WithDefaultResult()); } #endregion #region Telephone if (string.IsNullOrEmpty(praticienDataModel.Telephone)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre téléphone.", "Téléphone") .WithDefaultResult()); } if (praticienDataModel.Telephone.Length > 30) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Fax number length must be between 0 and 30 characters", "Téléphone") .WithDefaultResult()); } if (!Regex.IsMatch(praticienDataModel.Telephone, @"^[0-9+() ][0-9+() -]*")) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Le numéro de téléphone introduit est incorrecte.", "Téléphone") .WithDefaultResult()); } #endregion #region Adresse if (string.IsNullOrEmpty(praticienDataModel.Adresse)) { return(new Return <PraticienResultDataModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre téléphone.", "Téléphone") .WithDefaultResult()); } #endregion //#region heure début matin //if (string.IsNullOrEmpty(praticienDataModel.HeureDebutMatin)) //{ // return new Return<PraticienResultDataModel>() // .Error().AsValidationFailure(null, "Veuillez introduire votre heure début matin.", "HeureDebutMatin") // .WithDefaultResult(); //} //#endregion //#region Heure début Midi //if (string.IsNullOrEmpty(praticienDataModel.HeureDebutMidi)) //{ // return new Return<PraticienResultDataModel>() // .Error().AsValidationFailure(null, "Veuillez introduire votre heure début midi.", "HeureDebutMidi") // .WithDefaultResult(); //} //#endregion //#region HeureFinMatin //if (string.IsNullOrEmpty(praticienDataModel.HeureFinMatin)) //{ // return new Return<PraticienResultDataModel>() // .Error().AsValidationFailure(null, "Veuillez introduire votre heure fin matin.", "HeureFinMatin") // .WithDefaultResult(); //} //#endregion //#region HeureFinMidi //if (string.IsNullOrEmpty(praticienDataModel.HeureFinMidi)) //{ // return new Return<PraticienResultDataModel>() // .Error().AsValidationFailure(null, "Veuillez introduire votre heure fin midi.", "HeureFinMidi") // .WithDefaultResult(); //} //#endregion //#region MinuteDebutMatin //if (string.IsNullOrEmpty(praticienDataModel.MinuteDebutMatin)) //{ // return new Return<PraticienResultDataModel>() //.Error().AsValidationFailure(null, "Veuillez introduire votre minute début matin.", "MinuteDebutMatin") //.WithDefaultResult(); //} //#endregion //#region //if (string.IsNullOrEmpty(praticienDataModel.MinuteDebutMidi)) //{ // return new Return<PraticienResultDataModel>() // .Error() // .AsValidationFailure(null, "Veuillez introduire votre minute début midi.", "MinuteDebutMidi") // .WithDefaultResult(); //} //#endregion //#region MinuteFinMatin //if (string.IsNullOrEmpty(praticienDataModel.MinuteFinMatin)) //{ // return new Return<PraticienResultDataModel>() // .Error() // .AsValidationFailure(null, "Veuillez introduire votre minute fin matin.", "MinuteFinMatin") // .WithDefaultResult(); //} //#endregion //#region //if (string.IsNullOrEmpty(praticienDataModel.MinuteDebutMatin)) //{ // return new Return<PraticienResultDataModel>() // .Error() // .AsValidationFailure(null, "Veuillez introduire votre minute début matin.", "MinuteDebutMatin") // .WithDefaultResult(); //} //#endregion //#region //if (string.IsNullOrEmpty(praticienDataModel.MinuteFinMidi)) //{ // return new Return<PraticienResultDataModel>() // .Error() // .AsValidationFailure(null, "Veuillez introduire votre minute fin midi.", "MinuteFinMidi") // .WithDefaultResult(); //} //#endregion //if (int.Parse(praticienDataModel.HeureDebutMatin) < int.Parse(praticienDataModel.HeureFinMatin)) //{ // return new Return<PraticienResultDataModel>() // .Error() // .AsValidationFailure(null, "L'heure de début matin doit être supérieur à l'heure de fin matin.", "MinuteFinMidi") // .WithDefaultResult(); //} //if (int.Parse(praticienDataModel.HeureDebutMatin) < int.Parse(praticienDataModel.HeureFinMatin)) //{ // return new Return<PraticienResultDataModel>() // .Error() // .AsValidationFailure(null, "L'heure de début matin doit être supérieur à l'heure de fin matin.", "MinuteFinMidi") // .WithDefaultResult(); //} return(null); }
public ResultOfType <PraticienResultDataModel> PatchNewPraticien(PraticienDataModel praticienToAdd) { if (praticienToAdd == null) { return(new Return <PraticienResultDataModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Les données sont vides.").WithDefaultResult()); } Logger.LogInfo(string.Format("Patch New Praticien : Start --- CIN = {0}, Email = {1} ", praticienToAdd.Cin, praticienToAdd.Email)); // Id validation var validationResult = ValidateUpdatePraticienProperties(praticienToAdd); if (validationResult != null) { Logger.LogInfo(string.Format("Patch New Praticien : End --- Status = {0}, Message= {1}", validationResult.Status, validationResult.Errors[0].Message)); return(validationResult); } validationResult = ValidatePasword(praticienToAdd.Password, praticienToAdd.NomPrenom); if (validationResult != null) { Logger.LogInfo(string.Format("Pach New Praticien : End --- Status = {0}, Message= {1}", validationResult.Status, validationResult.Errors[0].Message)); return(validationResult); } //Activer tous les praticiens actuellement avant d'être active après le paiement if (praticienToAdd.Conventionne == null) { praticienToAdd.Conventionne = "false"; } if (string.IsNullOrWhiteSpace(praticienToAdd.PrixConsultation)) { praticienToAdd.PrixConsultation = "Non définit"; } var praticien = _praticienRepository.GetAll().FirstOrDefault(p => p.Cin == praticienToAdd.Cin); if (praticien == null) { return(new Return <PraticienResultDataModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Aucun praticin existe.").WithDefaultResult()); } if (!string.IsNullOrEmpty(praticienToAdd.Adresse)) { praticien.Adresse = praticienToAdd.Adresse; } if (!string.IsNullOrEmpty(praticienToAdd.Password)) { praticien.Password = CrossCuttingLayer.Encryption.RijndaelEncryption.Encrypt(praticienToAdd.Password); } if (!string.IsNullOrEmpty(praticienToAdd.NomPrenom)) { praticien.NomPrenom = praticienToAdd.NomPrenom; } if (!string.IsNullOrEmpty(praticienToAdd.Telephone)) { praticien.Telephone = praticienToAdd.Telephone; } if (!string.IsNullOrEmpty(praticienToAdd.Delegation)) { praticien.Delegation = praticienToAdd.Delegation; } if (!string.IsNullOrEmpty(praticienToAdd.Gouvernerat)) { praticien.Gouvernerat = praticienToAdd.Gouvernerat; } if (!string.IsNullOrEmpty(praticienToAdd.Conventionne)) { praticien.Conventionne = bool.Parse(praticienToAdd.Conventionne); } if (!string.IsNullOrEmpty(praticienToAdd.Cursus)) { praticien.Cursus = praticienToAdd.Cursus; } if (!string.IsNullOrEmpty(praticienToAdd.Diplomes)) { praticien.Diplomes = praticienToAdd.Diplomes; } if (!string.IsNullOrEmpty(praticienToAdd.Formations)) { praticien.Formations = praticienToAdd.Formations; } if (!string.IsNullOrEmpty(praticienToAdd.InformationsPratique)) { praticien.InformationsPratique = praticienToAdd.InformationsPratique; } if (!string.IsNullOrEmpty(praticienToAdd.LanguesParles)) { praticien.LanguesParles = praticienToAdd.LanguesParles; } if (!string.IsNullOrEmpty(praticienToAdd.MoyensPaiement)) { praticien.MoyensPaiement = praticienToAdd.MoyensPaiement; } if (!string.IsNullOrEmpty(praticienToAdd.ParcoursHospitalier)) { praticien.ParcoursHospitalier = praticienToAdd.ParcoursHospitalier; } if (!string.IsNullOrEmpty(praticienToAdd.PresentationCabinet)) { praticien.PresentationCabinet = praticienToAdd.PresentationCabinet; } if (!string.IsNullOrEmpty(praticienToAdd.PrixConsultation)) { praticien.PrixConsultation = praticienToAdd.PrixConsultation; } if (!string.IsNullOrEmpty(praticienToAdd.Fax)) { praticien.Fax = praticienToAdd.Fax; } if (!string.IsNullOrEmpty(praticienToAdd.Publication)) { praticien.Publication = praticienToAdd.Publication; } if (!string.IsNullOrEmpty(praticienToAdd.Specialite)) { praticien.Specialite = praticienToAdd.Specialite; } _praticienRepository.Update(praticien); Logger.LogInfo("Patch New Praticien : End --- Status = OK, Message= {1}"); return (new Return <PraticienResultDataModel>().OK() .WithResult(new PraticienResultDataModel { Cin = praticien.Cin, Adresse = praticien.Adresse, Email = praticien.Email, NomPrenom = praticien.NomPrenom, Telephone = praticien.Telephone, Delegation = praticien.Delegation, Fax = praticien.Fax, Gouvernerat = praticien.Gouvernerat, Specialite = praticien.Specialite })); }