Exemple #1
0
        /// <summary>
        /// To initialize the class member
        /// </summary>
        /// <param name="licenseNumber">The name</param>
        /// <param name="ownerName">The owner name</param>
        /// <param name="address">The adderss</param>
        /// <param name="category">The category</param>
        /// <param name="model">The model</param>
        /// <param name="expiryDate">The expiry date</param>
        public Vehicle(string licenseNumber, string ownerName, string address, string category, string model, string expiryDate)
        {
            if (!DataValidation.IsValid(licenseNumber, Patterns.VehicleLicenseNumber))
            {
                throw new ArgumentException("Invalid Vehicle License Number");
            }
            if (!DataValidation.IsValid(ownerName, Patterns.CharecterWithSpace))
            {
                throw new ArgumentException("Invalid name format");
            }
            if (!DataValidation.IsValid(address, Patterns.CharecterDigitAndSpace))
            {
                throw new ArgumentException("Invalid address format");
            }
            if (!DataValidation.IsContain(category, Patterns.VehicleCategorys))
            {
                throw new ArgumentException("Invalid vehicle category");
            }
            if (!DataValidation.IsValid(model, Patterns.CharecterDigitAndSpace))
            {
                throw new ArgumentException("Invalid vehicle model formate");
            }
            if (!DataValidation.IsValid(expiryDate, Patterns.Date))
            {
                throw new ArgumentException("Invalid expiry date formate");
            }

            _licenseNumber = licenseNumber;
            _ownerName     = ownerName;
            _addess        = address;
            _category      = category;
            _model         = model;
            _expiryDate    = expiryDate;
        }
        /// <summary>
        /// To initialize the class members
        /// </summary>
        /// <param name="licenseNumber">The DL number</param>
        /// <param name="name">The name</param>
        /// <param name="address">The Address</param>
        /// <param name="dateOfBirth">The Date Of Birth</param>
        /// <param name="dateOfIssue">The Date Of Issue</param>
        /// <param name="category">The License Category</param>
        public Driver(string licenseNumber, string name, string address, string dateOfBirth, string dateOfIssue, string category)
        {
            if (!DataValidation.IsValid(licenseNumber, Patterns.DrivingLicenseNumber))
            {
                throw new ArgumentException("Invalid Driver License Id");
            }
            if (!DataValidation.IsValid(name, Patterns.CharecterWithSpace))
            {
                throw new ArgumentException("Invalid Name");
            }
            if (!DataValidation.IsValid(address, Patterns.CharecterDigitAndSpace))
            {
                throw new ArgumentException("Invalid Address");
            }
            if (!DataValidation.IsValid(dateOfBirth, Patterns.Date))
            {
                throw new ArgumentException("Invalid DOB Formate");
            }
            if (!DataValidation.IsValidAge(dateOfBirth))
            {
                throw new ArgumentException("Invalid DOB Formate");
            }
            if (!DataValidation.IsValid(dateOfIssue, Patterns.Date))
            {
                throw new ArgumentException("Invalid DOI Formate");
            }
            if (!DataValidation.IsNotFutureDate(dateOfIssue))
            {
                throw new ArgumentException("Invalid DOI");
            }
            if (!DataValidation.IsContain(category, Patterns.DrivingLicenseCategorys))
            {
                throw new ArgumentException("License Category Is Not Found");
            }

            _licenseNumber = licenseNumber;
            _name          = name;
            _address       = address;
            _dateOfBirth   = dateOfBirth;
            _dateOfIssue   = dateOfIssue;
            _category      = category;
        }