예제 #1
0
        public DoctorValidator(IUserrRepository userRep, IDoctorRepository doctorRep)
        {
            _userRep   = userRep;
            _doctorRep = doctorRep;

            RuleFor(x => x.id).Null().Must(r =>
            {
                var result = Task.Run(async() => await _doctorRep.Get_Doctor_Byid(r)).Result;
                return(result != null);
            }).WithMessage("This id is not Exist!");

            RuleFor(x => x.Userid).NotEmpty().WithMessage("Userid is required").NotNull().Must(r =>
            {
                var result = Task.Run(async() => await _userRep.Check_User_ById(r)).Result;
                return(result != null);
            }).WithMessage("This Userid is not Exist!").Must(r =>
            {
                var result = Task.Run(async() => await _doctorRep.Get_Doctor_ByUserid(r)).Result;
                return(result == null);
            }).WithMessage("This Userid is already a Doctor!");


            RuleFor(x => x.Address1).NotEmpty().WithMessage("Address1 is required").NotNull();
            RuleFor(x => x.Address2).NotEmpty().WithMessage("Address2 is required").NotNull();
        }
예제 #2
0
        public AccountService(DataContext context,
                              IUserrRepository userRep,
                              IHttpContextAccessor httpContextAccessor

                              )
        {
            _userRep             = userRep;
            _context             = context;
            _httpContextAccessor = httpContextAccessor;
        }
예제 #3
0
 public AdminService(DataContext context,
                     IUserrRepository userRep,
                     IDoctorRepository drRep,
                     ICompanyRepository companyRep,
                     IMedicineRepository medicineRep,
                     IFileRepository fileRep,
                     IRoleRepository roleRep)
 {
     _userRep     = userRep;
     _drRep       = drRep;
     _companyRep  = companyRep;
     _medicineRep = medicineRep;
     _fileRep     = fileRep;
     _roleRep     = roleRep;
     _context     = context;
 }
예제 #4
0
 public DoctorService(DataContext context,
                      IUserrRepository userRep,
                      IDoctorRepository drRep,
                      IEmployeeRepository employeeRep,
                      IRoleRepository RoleRep,
                      IPrescriptionRepository prescriptionRep,
                      IRecordsRepository recordRep
                      )
 {
     _userRep         = userRep;
     _employeeRep     = employeeRep;
     _RoleRep         = RoleRep;
     _prescriptionRep = prescriptionRep;
     _recordRep       = recordRep;
     _context         = context;
 }
예제 #5
0
        public UserValidator(IUserrRepository userRep)
        {
            _userRep = userRep;

            RuleFor(x => x.FirstName).NotEmpty().WithMessage("FisrtName is required").NotNull().MaximumLength(15).WithMessage("Name Length cant be more than 15").Matches("^[a-zA-Z]*$").WithMessage("FirstName should only contain alphanumeric characters");

            RuleFor(x => x.LastName).NotEmpty().WithMessage("LastName is required").NotNull().Matches("^[a-zA-Z]*$").WithMessage("LastName should only contain alphanumeric characters");

            RuleFor(x => x.Email).NotEmpty().WithMessage("Email is required").NotNull().EmailAddress().Must(r => {
                var result = Task.Run(async() => await _userRep.Check_User_ByEmail(r)).Result;
                return(result == null);
            }).WithMessage("This Email is already Exist!");

            RuleFor(x => x._Login).NotEmpty().WithMessage("Login_Name is required").NotNull().Must(r => {
                var result = Task.Run(async() => await _userRep.Check_User_ByName(r)).Result;
                return(result == null);
            }).WithMessage("This Login_Name is already Exist!");

            RuleFor(x => x.phonenumber).NotEmpty().NotNull().WithMessage("Phone is required").Matches(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$").WithMessage("Not a valid phone number");

            RuleFor(x => x.pwd).NotEmpty().NotNull().WithMessage("Password is required").NotNull().MaximumLength(100).MinimumLength(8)
            .WithMessage("The password should at least contain 8 Charachters").Matches("^((?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])|(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^a-zA-Z0-9])|(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])).{8,}$").WithMessage("Passwords must be at least 8 characters and contain at 3 of 4 of the following: upper case (A-Z), lower case (a-z), number (0-9) and special character (e.g. !@#$%^&*)");
        }