public object GetDisplayObject(Entities.TourCostRuleConstraintPropertyCollection properties) { Entities.ConstraintTourTime time = new Entities.ConstraintTourTime(); foreach (Entities.TourCostRuleConstraintProperty property in properties) { TypeIds type = (TypeIds)property.TypeId; switch (type) { case TypeIds.StartHour: time.StartTime.Hour = (int)property.Value; break; case TypeIds.StartMinute: time.StartTime.Minute = (int)property.Value; break; case TypeIds.EndHour: time.EndTime.Hour = (int)property.Value; break; case TypeIds.EndMinute: time.EndTime.Minute = (int)property.Value; break; } } return(time); }
public bool GetProperties(object displayObject, Entities.TourCostRuleConstraint con) { Entities.ConstraintTourTime time = (Entities.ConstraintTourTime)displayObject; con.Properties.Clear(); Entities.TourCostRuleConstraintProperty property; property = new Entities.TourCostRuleConstraintProperty(); property.TypeId = (int)TypeIds.StartHour; property.Value = time.StartTime.Hour; con.Properties.Add(property); property = new Entities.TourCostRuleConstraintProperty(); property.TypeId = (int)TypeIds.StartMinute; property.Value = time.StartTime.Minute; con.Properties.Add(property); property = new Entities.TourCostRuleConstraintProperty(); property.TypeId = (int)TypeIds.EndHour; property.Value = time.EndTime.Hour; con.Properties.Add(property); property = new Entities.TourCostRuleConstraintProperty(); property.TypeId = (int)TypeIds.EndMinute; property.Value = time.EndTime.Minute; con.Properties.Add(property); con.Name = GenerateName(time); return(true); return(false); }
private string GenerateName(Entities.ConstraintTourTime time) { return(string.Format("Tour time: [{0}:{1}] to [{2}:{3}]", time.StartTime.Hour < 0 ? "Hour" : time.StartTime.Hour.ToString(), time.StartTime.Minute < 0 ? "Minute" : time.StartTime.Minute.ToString(), time.EndTime.Hour < 0 ? "Hour" : time.EndTime.Hour.ToString(), time.EndTime.Minute < 0 ? "Minute" : time.EndTime.Minute.ToString() )); }
public bool Matches(Entities.Tour tour, ITourService service, Entities.TourCostDetail detail, Entities.TourCostRuleConstraint constraint) { bool res = false; Entities.ConstraintTourTime time = (Entities.ConstraintTourTime) this.mapper.GetDisplayObject(constraint.Properties); if (time != null) { if (time.StartTime.Hour >= 0) { if (tour.Time.Time.Hour < time.StartTime.Hour) { // Hour value of tour is // less than min of the rule return(res); } else if (tour.Time.Time.Hour == time.StartTime.Hour) { if (time.StartTime.Minute >= 0 && time.StartTime.Minute > tour.Time.Time.Minute) { // hours value are equal but // minutes value of tour is // less than min of rule return(res); } } } else if (time.StartTime.Minute >= 0) { if (time.StartTime.Minute > tour.Time.Time.Minute) { // hours value are equal but // minutes value of tour is // less than min of rule return(res); } } if (time.EndTime.Hour >= 0) { if (tour.Time.Time.Hour > time.EndTime.Hour) { // Hour value of tour is // after max of the rule return(res); } else if (tour.Time.Time.Hour == time.EndTime.Hour) { if (time.EndTime.Minute >= 0 && time.EndTime.Minute > tour.Time.Time.Minute) { // hours value are equal but // minutes value of tour is // less than min of rule return(res); } } } else if (time.EndTime.Minute >= 0) { if (time.EndTime.Minute > tour.Time.Time.Minute) { // hours value are equal but // minutes value of tour is // less than min of rule return(res); } } res = true; } return(res); }