public void CreateHoliday_MustCreateInstaceOfHoliday(string id, string status, string typeProcess, string user, string country, string state, string date, string type, bool optional, string nativeDescription, string alternativeDescription, string countryCode, string stateCode, string cityName, string cityCode) { // Arrange Holiday holiday; Guid entityId = string.IsNullOrEmpty(id) ? Guid.Empty : Guid.Parse(id); EntityStatus entityStatus = EntityStatus.GetByName(status); ActionType action = ActionType.GetByName(typeProcess); Guid userId = string.IsNullOrEmpty(user) ? Guid.Empty : Guid.Parse(user); Guid countryId = string.IsNullOrEmpty(country) ? Guid.Empty : Guid.Parse(country); Guid stateId = string.IsNullOrEmpty(state) ? Guid.Empty : Guid.Parse(state); DateTime holidayDate = DateTime.Parse(date); HolidayType holidayType = HolidayType.GetByName(type); // Act holiday = Holiday.CreateHoliday(entityId, entityStatus, action, userId, countryId, stateId, holidayDate, holidayType, optional, nativeDescription, alternativeDescription, countryCode, stateCode, cityName, cityCode); // Assert Assert.NotNull(holiday); Assert.True(holiday.Id != entityId && holiday.Status == entityStatus && holiday.Action == action && (holiday.RegisteredBy == userId || holiday.ModifiedBy == userId) && holiday.CountryId == countryId && holiday.StateId == stateId && holiday.HolidayDate == holidayDate && holiday.HolidayType == holidayType && holiday.Optional == optional && holiday.NativeDescription == nativeDescription && holiday.AlternativeDescription == alternativeDescription && holiday.CountryCode == countryCode && holiday.StateCode == stateCode && holiday.CityName == cityName && holiday.CityCode == cityCode); }
private static List <Holiday> GetHolidaysFromRules(INotificationHandler notificationHandler, List <RuleHoliday> rulesHolidays, int start, int end, int year, IUserLogged userLogged) { List <Holiday> holidays = null; if (rulesHolidays != null && rulesHolidays.Count() > 0) { holidays = new List <Holiday>(); try { Guid userId = userLogged.GetUserId(); RuleHoliday ruleHoliday = null; DateTime? holidayDate = null; for (int i = start, j = end; i < j; i++) { ruleHoliday = rulesHolidays[i]; holidayDate = null; if (ruleHoliday.BussinessRule.HasValue()) { if (!ApplyBusinessRuleForDate(notificationHandler, ruleHoliday, year, out holidayDate)) { ApplyBusinessRuleForTime(notificationHandler, ruleHoliday, year, out holidayDate); } } else { if (ruleHoliday.Month.HasValue && ruleHoliday.Day.HasValue) { holidayDate = new DateTime(year, ruleHoliday.Month.Value, ruleHoliday.Day.Value); } } if (holidayDate == null) { var notification = new DomainNotification(ruleHoliday.Id.ToString(), $"O feriado {ruleHoliday.NativeHolidayName} do {ruleHoliday.CountryIsoCode} não tem data."); notificationHandler.NotifyError(notification); } else { var holiday = Holiday.CreateHoliday(null, EntityStatus.Active, ActionType.Register, userId, ruleHoliday.CountryId, ruleHoliday.StateId, holidayDate.Value, ruleHoliday.HolidayType, ruleHoliday.Optional, ruleHoliday.NativeHolidayName, ruleHoliday.EnglishHolidayName, ruleHoliday.CountryIsoCode, ruleHoliday.StateIsoCode, ruleHoliday.CityName, ruleHoliday.CityCode); holidays.Add(holiday); } } } catch (Exception ex) { throw ex; } } return(holidays); }
public void EqualsCore_RulesMustBeEquals_False() { // Arrange Holiday holidayA, holidayB; // Act holidayA = Holiday.CreateHoliday(null, EntityStatus.Active, ActionType.Register, Guid.Parse("41408960-a65f-42ea-93c0-e320a1bc7060"), Guid.Parse("41408960-a65f-42ea-93c0-e320a1bc7060"), Guid.Parse("41408960-a65f-42ea-93c0-e320a1bc7080"), DateTime.Parse("2020/10/04"), HolidayType.Local, false, "Native Description", "alternativeDescription", "BRA", "RJ", "Rio de Janeiro", "3304557"); holidayB = Holiday.CreateHoliday(null, EntityStatus.Active, ActionType.Register, Guid.Parse("41408960-a65f-42ea-93c0-e320a1bc7060"), Guid.Parse("41408960-a65f-42ea-93c0-e320a1bc7060"), Guid.Parse("41408960-a65f-42ea-93c0-e320a1bc8070"), DateTime.Parse("2020/10/04"), HolidayType.Local, false, "Native Description", "alternativeDescription", "BRA", "RJ", "Rio de Janeiro", "3304557"); // Assert Assert.NotEqual(holidayA, holidayB); Assert.True(holidayA != holidayB); }