/// <summary> /// Задать кратность визы /// </summary> /// <param name="visaMultiplicity">Кратность визы</param> internal void SetVisaMultiplicity(VisaMultiplicity visaMultiplicity) { if (VisaMultiplicity == visaMultiplicity) { return; } VisaMultiplicity = visaMultiplicity; }
/// <summary> /// Создать лог деталей визита /// </summary> /// <param name="goal">Цель визита</param> /// <param name="country">Страна визита</param> /// <param name="visitingPoints">Пункты посещения</param> /// <param name="period">Период пребывания</param> /// <param name="arrivalDate">Дата прибытия</param> /// <param name="departureDate">Дата отъезда</param> /// <param name="visaType">Тип визы</param> /// <param name="visaCity">Город получения визы</param> /// <param name="visaCountry">Страна получения визы</param> /// <param name="visaMultiplicity">Кратность визы</param> /// <param name="revisionNumber">Номер ревизии</param> /// <returns>Идентификатор лога деталей визита</returns> public Guid Create( string goal, string country, string visitingPoints, TimeSpan period, DateTime arrivalDate, DateTime departureDate, string visaType, string visaCity, string visaCountry, VisaMultiplicity visaMultiplicity, long revisionNumber) { Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(goal, nameof(goal)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(country, nameof(country)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visitingPoints, nameof(visitingPoints)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaType, nameof(visaType)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCity, nameof(visaCity)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCountry, nameof(visaCountry)); Contract.Argument.IsValidIf(period.Days > 0, $"{nameof(period.Days)} > 0"); Contract.Argument.IsValidIf(revisionNumber > 0, $"{nameof(revisionNumber)} > 0"); Contract.Argument.IsValidIf(arrivalDate < departureDate, $"{nameof(arrivalDate)}:{arrivalDate} < {nameof(departureDate)}:{departureDate}"); var createdVisitDetailLog = _context.Set <VisitDetailLog>().Create(); var id = _idGenerator.Generate(); createdVisitDetailLog.Initialize( id: id, goal: goal, country: country, visitingPoints: visitingPoints, period: period, arrivalDate: arrivalDate, departureDate: departureDate, visaType: visaType, visaCity: visaCity, visaCountry: visaCountry, visaMultiplicity: visaMultiplicity, revisionNumber: revisionNumber); var newVisitDetailLog = _context.Set <VisitDetailLog>().Add(createdVisitDetailLog); return(newVisitDetailLog.Id); }
/// <summary> /// Создать детали визита /// </summary> /// <param name="goal">Цель визита</param> /// <param name="country">Страна визита</param> /// <param name="visitingPoints">Пункты посещения</param> /// <param name="period">Период пребывания</param> /// <param name="arrivalDate">Дата прибытия</param> /// <param name="departureDate">Дата отъезда</param> /// <param name="visaType">Тип визы</param> /// <param name="visaCity">Город получения визы</param> /// <param name="visaCountry">Страна получения визы</param> /// <param name="visaMultiplicity">Кратность визы</param> /// <returns>Идентификатор деталей визита</returns> public VisitDetail Create( Guid invitationId, string goal, string country, string visitingPoints, long periodDays, DateTime arrivalDate, DateTime departureDate, string visaType, string visaCity, string visaCountry, VisaMultiplicity visaMultiplicity) { Contract.Argument.IsNotEmptyGuid(invitationId, nameof(invitationId)); Contract.Argument.IsValidIf(periodDays > 0, $"{nameof(periodDays)} > 0"); Contract.Argument.IsValidIf(arrivalDate < departureDate, $"{nameof(arrivalDate)}:{arrivalDate} < {nameof(departureDate)}:{departureDate}"); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(goal, nameof(goal)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(country, nameof(country)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visitingPoints, nameof(visitingPoints)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaType, nameof(visaType)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCity, nameof(visaCity)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCountry, nameof(visaCountry)); var createdVisitDetail = _context.Set <VisitDetail>().Create(); var id = _idGenerator.Generate(); createdVisitDetail.Initialize( id: id, invitationId: invitationId, goal: goal, country: country, visitingPoints: visitingPoints, periodDays: periodDays, arrivalDate: arrivalDate, departureDate: departureDate, visaType: visaType, visaCity: visaCity, visaCountry: visaCountry, visaMultiplicity: visaMultiplicity); var newVisitDetail = _context.Set <VisitDetail>().Add(createdVisitDetail); return(newVisitDetail); }
/// <summary> /// Инициализировать логи деталей визита /// </summary> /// <param name="id">Идентификатор</param> /// <param name="goal">Цель визита</param> /// <param name="country">Страна визита</param> /// <param name="visitingPoints">Посещаемые пункты</param> /// <param name="period">Период пребывания</param> /// <param name="arrivalDate">Дата пребытия</param> /// <param name="departureDate">Дата депортации</param> /// <param name="visaType">Тип визы</param> /// <param name="visaCity">Город получения визы</param> /// <param name="visaCountry">Страна получения визы</param> /// <param name="visaMultiplicity">Кратность визы</param> public void Initialize( Guid id, string goal, string country, string visitingPoints, TimeSpan period, DateTime arrivalDate, DateTime departureDate, string visaType, string visaCity, string visaCountry, VisaMultiplicity visaMultiplicity, long revisionNumber) { Contract.Argument.IsNotEmptyGuid(id, nameof(id)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(goal, nameof(goal)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(country, nameof(country)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visitingPoints, nameof(visitingPoints)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaType, nameof(visaType)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCity, nameof(visaCity)); Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCountry, nameof(visaCountry)); Contract.Argument.IsValidIf(revisionNumber > 0, $"{nameof(revisionNumber)} > 0"); Contract.Argument.IsValidIf(period.Days > 0, $"{nameof(period.Days)} > 0"); Contract.Argument.IsValidIf(arrivalDate < departureDate, $"{nameof(arrivalDate)}:{arrivalDate} < {nameof(departureDate)}:{departureDate}"); Id = id; Goal = goal; Country = country; VisitingPoints = visitingPoints; Period = period; ArrivalDate = arrivalDate; DepartureDate = departureDate; VisaType = visaType; VisaCity = visaCity; VisaCountry = visaCountry; VisaMultiplicity = visaMultiplicity; RevisionNumber = revisionNumber; }
/// <summary> /// Инициализировать детали визита /// </summary> /// <param name="id">Идентификатор</param> /// <param name="invitationId">Идентификатор приглашения</param> /// <param name="goal">Цель визита</param> /// <param name="country">Страна визита</param> /// <param name="visitingPoints">Посещаемые пункты</param> /// <param name="period">Период пребывания</param> /// <param name="arrivalDate">Дата пребытия</param> /// <param name="departureDate">Дата депортации</param> /// <param name="visaType">Тип визы</param> /// <param name="visaCity">Город получения визы</param> /// <param name="visaCountry">Страна получения визы</param> /// <param name="visaMultiplicity">Кратность визы</param> internal void Initialize( Guid id, Guid invitationId, string goal, string country, string visitingPoints, long periodDays, DateTime arrivalDate, DateTime departureDate, string visaType, string visaCity, string visaCountry, VisaMultiplicity visaMultiplicity) { /*Contract.Argument.IsValidIf(Id != id, $"{Id} (current) != {id} (new)"); * Contract.Argument.IsNotEmptyGuid(id, nameof(id)); * Contract.Argument.IsNotEmptyGuid(invitationId, nameof(invitationId)); * Contract.Argument.IsValidIf(periodDays > 0, $"{nameof(periodDays)} > 0"); * Contract.Argument.IsValidIf(arrivalDate < departureDate, $"{nameof(arrivalDate)}:{arrivalDate} < {nameof(departureDate)}:{departureDate}"); * Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(goal, nameof(goal)); * Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(country, nameof(country)); * Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visitingPoints, nameof(visitingPoints)); * Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaType, nameof(visaType)); * Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCity, nameof(visaCity)); * Contract.Argument.IsNotNullOrEmptyOrWhiteSpace(visaCountry, nameof(visaCountry));*/ Id = id; SetInvitationId(invitationId); SetGoal(goal); SetCountry(country); SetVisitingPoints(visitingPoints); SetArrivalDate(arrivalDate); SetDepartureDate(departureDate); SetPeriodDays(periodDays); SetVisaCountry(country); SetVisaCity(visaCity); SetVisaType(visaType); SetVisaMultiplicity(VisaMultiplicity); }