コード例 #1
0
        private static RealEstateContinuiousNumberAttributeValues GetAttributeValues(RealEstateNumberType realEstateNumberType)
        {
            //TODO: Create RealEstateRangesLocator and Get it From it to modify values from db and it can be configurable
            Type   type;
            double min;
            double max;

            switch (realEstateNumberType)
            {
            case RealEstateNumberType.RoomCount:
                min = RealEstateRanges.Bedrooms.From;
                max = RealEstateRanges.Bedrooms.To;
                break;

            case RealEstateNumberType.UnitCount:
            case RealEstateNumberType.Floors:
                throw new NotSupportedException($"{realEstateNumberType} is not supported in this Attribute,consider using the RealEstateDiscreteNumberAttribute");


            case RealEstateNumberType.Area:
                min = RealEstateRanges.RealEstateNumberMin;
                max = RealEstateRanges.Area.To;
                break;

            case RealEstateNumberType.Latitude:
                min = RealEstateRanges.LatMin;
                max = RealEstateRanges.LatMax;
                break;

            case RealEstateNumberType.Longtitude:
                min = RealEstateRanges.LngMin;
                max = RealEstateRanges.LngMax;
                break;

            case RealEstateNumberType.Price:
                type = typeof(double);
                min  = RealEstateRanges.PositiveMustExistMin;
                max  = RealEstateRanges.PriceMax;
                break;


            default:

                min = RealEstateRanges.PositiveMustExistMin;
                max = RealEstateRanges.RealEstateNumberDefaultMax;
                break;
            }
            RealEstateContinuiousNumberAttributeValues realEstateNumberAttributeValues = new RealEstateContinuiousNumberAttributeValues()
            {
                Min = min,
                Max = max
            };

            return(realEstateNumberAttributeValues);
        }
コード例 #2
0
        private static RealEstateDiscreteNumberAttributeValues GetAttributeValues(RealEstateNumberType realEstateNumberType)
        {
            Type type;
            int  min;
            int  max;

            switch (realEstateNumberType)
            {
            case RealEstateNumberType.Price:
            case RealEstateNumberType.Latitude:
            case RealEstateNumberType.Longtitude:
            case RealEstateNumberType.Area:
                throw new NotSupportedException($"{realEstateNumberType} is not supported in this Attribute,consider using the RealEstateContinousNumberAttribute");


            case RealEstateNumberType.Floors:
                type = typeof(int);
                min  = RealEstateRanges.PositiveMustExistMin;
                max  = RealEstateRanges.FloorsMax;
                break;

            case RealEstateNumberType.RoomCount:
                type = typeof(double);
                min  = RealEstateRanges.PositiveMustExistMin;
                max  = RealEstateRanges.RoomCountMax;
                break;

            case RealEstateNumberType.UnitCount:
                type = typeof(double);
                min  = RealEstateRanges.PositiveMustExistMin;
                max  = RealEstateRanges.RoomCountMax;
                break;

            default:
                type = typeof(int);
                min  = RealEstateRanges.PositiveMustExistMin;
                max  = RealEstateRanges.RealEstateNumberDefaultMax;
                break;
            }
            RealEstateDiscreteNumberAttributeValues realEstateNumberAttributeValues = new RealEstateDiscreteNumberAttributeValues()
            {
                Min = min,
                Max = max
            };

            return(realEstateNumberAttributeValues);
        }
コード例 #3
0
 private void SetupMessage(RealEstateNumberType realEstateNumberType)
 {
     throw new NotImplementedException();
 }
コード例 #4
0
 private RealEstateDiscreteNumberAttribute(RealEstateNumberType realEstateNumberType, Type type, string min, string max) : base(type, min, max)
 {
     SetupMessage(realEstateNumberType);
 }
コード例 #5
0
 public RealEstateDiscreteNumberAttribute(RealEstateNumberType realEstateNumberType) : base(GetAttributeValues(realEstateNumberType).Min, GetAttributeValues(realEstateNumberType).Max)
 {
     this.ErrorMessage = ErrorMessages.RealEstateNumberValidationMessage;
 }