public AddressModel GetOrganisationAddressModel(Organisation org, DateTime?maxDate = null, AddressStatuses status = AddressStatuses.Active) { var address = GetOrganisationAddress(org, maxDate, status); return(address == null ? null : AddressModel.Create(address)); }
/// <summary> /// Returns the latest organisation name before specified date/time /// </summary> /// <param name="accountingDate">Ignore name changes after this date/time - if empty returns the latest name</param> /// <returns>The name of the organisation</returns> public string GetAddressString(DateTime accountingDate, AddressStatuses status = AddressStatuses.Active, string delimiter = ", ") { var address = GetAddress(accountingDate, status); return(address?.GetAddressString(delimiter)); }
public void SetStatus(AddressStatuses status, long byUserId, string details = null, DateTime?statusDate = null) { if (status == Status && details == StatusDetails && statusDate == null) { return; } if (statusDate == null || statusDate == DateTime.MinValue) { statusDate = VirtualDateTime.Now; } AddressStatuses.Add( new AddressStatus { AddressId = AddressId, Status = status, StatusDate = statusDate.Value, StatusDetails = details, ByUserId = byUserId }); Status = status; StatusDate = statusDate.Value; StatusDetails = details; }
public void SetStatus(AddressStatuses status, long byUserId, string details = null) { if (status == Status && details == StatusDetails) { return; } AddressStatuses.Add(new AddressStatus() { AddressId = this.AddressId, Status = status, StatusDate = DateTime.Now, StatusDetails = details, ByUserId = byUserId }); Status = status; StatusDate = DateTime.Now; StatusDetails = details; }
public OrganisationAddress GetLatestAddress(AddressStatuses status = AddressStatuses.Active) { var addressStatus = OrganisationAddresses.SelectMany(a => a.AddressStatuses.Where(s => s.Status == status)) .OrderByDescending(s => s.StatusDate) .FirstOrDefault(); if (addressStatus != null && addressStatus.Address.Status == status) { return(addressStatus.Address); } if (LatestAddress != null && LatestAddress.Status == status) { return(LatestAddress); } return(null); }
public OrganisationAddress FindAddress(Organisation org, AddressStatuses status = AddressStatuses.Active) { return(org.OrganisationAddresses.FirstOrDefault(a => a.Status == status && Equals(a))); }
/// <summary> /// Returns the latest organisation name before specified date/time /// </summary> /// <param name="maxDate">Ignore name changes after this date/time - if empty returns the latest name</param> /// <returns>The name of the organisation</returns> public string GetOrganisationAddressString(Organisation organisation, DateTime?maxDate = null, AddressStatuses status = AddressStatuses.Active, string delimiter = ", ") { var address = GetOrganisationAddress(organisation, maxDate, status); return(address?.GetAddressString(delimiter)); }
/// <summary> /// Returns the latest address before specified date/time /// </summary> /// <param name="maxDate">Ignore address changes after this date/time - if empty returns the latest address</param> /// <returns>The address of the organisation</returns> public OrganisationAddress GetOrganisationAddress(Organisation organisation, DateTime?maxDate = null, AddressStatuses status = AddressStatuses.Active) { if (maxDate == null || maxDate.Value == DateTime.MinValue) { maxDate = _sharedBusinessLogic.GetAccountingStartDate(organisation.SectorType).AddYears(1); } if (status == AddressStatuses.Active && organisation.LatestAddress != null && maxDate == _sharedBusinessLogic.GetAccountingStartDate(organisation.SectorType).AddYears(1)) { return(organisation.LatestAddress); } return(organisation.GetAddress(maxDate.Value)); }
public void ReadAddressStatusEnity(XmlReader reader) { XmlSerializer serializer = new XmlSerializer(typeof(AddressStatuses)); AddressStatuses addressStatuses = (AddressStatuses)serializer.Deserialize(reader); var table = addressStatuses.CreateDataTable(addressStatuses.AddressStatusList); }