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); }
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); }
private void SetupMessage(RealEstateNumberType realEstateNumberType) { throw new NotImplementedException(); }
private RealEstateDiscreteNumberAttribute(RealEstateNumberType realEstateNumberType, Type type, string min, string max) : base(type, min, max) { SetupMessage(realEstateNumberType); }
public RealEstateDiscreteNumberAttribute(RealEstateNumberType realEstateNumberType) : base(GetAttributeValues(realEstateNumberType).Min, GetAttributeValues(realEstateNumberType).Max) { this.ErrorMessage = ErrorMessages.RealEstateNumberValidationMessage; }