示例#1
0
        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);
        }
示例#2
0
        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());
            }
        }
示例#3
0
        /// <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);
        }
示例#4
0
        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
            }));
        }