public CulturalExchange Add(CulturalExchange culturalExchange) { culturalExchange.Id = Guid.NewGuid(); culturalExchange.Available = true; if (_culturalExchangeRepository.FindByFilter(x => x.StudentId == culturalExchange.StudentId).FirstOrDefault() != null) { return(culturalExchange); } if (culturalExchange.AccomodationId == Guid.Empty) { culturalExchange.AccomodationId = null; } culturalExchange.ValidationResult = new List <ValidationResult>(); bool ValueHigherThanCourseValue = new CulturalExchangeValueHigherThanCourseValue(_culturalExchangeRepository, _collegeTimeRepository) .IsSatisfiedBy(culturalExchange); bool validateDateArriveAndStart = new CulturalExchangeValidateDateArriveAndStart().IsSatisfiedBy(culturalExchange); if (!culturalExchange.ValidationResult.Any()) { _culturalExchangeRepository.Insert(culturalExchange); } else { return(culturalExchange); } bool accomodationDateAvailable = new CulturalExchangeValidateAccomodationDateAvailable(_accomodationRepository) .IsSatisfiedBy(culturalExchange); if (!accomodationDateAvailable) { if (culturalExchange.ValidationResult.Count == 1) { culturalExchange.ValidationResult.Add(new ValidationResult("Cultural exchange included but: Accomodation FULL for dates")); } } return(culturalExchange); }
public CulturalExchange Update(Guid idEnvironment, CulturalExchange culturalExchange) { if (culturalExchange.AccomodationId == Guid.Empty) { culturalExchange.AccomodationId = null; } culturalExchange.ValidationResult = new List <ValidationResult>(); bool ValueHigherThanCourseValue = new CulturalExchangeValueHigherThanCourseValue(_culturalExchangeRepository, _collegeTimeRepository) .IsSatisfiedBy(culturalExchange); bool validateDateArriveAndStart = new CulturalExchangeValidateDateArriveAndStart().IsSatisfiedBy(culturalExchange); if (!culturalExchange.ValidationResult.Any()) { _culturalExchangeRepository.Update(culturalExchange); } else { return(culturalExchange); } bool accomodationDateAvailable = new CulturalExchangeValidateAccomodationDateAvailable(_accomodationRepository) .IsSatisfiedBy(culturalExchange); if (!accomodationDateAvailable) { if (culturalExchange.ValidationResult.Count == 1) { culturalExchange.ValidationResult.Add(new ValidationResult("Cultural exchange included but: Accomodation FULL for dates")); } } return(culturalExchange); }