diff --git a/Core.Abstractions/Core.Abstractions.csproj b/Core.Abstractions/Core.Abstractions.csproj index 0ac860d89e..064d970b75 100644 --- a/Core.Abstractions/Core.Abstractions.csproj +++ b/Core.Abstractions/Core.Abstractions.csproj @@ -49,6 +49,7 @@ + diff --git a/Core.Abstractions/Extensions/ObjectExtensions.cs b/Core.Abstractions/Extensions/ObjectExtensions.cs index 5c7c9e2306..6b33073616 100644 --- a/Core.Abstractions/Extensions/ObjectExtensions.cs +++ b/Core.Abstractions/Extensions/ObjectExtensions.cs @@ -11,6 +11,11 @@ public static Maybe FromNullable(this T src) return src == null ? Maybe.None : Maybe.Some(src); } + public static Maybe FromNullableValueType(this T? src) where T:struct + { + return src == null ? Maybe.None : Maybe.Some(src.Value); + } + public static Maybe FromString(this string src) { return string.IsNullOrEmpty(src) ? Maybe.None : src; diff --git a/Core.Abstractions/Types/DetailedOperationError.cs b/Core.Abstractions/Types/DetailedOperationError.cs new file mode 100644 index 0000000000..e321d85c36 --- /dev/null +++ b/Core.Abstractions/Types/DetailedOperationError.cs @@ -0,0 +1,13 @@ +namespace Core.Abstractions.Types +{ + public class DetailedOperationError : OperationError + { + public DetailedOperationError(OperationFailure failureType, TDetail detail, string message = null) + : base(message, failureType) + { + Detail = detail; + } + + public TDetail Detail { get; } + } +} diff --git a/Core.ApplicationServices/AdviceService.cs b/Core.ApplicationServices/AdviceService.cs index 603ac3401d..722ff34c57 100644 --- a/Core.ApplicationServices/AdviceService.cs +++ b/Core.ApplicationServices/AdviceService.cs @@ -170,10 +170,10 @@ private bool DispatchEmails(Advice advice) case RecieverType.RECIEVER: switch (r.RecpientType) { - case RecieverType.USER: + case RecipientType.USER: AddRecipientByName(r, message.To); break; - case RecieverType.ROLE: + case RecipientType.ROLE: AddRecipientByRole(advice, r, message.To); break; } @@ -181,10 +181,10 @@ private bool DispatchEmails(Advice advice) case RecieverType.CC: switch (r.RecpientType) { - case RecieverType.USER: + case RecipientType.USER: AddRecipientByName(r, message.CC); break; - case RecieverType.ROLE: + case RecipientType.ROLE: AddRecipientByRole(advice, r, message.CC); break; } @@ -223,9 +223,9 @@ private bool DispatchEmails(Advice advice) private static void AddRecipientByName(AdviceUserRelation r, MailAddressCollection mailAddressCollection) { - if (!string.IsNullOrEmpty(r.Name)) + if (!string.IsNullOrEmpty(r.Email)) { - mailAddressCollection.Add(r.Name); + mailAddressCollection.Add(r.Email); } } @@ -234,20 +234,21 @@ private void AddRecipientByRole(Advice advice, AdviceUserRelation r, MailAddress switch (advice.Type) { case RelatedEntityType.itContract: - var itContractRoles = _itContractRights.AsQueryable().Where(I => I.ObjectId == advice.RelationId - && I.Role.Name == r.Name); + && I.RoleId == r.ItContractRoleId); foreach (var t in itContractRoles) { + if(t.User.Deleted) continue; mailAddressCollection.Add(t.User.Email); } break; case RelatedEntityType.itProject: var projectRoles = _itProjectRights.AsQueryable().Where(I => I.ObjectId == advice.RelationId - && I.Role.Name == r.Name); + && I.RoleId == r.ItProjectRoleId); foreach (var t in projectRoles) { + if(t.User.Deleted) continue; mailAddressCollection.Add(t.User.Email); } @@ -255,9 +256,10 @@ private void AddRecipientByRole(Advice advice, AdviceUserRelation r, MailAddress case RelatedEntityType.itSystemUsage: var systemRoles = _itSystemRights.AsQueryable().Where(I => I.ObjectId == advice.RelationId - && I.Role.Name == r.Name); + && I.RoleId == r.ItSystemRoleId); foreach (var t in systemRoles) { + if(t.User.Deleted) continue; mailAddressCollection.Add(t.User.Email); } @@ -266,9 +268,10 @@ private void AddRecipientByRole(Advice advice, AdviceUserRelation r, MailAddress var dpaRoles = _dataProcessingRegistrationRights.AsQueryable().Where(I => I.ObjectId == advice.RelationId - && I.Role.Name == r.Name); + && I.RoleId == r.DataProcessingRegistrationRoleId); foreach (var t in dpaRoles) { + if(t.User.Deleted) continue; mailAddressCollection.Add(t.User.Email); } @@ -403,7 +406,7 @@ public void UpdateSchedule(Advice advice) public void CreateOrUpdateJob(int adviceId) { var advice = _adviceRepository.GetByKey(adviceId); - if (advice == null || advice.Scheduling == null || advice.AlarmDate == null) + if (advice?.Scheduling == null || advice.AlarmDate == null) { throw new ArgumentException(nameof(adviceId) + " does not point to a valid id or points to an advice without alarm date or scheduling"); } diff --git a/Core.ApplicationServices/Authorization/IPermissionVisitor.cs b/Core.ApplicationServices/Authorization/IPermissionVisitor.cs index 558b2814ed..cd04912d71 100644 --- a/Core.ApplicationServices/Authorization/IPermissionVisitor.cs +++ b/Core.ApplicationServices/Authorization/IPermissionVisitor.cs @@ -13,5 +13,6 @@ public interface IPermissionVisitor bool Visit(ViewBrokenExternalReferencesReportPermission permission); bool Visit(TriggerBrokenReferencesReportPermission permission); bool Visit(AdministerGlobalPermission permission); + bool Visit(ImportHierarchyFromStsOrganizationPermission permission); } } diff --git a/Core.ApplicationServices/Authorization/OrganizationAuthorizationContext.cs b/Core.ApplicationServices/Authorization/OrganizationAuthorizationContext.cs index 620038810c..54fe1ee84f 100644 --- a/Core.ApplicationServices/Authorization/OrganizationAuthorizationContext.cs +++ b/Core.ApplicationServices/Authorization/OrganizationAuthorizationContext.cs @@ -236,7 +236,7 @@ public bool AllowDelete(IEntity entity) { result = entity switch { - Organization _ => IsGlobalAdmin(), + User user => IsGlobalAdmin() && EntityEqualsActiveUser(user) == false, ItInterface itInterface => //Even rightsholders are not allowed to delete interfaces IsGlobalAdmin() || IsLocalAdmin(itInterface.OrganizationId), @@ -369,10 +369,10 @@ bool IPermissionVisitor.Visit(VisibilityControlPermission permission) return target switch { - IContractModule _ => IsGlobalAdmin() || + IContractModule _ => IsGlobalAdmin() || IsLocalAdmin(ownedByOrganization.OrganizationId) || IsContractModuleAdmin(ownedByOrganization.OrganizationId), - IOrganizationModule _ => IsGlobalAdmin() || + IOrganizationModule _ => IsGlobalAdmin() || IsLocalAdmin(ownedByOrganization.OrganizationId), _ => IsGlobalAdmin() }; @@ -458,6 +458,14 @@ public bool Visit(AdministerGlobalPermission permission) }; } + public bool Visit(ImportHierarchyFromStsOrganizationPermission permission) + { + var organizationId = permission.Organization.Id; + return IsGlobalAdmin() || + IsLocalAdmin(organizationId) || + IsOrganizationModuleAdmin(organizationId); + } + #endregion PERMISSIONS } } \ No newline at end of file diff --git a/Core.ApplicationServices/Authorization/Permissions/ImportHierarchyFromStsOrganizationPermission.cs b/Core.ApplicationServices/Authorization/Permissions/ImportHierarchyFromStsOrganizationPermission.cs new file mode 100644 index 0000000000..1cce3c4f9a --- /dev/null +++ b/Core.ApplicationServices/Authorization/Permissions/ImportHierarchyFromStsOrganizationPermission.cs @@ -0,0 +1,19 @@ +using Core.DomainModel.Organization; + +namespace Core.ApplicationServices.Authorization.Permissions +{ + public class ImportHierarchyFromStsOrganizationPermission : Permission + { + public Organization Organization { get; } + + public ImportHierarchyFromStsOrganizationPermission(Organization organization) + { + Organization = organization; + } + + public override bool Accept(IPermissionVisitor permissionVisitor) + { + return permissionVisitor.Visit(this); + } + } +} diff --git a/Core.ApplicationServices/Contract/IItContractService.cs b/Core.ApplicationServices/Contract/IItContractService.cs index f87f32438b..69faedd006 100644 --- a/Core.ApplicationServices/Contract/IItContractService.cs +++ b/Core.ApplicationServices/Contract/IItContractService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Core.Abstractions.Types; +using Core.ApplicationServices.Model.Contracts; using Core.DomainModel.GDPR; using Core.DomainModel.ItContract; using Core.DomainServices.Queries; @@ -12,7 +13,7 @@ namespace Core.ApplicationServices.Contract public interface IItContractService { Result Create(int organizationId, string name); - IQueryable GetAllByOrganization(int orgId, string optionalNameSearch = null); + Result,OperationError> GetAllByOrganization(int orgId, string optionalNameSearch = null); Result Delete(int id); Result AssignDataProcessingRegistration(int id, int dataProcessingRegistrationId); @@ -23,5 +24,7 @@ public interface IItContractService Result CanCreateNewContractWithName(string name, int organizationId); Maybe ValidateNewName(int contractId, string name); IQueryable Query(params IDomainQuery[] conditions); + Result GetAssignableContractOptions(int organizationId); + Result,OperationError> GetAppliedProcurementPlans(int organizationId); } } diff --git a/Core.ApplicationServices/Contract/ItContractService.cs b/Core.ApplicationServices/Contract/ItContractService.cs index b53456fb89..674848a8c4 100644 --- a/Core.ApplicationServices/Contract/ItContractService.cs +++ b/Core.ApplicationServices/Contract/ItContractService.cs @@ -4,6 +4,7 @@ using Core.Abstractions.Extensions; using Core.Abstractions.Types; using Core.ApplicationServices.Authorization; +using Core.ApplicationServices.Model.Contracts; using Core.ApplicationServices.References; using Core.DomainModel.Events; using Core.DomainModel.GDPR; @@ -12,6 +13,7 @@ using Core.DomainServices.Authorization; using Core.DomainServices.Contract; using Core.DomainServices.Extensions; +using Core.DomainServices.Options; using Core.DomainServices.Queries; using Core.DomainServices.Repositories.Contract; using Infrastructure.Services.DataAccess; @@ -31,6 +33,15 @@ public class ItContractService : IItContractService private readonly ILogger _logger; private readonly IContractDataProcessingRegistrationAssignmentService _contractDataProcessingRegistrationAssignmentService; private readonly IOrganizationalUserContext _userContext; + private readonly IOptionsService _criticalityOptionsService; + private readonly IOptionsService _contractTypeOptionsService; + private readonly IOptionsService _contractTemplateOptionsService; + private readonly IOptionsService _purchaseFormOptionsService; + private readonly IOptionsService _procurementStrategyOptionsService; + private readonly IOptionsService _paymentModelOptionsService; + private readonly IOptionsService _paymentFrequencyOptionsService; + private readonly IOptionsService _optionExtendOptionsService; + private readonly IOptionsService _terminationDeadlineOptionsService; public ItContractService( IItContractRepository repository, @@ -40,8 +51,17 @@ public ItContractService( IDomainEvents domainEvents, IAuthorizationContext authorizationContext, ILogger logger, - IContractDataProcessingRegistrationAssignmentService contractDataProcessingRegistrationAssignmentService, - IOrganizationalUserContext userContext) + IContractDataProcessingRegistrationAssignmentService contractDataProcessingRegistrationAssignmentService, + IOrganizationalUserContext userContext, + IOptionsService criticalityOptionsService, + IOptionsService contractTypeOptionsService, + IOptionsService contractTemplateOptionsService, + IOptionsService purchaseFormOptionsService, + IOptionsService procurementStrategyOptionsService, + IOptionsService paymentModelOptionsService, + IOptionsService paymentFrequencyOptionsService, + IOptionsService optionExtendOptionsService, + IOptionsService terminationDeadlineOptionsService) { _repository = repository; _economyStreamRepository = economyStreamRepository; @@ -52,6 +72,15 @@ public ItContractService( _logger = logger; _contractDataProcessingRegistrationAssignmentService = contractDataProcessingRegistrationAssignmentService; _userContext = userContext; + _criticalityOptionsService = criticalityOptionsService; + _contractTypeOptionsService = contractTypeOptionsService; + _contractTemplateOptionsService = contractTemplateOptionsService; + _purchaseFormOptionsService = purchaseFormOptionsService; + _procurementStrategyOptionsService = procurementStrategyOptionsService; + _paymentModelOptionsService = paymentModelOptionsService; + _paymentFrequencyOptionsService = paymentFrequencyOptionsService; + _optionExtendOptionsService = optionExtendOptionsService; + _terminationDeadlineOptionsService = terminationDeadlineOptionsService; } public Result Create(int organizationId, string name) @@ -76,8 +105,12 @@ public Result Create(int organizationId, string name return itContract; } - public IQueryable GetAllByOrganization(int orgId, string optionalNameSearch = null) + public Result, OperationError> GetAllByOrganization(int orgId, string optionalNameSearch = null) { + if (_authorizationContext.GetOrganizationReadAccessLevel(orgId) != OrganizationDataReadAccessLevel.All) + { + return new OperationError(OperationFailure.Forbidden); + } var contracts = _repository.GetContractsInOrganization(orgId); if (!string.IsNullOrWhiteSpace(optionalNameSearch)) @@ -85,7 +118,7 @@ public IQueryable GetAllByOrganization(int orgId, string optionalNam contracts = contracts.ByPartOfName(optionalNameSearch); } - return contracts; + return Result, OperationError>.Success(contracts); } public Result Delete(int id) @@ -219,6 +252,45 @@ public Maybe ValidateNewName(int contractId, string name) ); } + public Result GetAssignableContractOptions(int organizationId) + { + return WithOrganizationReadAccess(organizationId, + () => new ContractOptions( + _criticalityOptionsService.GetAllOptionsDetails(organizationId), + _contractTypeOptionsService.GetAllOptionsDetails(organizationId), + _contractTemplateOptionsService.GetAllOptionsDetails(organizationId), + _purchaseFormOptionsService.GetAllOptionsDetails(organizationId), + _procurementStrategyOptionsService.GetAllOptionsDetails(organizationId), + _paymentModelOptionsService.GetAllOptionsDetails(organizationId), + _paymentFrequencyOptionsService.GetAllOptionsDetails(organizationId), + _optionExtendOptionsService.GetAllOptionsDetails(organizationId), + _terminationDeadlineOptionsService.GetAllOptionsDetails(organizationId))); + } + + public Result, OperationError> GetAppliedProcurementPlans(int organizationId) + { + return GetAllByOrganization(organizationId) + .Select>(contracts => contracts + .Where(contract => contract.ProcurementPlanYear != null && contract.ProcurementPlanQuarter != null) + .Select(c => new { c.ProcurementPlanYear, c.ProcurementPlanQuarter }) + .Distinct() + .OrderBy(x => x.ProcurementPlanYear) + .ThenBy(x => x.ProcurementPlanQuarter) + .ToList() + .Select(x => (x.ProcurementPlanYear.GetValueOrDefault(), x.ProcurementPlanQuarter.GetValueOrDefault())) + .ToList() + ); + } + + private Result WithOrganizationReadAccess(int organizationId, Func> authorizedAction) + { + var readAccessLevel = _authorizationContext.GetOrganizationReadAccessLevel(organizationId); + + return readAccessLevel < OrganizationDataReadAccessLevel.All + ? new OperationError(OperationFailure.Forbidden) + : authorizedAction(); + } + private IQueryable SearchByName(int organizationId, string name) { return _repository.GetContractsInOrganization(organizationId).ByNameExact(name); diff --git a/Core.ApplicationServices/Contract/Write/ItContractWriteService.cs b/Core.ApplicationServices/Contract/Write/ItContractWriteService.cs index 2a99fb28a9..0589b8c39d 100644 --- a/Core.ApplicationServices/Contract/Write/ItContractWriteService.cs +++ b/Core.ApplicationServices/Contract/Write/ItContractWriteService.cs @@ -19,6 +19,7 @@ using Core.DomainModel.ItContract; using Core.DomainModel.Organization; using Core.DomainModel.References; +using Core.DomainModel.Shared; using Core.DomainServices; using Core.DomainServices.Generic; using Core.DomainServices.Role; @@ -37,13 +38,11 @@ public class ItContractWriteService : IItContractWriteService private readonly IGenericRepository _itContractAgreementElementTypesRepository; private readonly IAuthorizationContext _authorizationContext; private readonly IOrganizationService _organizationService; - private readonly IGenericRepository _handoverTrialRepository; private readonly IReferenceService _referenceService; private readonly IAssignmentUpdateService _assignmentUpdateService; private readonly IItSystemUsageService _usageService; private readonly IRoleAssignmentService _roleAssignmentService; private readonly IDataProcessingRegistrationApplicationService _dataProcessingRegistrationApplicationService; - private readonly IGenericRepository _paymentMilestoneRepository; private readonly IGenericRepository _economyStreamRepository; public ItContractWriteService( @@ -56,13 +55,11 @@ public ItContractWriteService( IGenericRepository itContractAgreementElementTypesRepository, IAuthorizationContext authorizationContext, IOrganizationService organizationService, - IGenericRepository handoverTrialRepository, IReferenceService referenceService, IAssignmentUpdateService assignmentUpdateService, IItSystemUsageService usageService, IRoleAssignmentService roleAssignmentService, IDataProcessingRegistrationApplicationService dataProcessingRegistrationApplicationService, - IGenericRepository paymentMilestoneRepository, IGenericRepository economyStreamRepository) { _contractService = contractService; @@ -74,13 +71,11 @@ public ItContractWriteService( _itContractAgreementElementTypesRepository = itContractAgreementElementTypesRepository; _authorizationContext = authorizationContext; _organizationService = organizationService; - _handoverTrialRepository = handoverTrialRepository; _referenceService = referenceService; _assignmentUpdateService = assignmentUpdateService; _usageService = usageService; _roleAssignmentService = roleAssignmentService; _dataProcessingRegistrationApplicationService = dataProcessingRegistrationApplicationService; - _paymentMilestoneRepository = paymentMilestoneRepository; _economyStreamRepository = economyStreamRepository; } @@ -158,7 +153,6 @@ private Result ApplyUpdates(ItContract contract, ItC .Bind(updateContract => updateContract.WithOptionalUpdate(parameters.Supplier, UpdateSupplierData)) .Bind(updateContract => updateContract.WithOptionalUpdate(parameters.DataProcessingRegistrationUuids, UpdateDataProcessingRegistrations)) .Bind(updateContract => updateContract.WithOptionalUpdate(parameters.SystemUsageUuids, UpdateSystemAssignments)) - .Bind(updateContract => updateContract.WithOptionalUpdate(parameters.HandoverTrials, UpdateHandOverTrials)) .Bind(updateContract => updateContract.WithOptionalUpdate(parameters.PaymentModel, UpdatePaymentModelParameters)) .Bind(updateContract => updateContract.WithOptionalUpdate(parameters.ExternalReferences, UpdateExternalReferences)) .Bind(updateContract => updateContract.WithOptionalUpdate(parameters.Roles, UpdateRoles)) @@ -286,37 +280,6 @@ private Maybe UpdateExternalReferences(ItContract contract, IEnu .Select(error => new OperationError($"Failed to update references with error message: {error.Message.GetValueOrEmptyString()}", error.FailureType)); } - private Maybe UpdateHandOverTrials(ItContract contract, IEnumerable parameters) - { - var handoverTrialTypes = new Dictionary(); - var updates = parameters.ToList(); - foreach (var uuid in updates.Select(x => x.HandoverTrialTypeUuid).Distinct().ToList()) - { - var optionType = _optionResolver.GetOptionType(contract.Organization.Uuid, uuid); - if (optionType.Failed) - return new OperationError($"Failed to fetch option with uuid:{uuid}. Message:{optionType.Error.Message.GetValueOrEmptyString()}", optionType.Error.FailureType); - - if (!optionType.Value.available && contract.HandoverTrials.Any(x => x.HandoverTrialType.Uuid == uuid) == false) - return new OperationError($"Cannot take new handover trial ({uuid}) into use which is not available in the organization", OperationFailure.BadInput); - - handoverTrialTypes[uuid] = optionType.Value.option; - } - - //Replace existing trials (duplicates are allowed so we cannot derive any meaningful unique identity) - var handoverTrials = contract.HandoverTrials.ToList(); - handoverTrials.ForEach(_handoverTrialRepository.Delete); - contract.ResetHandoverTrials(); - - foreach (var newHandoverTrial in updates) - { - var error = contract.AddHandoverTrial(handoverTrialTypes[newHandoverTrial.HandoverTrialTypeUuid], newHandoverTrial.ExpectedAt, newHandoverTrial.ApprovedAt); - if (error.HasValue) - return new OperationError("Failed adding handover trial:" + error.Value.Message.GetValueOrEmptyString(), error.Value.FailureType); - } - - return Maybe.None; - } - private Result UpdateSupplierData(ItContract contract, ItContractSupplierModificationParameters parameters) { return contract @@ -385,28 +348,7 @@ private Result UpdatePaymentModelParameters(ItContra .WithOptionalUpdate(parameters.OperationsRemunerationStartedAt, (c, newValue) => c.OperationRemunerationBegun = newValue.Match(val => val, () => (DateTime?)null)) .Bind(itContract => itContract.WithOptionalUpdate(parameters.PaymentFrequencyUuid, UpdatePaymentFrequency)) .Bind(itContract => itContract.WithOptionalUpdate(parameters.PaymentModelUuid, UpdatePaymentModel)) - .Bind(itContract => itContract.WithOptionalUpdate(parameters.PriceRegulationUuid, UpdatePriceRegulation)) - .Bind(itContract => itContract.WithOptionalUpdate(parameters.PaymentMileStones, UpdatePaymentMileStones)); - } - - private Maybe UpdatePaymentMileStones(ItContract contract, Maybe> milestones) - { - //Replace existing milestones (duplicates are allowed so we cannot derive any meaningful unique identity) - var paymentMilestones = contract.PaymentMilestones.ToList(); - contract.ResetPaymentMilestones(); - paymentMilestones.ForEach(_paymentMilestoneRepository.Delete); - - if (milestones.IsNone) - return Maybe.None; - - foreach (var newMilestone in milestones.Value) - { - var error = contract.AddPaymentMilestone(newMilestone.Title, newMilestone.Expected, newMilestone.Approved); - if (error.HasValue) - return new OperationError($"Failed adding payment milestone: {error.Value.Message.GetValueOrEmptyString()}", error.Value.FailureType); - } - - return Maybe.None; + .Bind(itContract => itContract.WithOptionalUpdate(parameters.PriceRegulationUuid, UpdatePriceRegulation)); } private Maybe UpdatePriceRegulation(ItContract contract, Guid? priceRegulationUuid) @@ -468,7 +410,8 @@ private Result UpdateGeneralData(ItContract contract .Bind(itContract => itContract.WithOptionalUpdate(generalData.Notes, (c, newValue) => c.Note = newValue)) .Bind(itContract => itContract.WithOptionalUpdate(generalData.EnforceValid, (c, newValue) => c.Active = newValue.GetValueOrFallback(false))) .Bind(itContract => UpdateValidityPeriod(itContract, generalData).Match>(error => error, () => itContract)) - .Bind(itContract => itContract.WithOptionalUpdate(generalData.AgreementElementUuids, UpdateAgreementElements)); + .Bind(itContract => itContract.WithOptionalUpdate(generalData.AgreementElementUuids, UpdateAgreementElements)) + .Bind(itContract => itContract.WithOptionalUpdate(generalData.CriticalityUuid, UpdateContractCriticality)); } private Maybe UpdateAgreementElements(ItContract contract, IEnumerable agreementElements) @@ -540,8 +483,12 @@ private Result UpdateProcurement(ItContract contract { return contract .WithOptionalUpdate(procurementParameters.ProcurementStrategyUuid, UpdateProcurementStrategy) - .Bind(itContract => itContract.WithOptionalUpdate(procurementParameters.PurchaseTypeUuid, UpdatePurchaseType)) - .Bind(itContract => itContract.WithOptionalUpdate(procurementParameters.ProcurementPlan, UpdateProcurementPlan)); + .Bind(itContract => + itContract.WithOptionalUpdate(procurementParameters.PurchaseTypeUuid, UpdatePurchaseType)) + .Bind(itContract => + itContract.WithOptionalUpdate(procurementParameters.ProcurementPlan, UpdateProcurementPlan)) + .Bind(itContract => itContract.WithOptionalUpdate(procurementParameters.ProcurementInitiated, + (c, newValue) => c.ProcurementInitiated = newValue.GetValueOrFallback(YesNoUndecidedOption.Undecided))); } private static Maybe UpdateProcurementPlan(ItContract contract, Maybe<(byte half, int year)> plan) @@ -611,6 +558,17 @@ private Maybe UpdateName(ItContract contract, string newName) contract.Name = newName; return Maybe.None; } + private Maybe UpdateContractCriticality(ItContract contract, Guid? criticalityUuid) + { + return _assignmentUpdateService.UpdateIndependentOptionTypeAssignment + ( + contract, + criticalityUuid, + c => c.ResetCriticality(), + c => c.Criticality, + (c, newValue) => c.Criticality = newValue + ); + } public Maybe Delete(Guid itContractUuid) { diff --git a/Core.ApplicationServices/Core.ApplicationServices.csproj b/Core.ApplicationServices/Core.ApplicationServices.csproj index 04bf99f728..5a86bf2e62 100644 --- a/Core.ApplicationServices/Core.ApplicationServices.csproj +++ b/Core.ApplicationServices/Core.ApplicationServices.csproj @@ -46,8 +46,8 @@ ..\packages\Microsoft.Owin.4.1.0\lib\net45\Microsoft.Owin.dll - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\Owin.1.0\lib\net40\Owin.dll @@ -83,6 +83,7 @@ + @@ -120,15 +121,15 @@ + + - - @@ -162,6 +163,8 @@ + + @@ -174,6 +177,8 @@ + + @@ -186,7 +191,7 @@ - + @@ -264,6 +269,7 @@ + diff --git a/Core.ApplicationServices/Helpers/NamedEntityMappingHelper.cs b/Core.ApplicationServices/Helpers/NamedEntityMappingHelper.cs new file mode 100644 index 0000000000..e4489e19a2 --- /dev/null +++ b/Core.ApplicationServices/Helpers/NamedEntityMappingHelper.cs @@ -0,0 +1,13 @@ +using Core.ApplicationServices.Model.Shared; +using Core.DomainModel; + +namespace Core.ApplicationServices.Helpers +{ + public static class NamedEntityMappingHelper + { + public static NamedEntity ToNamedEntity(this T entity) where T : IHasId, IHasName + { + return new NamedEntity(entity.Id, entity.Name); + } + } +} diff --git a/Core.ApplicationServices/IUserService.cs b/Core.ApplicationServices/IUserService.cs index d4e0e0460d..f95a6e648b 100644 --- a/Core.ApplicationServices/IUserService.cs +++ b/Core.ApplicationServices/IUserService.cs @@ -18,5 +18,7 @@ public interface IUserService : IDisposable Result, OperationError> GetUsersWithRoleAssignedInAnyOrganization(OrganizationRole role); Result, OperationError> GetUsersInOrganization(Guid organizationUuid, params IDomainQuery[] queries); Result GetUserInOrganization(Guid organizationUuid, Guid userUuid); + Maybe DeleteUserFromKitos(Guid userUuid); + Result, OperationError> SearchAllKitosUsers(params IDomainQuery[] queries); } } \ No newline at end of file diff --git a/Core.ApplicationServices/Model/Contracts/ContractOptions.cs b/Core.ApplicationServices/Model/Contracts/ContractOptions.cs new file mode 100644 index 0000000000..548757aa82 --- /dev/null +++ b/Core.ApplicationServices/Model/Contracts/ContractOptions.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using System.Linq; +using Core.DomainModel.ItContract; +using Core.DomainServices.Model.Options; + +namespace Core.ApplicationServices.Model.Contracts +{ + public class ContractOptions + { + public IReadOnlyList<(OptionDescriptor option, bool available)> CriticalityOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> ContractTypeOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> ContractTemplateOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> PurchaseFormOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> ProcurementStrategyOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> PaymentModelOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> PaymentFrequencyOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> OptionExtendOptions { get; } + public IReadOnlyList<(OptionDescriptor option, bool available)> TerminationDeadlineOptions { get; } + + public ContractOptions( + IEnumerable<(OptionDescriptor option, bool available)> criticalityOptions, + IEnumerable<(OptionDescriptor option, bool available)> contractTypeOptions, + IEnumerable<(OptionDescriptor option, bool available)> contractTemplateOptions, + IEnumerable<(OptionDescriptor option, bool available)> purchaseFormOptions, + IEnumerable<(OptionDescriptor option, bool available)> procurementStrategyOptions, + IEnumerable<(OptionDescriptor option, bool available)> paymentModelOptions, + IEnumerable<(OptionDescriptor option, bool available)> paymentFrequencyOptions, + IEnumerable<(OptionDescriptor option, bool available)> optionExtendOptions, + IEnumerable<(OptionDescriptor option, bool available)> terminationDeadlineOptions) + { + CriticalityOptions = criticalityOptions.ToList(); + ContractTypeOptions = contractTypeOptions.ToList(); + ContractTemplateOptions = contractTemplateOptions.ToList(); + PurchaseFormOptions = purchaseFormOptions.ToList(); + ProcurementStrategyOptions = procurementStrategyOptions.ToList(); + PaymentModelOptions = paymentModelOptions.ToList(); + PaymentFrequencyOptions = paymentFrequencyOptions.ToList(); + OptionExtendOptions = optionExtendOptions.ToList(); + TerminationDeadlineOptions = terminationDeadlineOptions.ToList(); + } + } +} diff --git a/Core.ApplicationServices/Model/Contracts/Write/ItContractGeneralDataModificationParameters.cs b/Core.ApplicationServices/Model/Contracts/Write/ItContractGeneralDataModificationParameters.cs index b36761973c..1e3d1f0723 100644 --- a/Core.ApplicationServices/Model/Contracts/Write/ItContractGeneralDataModificationParameters.cs +++ b/Core.ApplicationServices/Model/Contracts/Write/ItContractGeneralDataModificationParameters.cs @@ -15,5 +15,6 @@ public class ItContractGeneralDataModificationParameters public OptionalValueChange> EnforceValid { get; set; } = OptionalValueChange>.None; public OptionalValueChange> ValidFrom { get; set; } = OptionalValueChange>.None; public OptionalValueChange> ValidTo { get; set; } = OptionalValueChange>.None; + public OptionalValueChange CriticalityUuid { get; set; } = OptionalValueChange.None; } } diff --git a/Core.ApplicationServices/Model/Contracts/Write/ItContractHandoverTrialUpdate.cs b/Core.ApplicationServices/Model/Contracts/Write/ItContractHandoverTrialUpdate.cs deleted file mode 100644 index 1ad8f6eba7..0000000000 --- a/Core.ApplicationServices/Model/Contracts/Write/ItContractHandoverTrialUpdate.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace Core.ApplicationServices.Model.Contracts.Write -{ - public class ItContractHandoverTrialUpdate - { - public Guid HandoverTrialTypeUuid { get; set; } - public DateTime? ExpectedAt { get; set; } - public DateTime? ApprovedAt { get; set; } - } -} diff --git a/Core.ApplicationServices/Model/Contracts/Write/ItContractModificationParameters.cs b/Core.ApplicationServices/Model/Contracts/Write/ItContractModificationParameters.cs index 2ac92ea81d..8b11807825 100644 --- a/Core.ApplicationServices/Model/Contracts/Write/ItContractModificationParameters.cs +++ b/Core.ApplicationServices/Model/Contracts/Write/ItContractModificationParameters.cs @@ -14,7 +14,6 @@ public class ItContractModificationParameters public Maybe Procurement { get; set; } = Maybe.None; public Maybe Responsible { get; set; } = Maybe.None; public Maybe Supplier { get; set; } = Maybe.None; - public Maybe> HandoverTrials { get; set; } = Maybe>.None; public Maybe> ExternalReferences { get; set; } = Maybe>.None; public Maybe> SystemUsageUuids { get; set; } = Maybe>.None; public Maybe> Roles { get; set; } = Maybe>.None; diff --git a/Core.ApplicationServices/Model/Contracts/Write/ItContractPaymentMilestone.cs b/Core.ApplicationServices/Model/Contracts/Write/ItContractPaymentMilestone.cs deleted file mode 100644 index 733fbc731f..0000000000 --- a/Core.ApplicationServices/Model/Contracts/Write/ItContractPaymentMilestone.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace Core.ApplicationServices.Model.Contracts.Write -{ - public class ItContractPaymentMilestone - { - public string Title { get; set; } - public DateTime? Expected { get; set; } - public DateTime? Approved { get; set; } - } -} \ No newline at end of file diff --git a/Core.ApplicationServices/Model/Contracts/Write/ItContractPaymentModelModificationParameters.cs b/Core.ApplicationServices/Model/Contracts/Write/ItContractPaymentModelModificationParameters.cs index 35ca28ebe3..bdca07d493 100644 --- a/Core.ApplicationServices/Model/Contracts/Write/ItContractPaymentModelModificationParameters.cs +++ b/Core.ApplicationServices/Model/Contracts/Write/ItContractPaymentModelModificationParameters.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using Core.Abstractions.Types; using Core.ApplicationServices.Model.Shared; @@ -11,6 +10,5 @@ public class ItContractPaymentModelModificationParameters public OptionalValueChange PaymentFrequencyUuid { get; set; } = OptionalValueChange.None; public OptionalValueChange PaymentModelUuid { get; set; } = OptionalValueChange.None; public OptionalValueChange PriceRegulationUuid { get; set; } = OptionalValueChange.None; - public OptionalValueChange>> PaymentMileStones { get; set; } = OptionalValueChange>>.None; } } \ No newline at end of file diff --git a/Core.ApplicationServices/Model/Contracts/Write/ItContractProcurementModificationParameters.cs b/Core.ApplicationServices/Model/Contracts/Write/ItContractProcurementModificationParameters.cs index d6057cb2e8..7a1bcd53e2 100644 --- a/Core.ApplicationServices/Model/Contracts/Write/ItContractProcurementModificationParameters.cs +++ b/Core.ApplicationServices/Model/Contracts/Write/ItContractProcurementModificationParameters.cs @@ -1,6 +1,7 @@ using System; using Core.Abstractions.Types; using Core.ApplicationServices.Model.Shared; +using Core.DomainModel.Shared; namespace Core.ApplicationServices.Model.Contracts.Write { @@ -8,6 +9,7 @@ public class ItContractProcurementModificationParameters { public OptionalValueChange PurchaseTypeUuid { get; set; } = OptionalValueChange.None; public OptionalValueChange ProcurementStrategyUuid { get; set; } = OptionalValueChange.None; - public OptionalValueChange> ProcurementPlan { get; set; } = OptionalValueChange>.None; + public OptionalValueChange> ProcurementPlan { get; set; } = OptionalValueChange>.None; + public OptionalValueChange> ProcurementInitiated { get; set; } = OptionalValueChange>.None; } } \ No newline at end of file diff --git a/Core.ApplicationServices/Model/EventHandler/ClearCacheOnAccessRightsChangedHandler.cs b/Core.ApplicationServices/Model/EventHandler/ClearCacheOnAdministrativeAccessRightsChangedHandler.cs similarity index 61% rename from Core.ApplicationServices/Model/EventHandler/ClearCacheOnAccessRightsChangedHandler.cs rename to Core.ApplicationServices/Model/EventHandler/ClearCacheOnAdministrativeAccessRightsChangedHandler.cs index c04dc5cd27..3b3b6a288d 100644 --- a/Core.ApplicationServices/Model/EventHandler/ClearCacheOnAccessRightsChangedHandler.cs +++ b/Core.ApplicationServices/Model/EventHandler/ClearCacheOnAdministrativeAccessRightsChangedHandler.cs @@ -5,16 +5,16 @@ namespace Core.ApplicationServices.Model.EventHandler { - public class ClearCacheOnAccessRightsChangedHandler : IDomainEventHandler + public class ClearCacheOnAdministrativeAccessRightsChangedHandler : IDomainEventHandler { private readonly IObjectCache _objectCache; - public ClearCacheOnAccessRightsChangedHandler(IObjectCache objectCache) + public ClearCacheOnAdministrativeAccessRightsChangedHandler(IObjectCache objectCache) { _objectCache = objectCache; } - public void Handle(AccessRightsChanged domainEvent) + public void Handle(AdministrativeAccessRightsChanged domainEvent) { _objectCache.Clear(OrganizationalUserContextCacheKeyFactory.Create(domainEvent.UserId)); } diff --git a/Core.ApplicationServices/Model/Organizations/OrganizationRemovalConflicts.cs b/Core.ApplicationServices/Model/Organizations/OrganizationRemovalConflicts.cs index 2afe0ecd69..068d0baf00 100644 --- a/Core.ApplicationServices/Model/Organizations/OrganizationRemovalConflicts.cs +++ b/Core.ApplicationServices/Model/Organizations/OrganizationRemovalConflicts.cs @@ -3,6 +3,7 @@ using Core.DomainModel.GDPR; using Core.DomainModel.ItContract; using Core.DomainModel.ItSystem; +using Core.DomainModel.ItSystemUsage; namespace Core.ApplicationServices.Model.Organizations { @@ -16,6 +17,7 @@ public class OrganizationRemovalConflicts public IReadOnlyList DprInOtherOrganizationsWhereOrgIsSubDataProcessor { get; } public IReadOnlyList ContractsInOtherOrganizationsWhereOrgIsSupplier { get; } public IReadOnlyList SystemsInOtherOrganizationsWhereOrgIsRightsHolder { get; } + public IReadOnlyList SystemUsagesWhereOrgIsArchiveSupplier { get; } public OrganizationRemovalConflicts( IReadOnlyList systemsWithUsagesOutsideTheOrganization, @@ -25,7 +27,8 @@ public OrganizationRemovalConflicts( IReadOnlyList dprInOtherOrganizationsWhereOrgIsDataProcessor, IReadOnlyList dprInOtherOrganizationsWhereOrgIsSubDataProcessor, IReadOnlyList contractsInOtherOrganizationsWhereOrgIsSupplier, - IReadOnlyList systemsInOtherOrganizationsWhereOrgIsRightsHolder) + IReadOnlyList systemsInOtherOrganizationsWhereOrgIsRightsHolder, + IReadOnlyList systemUsagesWhereOrgIsArchiveSupplier) { SystemsWithUsagesOutsideTheOrganization = systemsWithUsagesOutsideTheOrganization; InterfacesExposedOnSystemsOutsideTheOrganization = interfacesExposedOnSystemsOutsideTheOrganization; @@ -35,6 +38,7 @@ public OrganizationRemovalConflicts( DprInOtherOrganizationsWhereOrgIsSubDataProcessor = dprInOtherOrganizationsWhereOrgIsSubDataProcessor; ContractsInOtherOrganizationsWhereOrgIsSupplier = contractsInOtherOrganizationsWhereOrgIsSupplier; SystemsInOtherOrganizationsWhereOrgIsRightsHolder = systemsInOtherOrganizationsWhereOrgIsRightsHolder; + SystemUsagesWhereOrgIsArchiveSupplier = systemUsagesWhereOrgIsArchiveSupplier; } @@ -45,6 +49,7 @@ public OrganizationRemovalConflicts( DprInOtherOrganizationsWhereOrgIsDataProcessor.Any() || DprInOtherOrganizationsWhereOrgIsSubDataProcessor.Any() || ContractsInOtherOrganizationsWhereOrgIsSupplier.Any() || - SystemsInOtherOrganizationsWhereOrgIsRightsHolder.Any(); + SystemsInOtherOrganizationsWhereOrgIsRightsHolder.Any() || + SystemUsagesWhereOrgIsArchiveSupplier.Any(); } } diff --git a/Core.ApplicationServices/Model/Users/UserRightsAssignments.cs b/Core.ApplicationServices/Model/Users/UserRightsAssignments.cs new file mode 100644 index 0000000000..ad15b917dc --- /dev/null +++ b/Core.ApplicationServices/Model/Users/UserRightsAssignments.cs @@ -0,0 +1,36 @@ +using System.Collections.Generic; +using System.Linq; +using Core.DomainModel.GDPR; +using Core.DomainModel.ItContract; +using Core.DomainModel.ItProject; +using Core.DomainModel.ItSystem; +using Core.DomainModel.Organization; + +namespace Core.ApplicationServices.Model.Users +{ + public class UserRightsAssignments + { + public IEnumerable LocalAdministrativeAccessRoles { get; } + public IEnumerable DataProcessingRegistrationRights { get; } + public IEnumerable SystemRights { get; } + public IEnumerable ContractRights { get; } + public IEnumerable ProjectRights { get; } + public IEnumerable OrganizationUnitRights { get; } + + public UserRightsAssignments( + IEnumerable organizationRoles, + IEnumerable dataProcessingRegistrationRoles, + IEnumerable systemRights, + IEnumerable contractRights, + IEnumerable projectRights, + IEnumerable organizationUnitRights) + { + LocalAdministrativeAccessRoles = organizationRoles.ToList(); + DataProcessingRegistrationRights = dataProcessingRegistrationRoles.ToList(); + SystemRights = systemRights.ToList(); + ContractRights = contractRights.ToList(); + ProjectRights = projectRights.ToList(); + OrganizationUnitRights = organizationUnitRights.ToList(); + } + } +} diff --git a/Core.ApplicationServices/Model/Users/UserRightsChangeParameters.cs b/Core.ApplicationServices/Model/Users/UserRightsChangeParameters.cs new file mode 100644 index 0000000000..b9b5e58339 --- /dev/null +++ b/Core.ApplicationServices/Model/Users/UserRightsChangeParameters.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic; +using System.Linq; +using Core.DomainModel.Organization; + +namespace Core.ApplicationServices.Model.Users +{ + public class UserRightsChangeParameters + { + public ISet AdministrativeAccessRoles { get; } + public ISet DataProcessingRegistrationRightIds { get; } + public ISet SystemRightIds { get; } + public ISet ContractRightIds { get; } + public ISet ProjectRightIds { get; } + public ISet OrganizationUnitRightsIds { get; } + + public UserRightsChangeParameters( + IEnumerable organizationRoles, + IEnumerable dataProcessingRegistrationRightIds, + IEnumerable systemRightIds, + IEnumerable contractRightIds, + IEnumerable projectRightIds, + IEnumerable organizationUnitRightIds) + { + AdministrativeAccessRoles = organizationRoles.ToHashSet(); + DataProcessingRegistrationRightIds = dataProcessingRegistrationRightIds.ToHashSet(); + SystemRightIds = systemRightIds.ToHashSet(); + ContractRightIds = contractRightIds.ToHashSet(); + ProjectRightIds = projectRightIds.ToHashSet(); + OrganizationUnitRightsIds = organizationUnitRightIds.ToHashSet(); + } + } +} diff --git a/Core.ApplicationServices/OrganizationRoleService.cs b/Core.ApplicationServices/OrganizationRoleService.cs index 1c2679538c..b71bfaddc1 100644 --- a/Core.ApplicationServices/OrganizationRoleService.cs +++ b/Core.ApplicationServices/OrganizationRoleService.cs @@ -29,8 +29,9 @@ private OrganizationRight AddOrganizationRoleToUser(User user, Organization orga User = user, Role = organizationRole, }); - _domainEvents.Raise(new AccessRightsChanged(user.Id)); + _organizationRights.Save(); + _domainEvents.Raise(new AdministrativeAccessRightsChanged(user.Id)); return result; } @@ -40,11 +41,6 @@ public OrganizationRight MakeUser(User user, Organization organization) return AddOrganizationRoleToUser(user, organization, OrganizationRole.User); } - public OrganizationRight MakeLocalAdmin(User user, Organization organization) - { - return AddOrganizationRoleToUser(user, organization, OrganizationRole.LocalAdmin); - } - public IReadOnlyDictionary> GetOrganizationRoles(User user) { var rolesByRights = user.OrganizationRights diff --git a/Core.ApplicationServices/Organizations/Handlers/HandleOrganizationBeingDeleted.cs b/Core.ApplicationServices/Organizations/Handlers/HandleOrganizationBeingDeleted.cs index 08df6d9912..cbf666a148 100644 --- a/Core.ApplicationServices/Organizations/Handlers/HandleOrganizationBeingDeleted.cs +++ b/Core.ApplicationServices/Organizations/Handlers/HandleOrganizationBeingDeleted.cs @@ -3,13 +3,16 @@ using System.Linq; using Core.Abstractions.Exceptions; using Core.Abstractions.Extensions; +using Core.Abstractions.Types; using Core.ApplicationServices.Contract.Write; +using Core.ApplicationServices.Extensions; using Core.ApplicationServices.GDPR; using Core.ApplicationServices.Interface; using Core.ApplicationServices.Model.Contracts.Write; using Core.ApplicationServices.Model.Organizations; using Core.ApplicationServices.Model.Shared; using Core.ApplicationServices.Model.System; +using Core.ApplicationServices.Model.SystemUsage.Write; using Core.ApplicationServices.Project; using Core.ApplicationServices.System; using Core.ApplicationServices.SystemUsage.Write; @@ -70,6 +73,8 @@ public void Handle(EntityBeingDeletedEvent domainEvent) ResolveRightsHolderConflicts(conflicts, organization); + ResolveArchiveSupplierConflicts(conflicts, organization); + ClearLocalRegistrations(organization); var systemsToBeMovedToDefaultOrganization = ResolveGlobalItSystemConflicts(conflicts, defaultOrganization); @@ -204,5 +209,19 @@ private void ResolveContractConflicts(OrganizationRemovalConflicts conflicts, Or }).ThrowOnFailure()); organization.Supplier.Clear(); } + + private void ResolveArchiveSupplierConflicts(OrganizationRemovalConflicts conflicts, Organization organization) + { + //Clearing organization on systems where it is set as supplier + var organizationSupplier = conflicts.SystemUsagesWhereOrgIsArchiveSupplier.ToList(); + organizationSupplier.ForEach(x => _itSystemUsageService.Update(x.Uuid, + new SystemUsageUpdateParameters + { + Archiving = new UpdatedSystemUsageArchivingParameters + { + ArchiveSupplierOrganizationUuid = Maybe.None.AsChangedValue() + } + }).ThrowOnFailure()); + } } } diff --git a/Core.ApplicationServices/Organizations/IOrganizationService.cs b/Core.ApplicationServices/Organizations/IOrganizationService.cs index 112fb34caf..65dc90f8aa 100644 --- a/Core.ApplicationServices/Organizations/IOrganizationService.cs +++ b/Core.ApplicationServices/Organizations/IOrganizationService.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using Core.Abstractions.Types; using Core.ApplicationServices.Model.Organizations; @@ -42,5 +43,7 @@ public interface IOrganizationService /// If set to true any removal conflicts will be ignored and the deletion will proceed /// Maybe RemoveOrganization(Guid organizationUuid, bool enforceDeletion); + + Result, OperationError> GetUserOrganizations(int userId); } } diff --git a/Core.ApplicationServices/Organizations/IStsOrganizationSynchronizationService.cs b/Core.ApplicationServices/Organizations/IStsOrganizationSynchronizationService.cs new file mode 100644 index 0000000000..6733e2ebad --- /dev/null +++ b/Core.ApplicationServices/Organizations/IStsOrganizationSynchronizationService.cs @@ -0,0 +1,17 @@ +using System; +using Core.Abstractions.Types; +using Core.DomainServices.Model.StsOrganization; + +namespace Core.ApplicationServices.Organizations +{ + public interface IStsOrganizationSynchronizationService + { + /// + /// Retrieves a view of the organization as it exists in STS Organization + /// + /// + /// + /// + Result GetStsOrganizationalHierarchy(Guid organizationId, Maybe levelsToInclude); + } +} diff --git a/Core.ApplicationServices/Organizations/OrganizationRightsService.cs b/Core.ApplicationServices/Organizations/OrganizationRightsService.cs index 6de584d62f..2295f9561d 100644 --- a/Core.ApplicationServices/Organizations/OrganizationRightsService.cs +++ b/Core.ApplicationServices/Organizations/OrganizationRightsService.cs @@ -6,6 +6,7 @@ using Core.DomainModel.Organization.DomainEvents; using Core.DomainServices; using Core.DomainServices.Extensions; +using Serilog; namespace Core.ApplicationServices.Organizations { @@ -15,17 +16,18 @@ public class OrganizationRightsService : IOrganizationRightsService private readonly IGenericRepository _organizationRightRepository; private readonly IOrganizationalUserContext _userContext; private readonly IDomainEvents _domainEvents; + private readonly ILogger _logger; - public OrganizationRightsService( - IAuthorizationContext authorizationContext, + public OrganizationRightsService(IAuthorizationContext authorizationContext, IGenericRepository organizationRightRepository, IOrganizationalUserContext userContext, - IDomainEvents domainEvents) + IDomainEvents domainEvents, ILogger logger) { _authorizationContext = authorizationContext; _organizationRightRepository = organizationRightRepository; _userContext = userContext; _domainEvents = domainEvents; + _logger = logger; } public Result AssignRole(int organizationId, int userId, OrganizationRole roleId) @@ -42,9 +44,16 @@ public Result AssignRole(int organizationId return OperationFailure.Forbidden; } + var existingRight = _organizationRightRepository.AsQueryable().FirstOrDefault(x => x.OrganizationId == organizationId && x.UserId == userId && x.Role == roleId); + if (existingRight != null) + { + _logger.Warning("Attempt to assign existing organization ({orgId}) role ({roleId}) to user ({userId}). Existing right ({rightId}) returned", organizationId, roleId, userId, existingRight.Id); + return right; + } + right = _organizationRightRepository.Insert(right); - _domainEvents.Raise(new AccessRightsChanged(userId)); _organizationRightRepository.Save(); + _domainEvents.Raise(new AdministrativeAccessRightsChanged(userId)); return right; } @@ -85,8 +94,8 @@ private Result RemoveRight(OrganizationRigh } _organizationRightRepository.DeleteByKey(right.Id); - _domainEvents.Raise(new AccessRightsChanged(right.UserId)); _organizationRightRepository.Save(); + _domainEvents.Raise(new AdministrativeAccessRightsChanged(right.UserId)); return right; } diff --git a/Core.ApplicationServices/Organizations/OrganizationService.cs b/Core.ApplicationServices/Organizations/OrganizationService.cs index c92344d4f1..d4bde8abad 100644 --- a/Core.ApplicationServices/Organizations/OrganizationService.cs +++ b/Core.ApplicationServices/Organizations/OrganizationService.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using Core.Abstractions.Extensions; using Core.Abstractions.Types; @@ -25,6 +26,7 @@ public class OrganizationService : IOrganizationService private readonly IGenericRepository _orgRepository; private readonly IOrganizationRepository _repository; private readonly IOrgUnitService _orgUnitService; + private readonly IOrganizationRightsService _organizationRightsService; private readonly IDomainEvents _domainEvents; private readonly IGenericRepository _orgRightRepository; private readonly IGenericRepository _userRepository; @@ -42,6 +44,7 @@ public OrganizationService( ILogger logger, ITransactionManager transactionManager, IOrganizationRepository repository, + IOrganizationRightsService organizationRightsService, IOrgUnitService orgUnitService, IDomainEvents domainEvents) { @@ -55,6 +58,7 @@ public OrganizationService( _repository = repository; _orgUnitService = orgUnitService; _domainEvents = domainEvents; + _organizationRightsService = organizationRightsService; } //returns the default org unit for that user inside that organization @@ -83,6 +87,7 @@ public void SetDefaultOrgUnit(User user, int orgId, int orgUnitId) /// The user to be removed. public Result RemoveUser(int organizationId, int userId) { + using var transaction = _transactionManager.Begin(); var organization = _orgRepository.GetByKey(organizationId); if (organization == null) { @@ -101,9 +106,15 @@ public Result RemoveUser(int organizationId, int foreach (var right in rights) { - _orgRightRepository.DeleteByKey(right.Id); + var result = _organizationRightsService.RemoveRole(right.Id); + if (result.Failed) + { + _logger.Error("Failed to delete right with id {rightId} due to error: {errorCode}", right.Id, result.Error); + transaction.Rollback(); + return Result.Failure(OperationFailure.UnknownError); + } } - _orgRightRepository.Save(); + transaction.Commit(); return organization; } @@ -277,7 +288,11 @@ public Result ComputeOrganizationR .BelongingSystems .Where(x => x.OrganizationId != organizationWhichCanBeDeleted.Id) .ToList(); - + var systemsWhereOrgIsArchiveSupplier = organizationWhichCanBeDeleted + .ArchiveSupplierForItSystems + .Where(x => x.OrganizationId != organizationWhichCanBeDeleted.Id) + .ToList(); + return new OrganizationRemovalConflicts( systemsWithUsagesOutsideTheOrganization, interfacesExposedOnSystemsOutsideTheOrganization, @@ -286,7 +301,8 @@ public Result ComputeOrganizationR dprInOtherOrganizationsWhereOrgIsDataProcessor, dprInOtherOrganizationsWhereOrgIsSubDataProcessor, contractsInOtherOrganizationsWhereOrgIsSupplier, - systemsInOtherOrgsWhereOrgIsRightsHolder); + systemsInOtherOrgsWhereOrgIsRightsHolder, + systemsWhereOrgIsArchiveSupplier); }); } @@ -329,6 +345,17 @@ public Maybe RemoveOrganization(Guid uuid, bool enforceDeletion) return Maybe.None; } + public Result, OperationError> GetUserOrganizations(int userId) + { + var user = _userRepository.GetByKey(userId); + if(user == null) + return Result, OperationError>.Failure(new OperationError($"User with id: {userId} was not found", OperationFailure.NotFound)); + + var userOrganizationsIds = user.GetOrganizationIds(); + + return Result, OperationError>.Success(_orgRepository.AsQueryable().ByIds(userOrganizationsIds.ToList())); + } + private Result WithDeletionAccess(Organization organization) { if (_authorizationContext.AllowDelete(organization)) diff --git a/Core.ApplicationServices/Organizations/StsOrganizationSynchronizationService.cs b/Core.ApplicationServices/Organizations/StsOrganizationSynchronizationService.cs new file mode 100644 index 0000000000..5ace41bf55 --- /dev/null +++ b/Core.ApplicationServices/Organizations/StsOrganizationSynchronizationService.cs @@ -0,0 +1,77 @@ +using System; +using Core.Abstractions.Types; +using Core.ApplicationServices.Authorization; +using Core.ApplicationServices.Authorization.Permissions; +using Core.DomainModel.Organization; +using Core.DomainServices.Model.StsOrganization; +using Core.DomainServices.Organizations; +using Serilog; + +namespace Core.ApplicationServices.Organizations +{ + public class StsOrganizationSynchronizationService : IStsOrganizationSynchronizationService + { + private readonly IStsOrganizationUnitService _stsOrganizationUnitService; + private readonly IOrganizationService _organizationService; + private readonly ILogger _logger; + private readonly IAuthorizationContext _authorizationContext; + + public StsOrganizationSynchronizationService( + IAuthorizationContext authorizationContext, + IStsOrganizationUnitService stsOrganizationUnitService, + IOrganizationService organizationService, + ILogger logger) + { + _stsOrganizationUnitService = stsOrganizationUnitService; + _organizationService = organizationService; + _logger = logger; + _authorizationContext = authorizationContext; + } + + public Result GetStsOrganizationalHierarchy(Guid organizationId, Maybe levelsToInclude) + { + var orgWithPermission = _organizationService + .GetOrganization(organizationId) + .Bind(WithImportPermission); + + if (orgWithPermission.Failed) + return orgWithPermission.Error; + + var organization = orgWithPermission.Value; + var orgTreeResult = _stsOrganizationUnitService.ResolveOrganizationTree(organization); + if (orgTreeResult.Failed) + { + var detailedOperationError = orgTreeResult.Error; + return new OperationError($"Failed to load organization tree:{detailedOperationError.Detail:G}:{detailedOperationError.FailureType:G}:{detailedOperationError.Message}", detailedOperationError.FailureType); + } + + return FilterByRequestedLevels(orgTreeResult.Value, levelsToInclude); + } + + private Result WithImportPermission(Organization organization) + { + if (_authorizationContext.HasPermission(new ImportHierarchyFromStsOrganizationPermission(organization))) + { + return organization; + } + return new OperationError($"The user does not have permission to use the STS Organization Sync functionality for the organization with uuid:{organization.Uuid}", OperationFailure.Forbidden); + } + + private static Result FilterByRequestedLevels(StsOrganizationUnit root, Maybe levelsToInclude) + { + if (levelsToInclude.IsNone) + { + return root; + } + + var levels = levelsToInclude.Value; + if (levels < 1) + { + return new OperationError($"{nameof(levelsToInclude)} must be greater than or equal to 1", OperationFailure.BadInput); + } + + levels--; + return root.Copy(levels); + } + } +} diff --git a/Core.ApplicationServices/Rights/IUserRightsService.cs b/Core.ApplicationServices/Rights/IUserRightsService.cs index c63900cbc4..4d64ae3323 100644 --- a/Core.ApplicationServices/Rights/IUserRightsService.cs +++ b/Core.ApplicationServices/Rights/IUserRightsService.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using Core.Abstractions.Types; using Core.ApplicationServices.Model.RightsHolder; +using Core.ApplicationServices.Model.Users; using Core.DomainModel.Organization; namespace Core.ApplicationServices.Rights @@ -8,5 +9,9 @@ namespace Core.ApplicationServices.Rights public interface IUserRightsService { Result, OperationError> GetUsersWithRoleAssignment(OrganizationRole role); + Result GetUserRights(int userId, int organizationId); + Maybe RemoveAllRights(int userId, int organizationId); + Maybe RemoveRights(int userId, int organizationId, UserRightsChangeParameters parameters); + Maybe TransferRights(int fromUserId, int toUserId, int organizationId, UserRightsChangeParameters parameters); } } diff --git a/Core.ApplicationServices/Rights/UserRightsService.cs b/Core.ApplicationServices/Rights/UserRightsService.cs index 5705e899c2..6b3972dd87 100644 --- a/Core.ApplicationServices/Rights/UserRightsService.cs +++ b/Core.ApplicationServices/Rights/UserRightsService.cs @@ -1,14 +1,25 @@ using Core.ApplicationServices.Authorization; using Core.ApplicationServices.Organizations; -using Core.DomainServices; using System.Collections.Generic; +using System; using System.Linq; using Core.Abstractions.Types; using Core.ApplicationServices.Model.RightsHolder; +using Core.ApplicationServices.Model.Users; using Core.DomainModel; +using Core.DomainModel.GDPR; +using Core.DomainModel.ItContract; +using Core.DomainModel.ItProject; +using Core.DomainModel.ItSystem; +using Core.DomainModel.ItSystemUsage; using Core.DomainModel.Organization; using Core.DomainServices.Authorization; using Core.DomainServices.Extensions; +using Core.DomainServices.Generic; +using Core.DomainServices.Queries; +using Core.DomainServices.Role; +using Infrastructure.Services.DataAccess; +using Serilog; namespace Core.ApplicationServices.Rights { @@ -17,15 +28,47 @@ public class UserRightsService : IUserRightsService private readonly IUserService _userService; private readonly IOrganizationService _organizationService; private readonly IAuthorizationContext _authorizationContext; + private readonly IEntityIdentityResolver _identityResolver; + private readonly IOrganizationRightsService _organizationRightsService; + private readonly IRoleAssignmentService _itContractRightService; + private readonly IRoleAssignmentService _itSystemRightService; + private readonly IRoleAssignmentService _itProjectRightService; + private readonly IRoleAssignmentService _organizationUnitRightService; + private readonly IRoleAssignmentService _dprRoleAssignmentsService; + private readonly ITransactionManager _transactionManager; + private readonly IDatabaseControl _databaseControl; + private readonly ILogger _logger; - public UserRightsService(IUserService userService, IOrganizationService organizationService, IAuthorizationContext authorizationContext) + public UserRightsService( + IUserService userService, + IOrganizationService organizationService, + IAuthorizationContext authorizationContext, + IEntityIdentityResolver identityResolver, + IOrganizationRightsService organizationRightsService, + IRoleAssignmentService itContractRightService, + IRoleAssignmentService itSystemRightService, + IRoleAssignmentService itProjectRightService, + IRoleAssignmentService organizationUnitRightService, + IRoleAssignmentService dprRoleAssignmentsService, + ITransactionManager transactionManager, + IDatabaseControl databaseControl, + ILogger logger) { _userService = userService; _organizationService = organizationService; _authorizationContext = authorizationContext; + _identityResolver = identityResolver; + _organizationRightsService = organizationRightsService; + _itContractRightService = itContractRightService; + _itSystemRightService = itSystemRightService; + _itProjectRightService = itProjectRightService; + _organizationUnitRightService = organizationUnitRightService; + _dprRoleAssignmentsService = dprRoleAssignmentsService; + _transactionManager = transactionManager; + _databaseControl = databaseControl; + _logger = logger; } - public Result, OperationError> GetUsersWithRoleAssignment(OrganizationRole role) { if (_authorizationContext.GetCrossOrganizationReadAccess() < CrossOrganizationDataReadAccessLevel.All) @@ -38,6 +81,103 @@ public Result, OperationError> GetUsersWithR .Bind(users => MapOrganizationalRightsHolderRelation(users, role)); } + public Result GetUserRights(int userId, int organizationId) + { + if (_authorizationContext.GetOrganizationReadAccessLevel(organizationId) < OrganizationDataReadAccessLevel.All) + { + return new OperationError(OperationFailure.Forbidden); + } + var orgUuid = _identityResolver.ResolveUuid(organizationId); + if (orgUuid.IsNone) + { + return new OperationError("Organization id is invalid", OperationFailure.BadInput); + } + var userUuid = _identityResolver.ResolveUuid(userId); + if (userUuid.IsNone) + { + return new OperationError("User id is invalid", OperationFailure.BadInput); + } + + return _userService + .GetUserInOrganization(orgUuid.Value, userUuid.Value) + .Select(user => ExtractAllRightsInOrganization(user, orgUuid.Value)) + .Select(rights => new UserRightsAssignments + ( + rights.rolesInOrganization.Where(x => x != OrganizationRole.User && x != OrganizationRole.GlobalAdmin).ToList(), + rights.dprRights.ToList(), + rights.systemRights.ToList(), + rights.contractRights.ToList(), + rights.projectRights.ToList(), + rights.organizationUnitRights.ToList() + ) + ); + } + + public Maybe RemoveAllRights(int userId, int organizationId) + { + return MutateUserRights( + userId, + organizationId, + context => + RemoveRights + ( + context.user, + context.organization, + context.dprRights, + context.contractRights, + context.projectRights, + context.systemRights, + context.organizationUnitRights, + context.rolesInOrganization + ) + ); + } + + public Maybe RemoveRights(int userId, int organizationId, UserRightsChangeParameters parameters) + { + return MutateUserRights( + userId, + organizationId, + context => + RemoveRights + ( + context.user, + context.organization, + context.dprRights.Where(right => parameters.DataProcessingRegistrationRightIds.Contains(right.Id)).ToList(), + context.contractRights.Where(right => parameters.ContractRightIds.Contains(right.Id)).ToList(), + context.projectRights.Where(right => parameters.ProjectRightIds.Contains(right.Id)).ToList(), + context.systemRights.Where(right => parameters.SystemRightIds.Contains(right.Id)).ToList(), + context.organizationUnitRights.Where(right => parameters.OrganizationUnitRightsIds.Contains(right.Id)).ToList(), + context.rolesInOrganization.Where(role => parameters.AdministrativeAccessRoles.Contains(role)).ToList() + ) + ); + } + + public Maybe TransferRights(int fromUserId, int toUserId, int organizationId, UserRightsChangeParameters parameters) + { + if (fromUserId == toUserId) + { + return Maybe.None; + } + return MutateUserRights( + fromUserId, + organizationId, + context => + TransferRights + ( + context.user, + context.organization, + toUserId, + context.dprRights.Where(right => parameters.DataProcessingRegistrationRightIds.Contains(right.Id)).ToList(), + context.contractRights.Where(right => parameters.ContractRightIds.Contains(right.Id)).ToList(), + context.projectRights.Where(right => parameters.ProjectRightIds.Contains(right.Id)).ToList(), + context.systemRights.Where(right => parameters.SystemRightIds.Contains(right.Id)).ToList(), + context.organizationUnitRights.Where(right => parameters.OrganizationUnitRightsIds.Contains(right.Id)).ToList(), + context.rolesInOrganization.Where(role => parameters.AdministrativeAccessRoles.Contains(role)).ToList() + ) + ); + } + private Result, OperationError> MapOrganizationalRightsHolderRelation(IQueryable users, OrganizationRole role) { var result = new List(); @@ -61,5 +201,284 @@ private Result, OperationError> MapOrganizat return result; } + + private Maybe MutateUserRights( + int userId, + int organizationId, + Func<(Organization organization, User user, IEnumerable dprRights, IEnumerable contractRights, List projectRights, IEnumerable systemRights, IEnumerable organizationUnitRights, IEnumerable rolesInOrganization), Maybe> mutation) + { + var transaction = _transactionManager.Begin(); + var uuidResult = _identityResolver.ResolveUuid(organizationId); + + if (uuidResult.IsNone) + { + return new OperationError(nameof(organizationId), OperationFailure.BadInput); + } + + var error = _organizationService + .GetOrganization(uuidResult.Value, OrganizationDataReadAccessLevel.All) + .Bind(WithWriteAccess) + .Bind<(Organization organization, User user)>(organization => + { + var userResult = _userService.GetUsersInOrganization(organization.Uuid,new QueryById(userId)); + if (userResult.Failed) + { + return userResult.Error; + } + + var user = userResult.Value.FirstOrDefault(); + if (user == null) + { + return new OperationError($"User with id: {userId} not found in the organization", OperationFailure.NotFound); + } + + return (organization, user); + }) + .Select(orgAndUser => + { + var (organization, user) = orgAndUser; + var (dprRights, contractRights, projectRights, systemRights, organizationUnitRights, rolesInOrganization) = ExtractAllRightsInOrganization(user, organization.Uuid); + return + ( + organization, + user, + dprRights, + contractRights, + projectRights, + systemRights, + organizationUnitRights, + rolesInOrganization + ); + }) + .Match + ( + context => mutation(context), + error => error + ); + + if (error.IsNone) + { + _databaseControl.SaveChanges(); + transaction.Commit(); + } + else + { + transaction.Rollback(); + } + + return error; + } + + private static (List dprRights, List contractRights, List projectRights, List systemRights, List organizationUnitRights, List rolesInOrganization) ExtractAllRightsInOrganization(User user, Guid organizationUuid) + { + var dprRights = user.GetDataProcessingRegistrationRights(organizationUuid).ToList(); + var contractRights = user.GetItContractRights(organizationUuid).ToList(); + var projectRights = user.GetItProjectRights(organizationUuid).ToList(); + var systemRights = user.GetItSystemRights(organizationUuid).ToList(); + var organizationUnitRights = user.GetOrganizationUnitRights(organizationUuid).ToList(); + var rolesInOrganization = user.GetRolesInOrganization(organizationUuid).ToList(); + return (dprRights, contractRights, projectRights, systemRights, organizationUnitRights, rolesInOrganization); + } + + private Maybe RemoveRights( + User user, + Organization organization, + IEnumerable dprRights, + IEnumerable contractRights, + IEnumerable projectRights, + IEnumerable systemRights, + IEnumerable organizationUnitRights, + IEnumerable rolesInOrganization) + { + return RemoveBusinessRights(user, organization, dprRights, _dprRoleAssignmentsService) + .Match + ( + error => error, + () => RemoveBusinessRights(user, organization, contractRights, _itContractRightService) + ) + .Match + ( + error => error, + () => RemoveBusinessRights(user, organization, projectRights, _itProjectRightService) + ) + .Match + ( + error => error, + () => RemoveBusinessRights(user, organization, systemRights, _itSystemRightService) + ) + .Match + ( + error => error, + () => RemoveBusinessRights(user, organization, organizationUnitRights, _organizationUnitRightService) + ) + .Match + ( + error => error, + () => RemoveAdministrativeRoles(user, organization, rolesInOrganization) + ); + } + + private Maybe TransferRights( + User fromUser, + Organization organization, + int toUserId, + IEnumerable dprRights, + IEnumerable contractRights, + IEnumerable projectRights, + IEnumerable systemRights, + IEnumerable organizationUnitRights, + IEnumerable rolesInOrganization) + { + return TransferBusinessRights(fromUser, organization, toUserId, dprRights, _dprRoleAssignmentsService) + .Match + ( + error => error, + () => TransferBusinessRights(fromUser, organization, toUserId, contractRights, _itContractRightService) + ) + .Match + ( + error => error, + () => TransferBusinessRights(fromUser, organization, toUserId, projectRights, _itProjectRightService) + ) + .Match + ( + error => error, + () => TransferBusinessRights(fromUser, organization, toUserId, systemRights, _itSystemRightService) + ) + .Match + ( + error => error, + () => TransferBusinessRights(fromUser, organization, toUserId, organizationUnitRights, _organizationUnitRightService) + ) + .Match + ( + error => error, + () => TransferAdministrativeRoles(fromUser, organization, toUserId, rolesInOrganization) + ); + } + + private Maybe RemoveAdministrativeRoles(User user, Organization organization, IEnumerable rolesInOrganization) + { + foreach (var organizationRole in rolesInOrganization.ToList()) + { + var removeRoleResult = _organizationRightsService.RemoveRole(organization.Id, user.Id, organizationRole); + if (removeRoleResult.Failed) + { + var operationFailure = removeRoleResult.Error; + _logger.Error( + "Failed to remove role {role} from user {userId} in organization {organizationId}. Failed with {errorCode}", + organizationRole, user.Id, organization.Id, operationFailure); + { + return new OperationError("Failed removing organization role:" + organizationRole.ToString("G"), operationFailure); + } + } + } + + return Maybe.None; + } + + private Maybe TransferAdministrativeRoles(User user, Organization organization, int toUserId, IEnumerable rolesInOrganization) + { + var organizationRoles = rolesInOrganization.ToList(); + + //Start by removing the old assignments + var removeResult = RemoveAdministrativeRoles(user, organization, organizationRoles); + if (removeResult.HasValue) + { + return removeResult; + } + + // Re-assign the roles to the specified user + foreach (var role in organizationRoles) + { + var assignResult = _organizationRightsService.AssignRole(organization.Id, toUserId, role); + if (assignResult.Failed) + { + _logger.Error("Failed to assign role of type {roleType} user {userId} in organization {organizationId}. Failed with {error}", role, user.Id, organization.Id, assignResult.Error.ToString()); + { + return new OperationError($"Failed to assign role of type {role:G}:{assignResult.Error}", assignResult.Error); + } + } + } + + return Maybe.None; + } + + private Maybe RemoveBusinessRights( + User user, + Organization organization, + IEnumerable rights, + IRoleAssignmentService assignmentService) + where TRight : Entity, IRight + where TRole : OptionEntity, IRoleEntity, IOptionReference + where TModel : HasRightsEntity, IOwnedByOrganization + { + foreach (var right in rights.ToList()) + { + var removeRoleResult = assignmentService.RemoveRole(right.Object, right.RoleId, user.Id); + if (removeRoleResult.Failed) + { + _logger.Error( + "Failed to remove right {rightType}:{rightId} located on object: {objectType}:{objectId} from user {userId} in organization {organizationId}. Failed with {error}", + right.GetType().Name, right.Id, right.Object.GetType().Name, right.ObjectId, user.Id, organization.Id, removeRoleResult.Error.ToString() + ); + { + return new OperationError($"Failed to remove right of type {right.GetType().Name} with rightId {right.Id}:{removeRoleResult.Error}", removeRoleResult.Error.FailureType); + } + } + } + + return Maybe.None; + } + + private Maybe TransferBusinessRights( + User user, + Organization organization, + int toUserId, + IEnumerable rights, + IRoleAssignmentService assignmentService) + where TRight : Entity, IRight + where TRole : OptionEntity, IRoleEntity, IOptionReference + where TModel : HasRightsEntity, IOwnedByOrganization + { + var businessRights = rights.ToList(); + + //Take a snapshot of the rights info before we remove all relations + var rightsInfoSnapshot = businessRights.Select(r => (r.Object, r.RoleId)).ToList(); + + //Start by removing the original assignments + var removeResult = RemoveBusinessRights(user, organization, businessRights, assignmentService); + + if (removeResult.HasValue) + return removeResult.Value; + + // Re-assign the roles to the specified user + foreach (var right in rightsInfoSnapshot) + { + var assignResult = assignmentService.AssignRole(right.Object, right.RoleId, toUserId); + if (assignResult.Failed) + { + _logger.Error( + "Failed to assign right of type {rightType} with role {roleId} on object: {objectType}:{objectId} to user {userId} in organization {organizationId}. Failed with {error}", + typeof(TRight).Name, right.RoleId, right.Object.GetType().Name, right.Object.Id, toUserId, organization.Id, assignResult.Error.ToString() + ); + { + return new OperationError($"Failed to assign role of type {typeof(TRight).Name} with role {right.RoleId}:{assignResult.Error}", assignResult.Error.FailureType); + } + } + } + + return Maybe.None; + } + + private Result WithWriteAccess(Organization organization) + { + if (_authorizationContext.AllowModify(organization)) + { + return organization; + } + + return new OperationError(OperationFailure.Forbidden); + } } } diff --git a/Core.ApplicationServices/SSO/Factories/SsoStateFactory.cs b/Core.ApplicationServices/SSO/Factories/SsoStateFactory.cs index f8c05ed83e..7ef88c852d 100644 --- a/Core.ApplicationServices/SSO/Factories/SsoStateFactory.cs +++ b/Core.ApplicationServices/SSO/Factories/SsoStateFactory.cs @@ -20,7 +20,7 @@ public class SsoStateFactory : ISsoStateFactory { private readonly IStsBrugerInfoService _infoService; private readonly ISsoUserIdentityRepository _ssoUserIdentityRepository; - private readonly ISsoOrganizationIdentityRepository _ssoOrganizationIdentityRepository; + private readonly IStsOrganizationIdentityRepository _stsOrganizationIdentityRepository; private readonly Maybe _samlState; private readonly IUserRepository _userRepository; private readonly SsoFlowConfiguration _configuration; @@ -33,7 +33,7 @@ public class SsoStateFactory : ISsoStateFactory public SsoStateFactory( IStsBrugerInfoService infoService, ISsoUserIdentityRepository ssoUserIdentityRepository, - ISsoOrganizationIdentityRepository ssoOrganizationIdentityRepository, + IStsOrganizationIdentityRepository stsOrganizationIdentityRepository, Maybe samlState, IUserRepository userRepository, SsoFlowConfiguration configuration, @@ -44,7 +44,7 @@ public SsoStateFactory( { _infoService = infoService; _ssoUserIdentityRepository = ssoUserIdentityRepository; - _ssoOrganizationIdentityRepository = ssoOrganizationIdentityRepository; + _stsOrganizationIdentityRepository = stsOrganizationIdentityRepository; _samlState = samlState; _userRepository = userRepository; _configuration = configuration; @@ -76,7 +76,7 @@ public AbstractState CreateUserLoggedIn(User user) public AbstractState CreateUserIdentifiedState(User user, StsBrugerInfo stsBrugerInfo) { - return new UserIdentifiedState(user, stsBrugerInfo, _ssoUserIdentityRepository, _ssoOrganizationIdentityRepository, _organizationRepository, this, _logger); + return new UserIdentifiedState(user, stsBrugerInfo, _ssoUserIdentityRepository, _stsOrganizationIdentityRepository, _organizationRepository, this, _logger); } public AbstractState CreateAuthorizingUserState(User user, Organization organization) diff --git a/Core.ApplicationServices/SSO/State/UserIdentifiedState.cs b/Core.ApplicationServices/SSO/State/UserIdentifiedState.cs index e262d75a18..da8bf8ecc4 100644 --- a/Core.ApplicationServices/SSO/State/UserIdentifiedState.cs +++ b/Core.ApplicationServices/SSO/State/UserIdentifiedState.cs @@ -12,7 +12,7 @@ public class UserIdentifiedState : AbstractState private readonly User _user; private readonly StsBrugerInfo _externalUser; private readonly ISsoUserIdentityRepository _ssoUserIdentityRepository; - private readonly ISsoOrganizationIdentityRepository _ssoOrganizationIdentityRepository; + private readonly IStsOrganizationIdentityRepository _stsOrganizationIdentityRepository; private readonly IOrganizationRepository _organizationRepository; private readonly ISsoStateFactory _ssoStateFactory; private readonly ILogger _logger; @@ -21,7 +21,7 @@ public UserIdentifiedState( User user, StsBrugerInfo externalUser, ISsoUserIdentityRepository ssoUserIdentityRepository, - ISsoOrganizationIdentityRepository ssoOrganizationIdentityRepository, + IStsOrganizationIdentityRepository stsOrganizationIdentityRepository, IOrganizationRepository organizationRepository, ISsoStateFactory ssoStateFactory, ILogger logger) @@ -29,7 +29,7 @@ public UserIdentifiedState( _user = user; _externalUser = externalUser; _ssoUserIdentityRepository = ssoUserIdentityRepository; - _ssoOrganizationIdentityRepository = ssoOrganizationIdentityRepository; + _stsOrganizationIdentityRepository = stsOrganizationIdentityRepository; _organizationRepository = organizationRepository; _ssoStateFactory = ssoStateFactory; _logger = logger; @@ -64,7 +64,7 @@ private void AssociateUserWithExternalIdentity() private void HandleUserWithSsoIdentity(FlowContext context) { //Transition to authorizing state if organization sso binding already exists - var organizationByExternalIdResult = _ssoOrganizationIdentityRepository.GetByExternalUuid(_externalUser.BelongsToOrganizationUuid); + var organizationByExternalIdResult = _stsOrganizationIdentityRepository.GetByExternalUuid(_externalUser.BelongsToOrganizationUuid); if (organizationByExternalIdResult.HasValue) { context.TransitionTo(_ssoStateFactory.CreateAuthorizingUserState(_user, organizationByExternalIdResult.Value.Organization), @@ -77,7 +77,7 @@ private void HandleUserWithSsoIdentity(FlowContext context) if (organizationByCvrResult.HasValue) { var organization = organizationByCvrResult.Value; - var addOrganizationIdentityResult = _ssoOrganizationIdentityRepository.AddNew(organization, _externalUser.BelongsToOrganizationUuid); + var addOrganizationIdentityResult = _stsOrganizationIdentityRepository.AddNew(organization, _externalUser.BelongsToOrganizationUuid); if (addOrganizationIdentityResult.Failed) { //NOTE: This is not a blocker! - concurrency might be to blame but we log the error.. authentication is still allowed to proceed - it just failed to save the relation between org id and external uuid. diff --git a/Core.ApplicationServices/System/ItSystemService.cs b/Core.ApplicationServices/System/ItSystemService.cs index d64f59b2a9..d75e32ccec 100644 --- a/Core.ApplicationServices/System/ItSystemService.cs +++ b/Core.ApplicationServices/System/ItSystemService.cs @@ -6,6 +6,7 @@ using Core.Abstractions.Types; using Core.ApplicationServices.Authorization; using Core.ApplicationServices.Extensions; +using Core.ApplicationServices.Helpers; using Core.ApplicationServices.Interface; using Core.ApplicationServices.Model.Shared; using Core.ApplicationServices.Model.System; @@ -535,9 +536,7 @@ private static IEnumerable MapToUsingOrganization(IEnumerable return itSystemUsages.Select( itSystemUsage => new UsingOrganization( itSystemUsage.Id, - new NamedEntity( - itSystemUsage.Organization.Id, - itSystemUsage.Organization.Name))) + itSystemUsage.Organization.ToNamedEntity())) .ToList() .AsReadOnly(); } diff --git a/Core.ApplicationServices/SystemUsage/Write/ItSystemUsageWriteService.cs b/Core.ApplicationServices/SystemUsage/Write/ItSystemUsageWriteService.cs index 28c057839e..29bc360877 100644 --- a/Core.ApplicationServices/SystemUsage/Write/ItSystemUsageWriteService.cs +++ b/Core.ApplicationServices/SystemUsage/Write/ItSystemUsageWriteService.cs @@ -337,6 +337,10 @@ private Maybe UpdateArchiveSupplierOrganization(ItSystemUsage sy if (orgByUuid.Failed) return new OperationError($"Failed to get organization for ArchiveSupplierOrganization. Original error message: {orgByUuid.Error.Message.GetValueOrEmptyString()}", orgByUuid.Error.FailureType); + + //Not a change from current state so do not apply availability constraint + if (systemUsage.ArchiveSupplierId != null && systemUsage.ArchiveSupplierId == orgByUuid.Value.Id) + return Maybe.None; return systemUsage.UpdateArchiveSupplierOrganization(orgByUuid.Value); } diff --git a/Core.ApplicationServices/UIConfiguration/Handlers/HandleUserBeingDeleted.cs b/Core.ApplicationServices/UIConfiguration/Handlers/HandleUserBeingDeleted.cs new file mode 100644 index 0000000000..50560dcfcc --- /dev/null +++ b/Core.ApplicationServices/UIConfiguration/Handlers/HandleUserBeingDeleted.cs @@ -0,0 +1,47 @@ +using System.Linq; +using Core.Abstractions.Extensions; +using Core.ApplicationServices.Rights; +using Core.DomainModel; +using Core.DomainModel.Events; +using Core.DomainServices.Repositories.SSO; + +namespace Core.ApplicationServices.UIConfiguration.Handlers +{ + public class HandleUserBeingDeleted : IDomainEventHandler> + { + private readonly ISsoUserIdentityRepository _ssoUserIdentityRepository; + private readonly IUserRightsService _userRightsService; + + + public HandleUserBeingDeleted(ISsoUserIdentityRepository ssoUserIdentityRepository, IUserRightsService userRightsService) + { + _ssoUserIdentityRepository = ssoUserIdentityRepository; + _userRightsService = userRightsService; + } + + public void Handle(EntityBeingDeletedEvent domainEvent) + { + var user = domainEvent.Entity; + + var organizationIds = user.GetOrganizationIds().ToList(); + + foreach (var organizationId in organizationIds) + { + _userRightsService.RemoveAllRights(user.Id, organizationId).ThrowOnValue(); + } + + ClearSsoIdentities(user); + } + + private void ClearSsoIdentities(User user) + { + var roles = user.SsoIdentities; + if (roles == null) + return; + + _ssoUserIdentityRepository.DeleteIdentitiesForUser(user); + roles.Clear(); + } + + } +} \ No newline at end of file diff --git a/Core.ApplicationServices/UserService.cs b/Core.ApplicationServices/UserService.cs index 2233ad4489..d85bdff64f 100644 --- a/Core.ApplicationServices/UserService.cs +++ b/Core.ApplicationServices/UserService.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using System.Net.Mail; using System.Security; @@ -13,10 +14,12 @@ using Core.ApplicationServices.Authorization; using Core.ApplicationServices.Organizations; using Core.DomainModel.Events; +using Core.DomainModel.Organization.DomainEvents; using Infrastructure.Services.Cryptography; using Core.DomainServices.Authorization; using Core.DomainServices.Extensions; using Core.DomainServices.Queries; +using Infrastructure.Services.DataAccess; namespace Core.ApplicationServices @@ -30,6 +33,7 @@ public class UserService : IUserService private readonly bool _useDefaultUserPassword; private readonly IUserRepository _repository; private readonly IOrganizationService _organizationService; + private readonly ITransactionManager _transactionManager; private readonly IGenericRepository _userRepository; private readonly IGenericRepository _orgRepository; private readonly IGenericRepository _passwordResetRequestRepository; @@ -38,6 +42,7 @@ public class UserService : IUserService private readonly IAuthorizationContext _authorizationContext; private readonly IDomainEvents _domainEvents; private readonly SHA256Managed _crypt; + private readonly IOrganizationalUserContext _organizationalUserContext; private static readonly RNGCryptoServiceProvider rngCsp = new(); private const string KitosManualsLink = "https://os2.eu/Kitosvejledning"; @@ -54,7 +59,9 @@ public UserService(TimeSpan ttl, IAuthorizationContext authorizationContext, IDomainEvents domainEvents, IUserRepository repository, - IOrganizationService organizationService) + IOrganizationService organizationService, + ITransactionManager transactionManager, + IOrganizationalUserContext organizationalUserContext) { _ttl = ttl; _baseUrl = baseUrl; @@ -70,6 +77,8 @@ public UserService(TimeSpan ttl, _domainEvents = domainEvents; _repository = repository; _organizationService = organizationService; + _transactionManager = transactionManager; + _organizationalUserContext = organizationalUserContext; _crypt = new SHA256Managed(); if (useDefaultUserPassword && string.IsNullOrWhiteSpace(defaultUserPassword)) { @@ -124,7 +133,7 @@ public void IssueAdvisMail(User user, bool reminder, int orgId) "'>her, hvor du første gang bliver bedt om at indtaste et nyt password for din KITOS profil.

" + "

Linket udløber om " + _ttl.TotalDays + " dage. Klik her, " + "hvis dit link er udløbet og du vil blive ledt til 'Glemt password' proceduren.

" + - "

Klik her for at få Hjælp til log ind og brugerkonto

" + + "

Klik her for at få Hjælp til log ind og brugerkonto

" + "

Bemærk at denne mail ikke kan besvares.

"; IssuePasswordReset(user, subject, content); @@ -149,7 +158,7 @@ public PasswordResetRequest IssuePasswordReset(User user, string subject, string "

Klik her for at nulstille passwordet for din KITOS profil.

" + "

Linket udløber om " + _ttl.TotalDays + " dage.

" + - "

Klik her for at få Hjælp til log ind og brugerkonto

" + + "

Klik her for at få Hjælp til log ind og brugerkonto

" + "

Bemærk at denne mail ikke kan besvares.

"; } var mailSubject = "Nulstilning af dit KITOS password" + _mailSuffix; @@ -280,5 +289,65 @@ public Result GetUserInOrganization(Guid organizationUuid, ) ); } + + public Result, OperationError> SearchAllKitosUsers(params IDomainQuery[] queries) + { + if (_authorizationContext.GetCrossOrganizationReadAccess() < CrossOrganizationDataReadAccessLevel.All) + { + return Result, OperationError>.Failure(OperationFailure.Forbidden); + } + + var query = new IntersectionQuery(queries); + + return _repository + .GetUsers() + .Where(x => !x.Deleted) + .Transform(query.Apply) + .Transform(Result, OperationError>.Success); + } + + public Maybe DeleteUserFromKitos(Guid userUuid) + { + using var transaction = _transactionManager.Begin(); + + var user = _userRepository.AsQueryable().ByUuid(userUuid); + if (user == null) + return new OperationError(OperationFailure.NotFound); + if(_organizationalUserContext.UserId == user.Id) + return new OperationError("You cannot delete a user you are currently logged in as", OperationFailure.Forbidden); + + + if (!_authorizationContext.AllowDelete(user)) + return new OperationError(OperationFailure.Forbidden); + + _domainEvents.Raise(new EntityBeingDeletedEvent(user)); + + Delete(user); + _userRepository.Save(); + transaction.Commit(); + + _domainEvents.Raise(new AdministrativeAccessRightsChanged(user.Id)); + + return Maybe.None; + } + + private static void Delete(User user) + { + user.LockedOutDate = DateTime.Now; + user.EmailBeforeDeletion = user.Email; + user.Email = $"{Guid.NewGuid()}_deleted_user@kitos.dk"; + user.PhoneNumber = null; + user.LastName = $"{(user.LastName ?? "").TrimEnd()} (SLETTET)"; + user.DeletedDate = DateTime.Now; + user.Deleted = true; + user.IsGlobalAdmin = false; + user.HasApiAccess = false; + user.HasStakeHolderAccess = false; + + user.ItProjectStatuses.Clear(); + user.ResponsibleForCommunications.Clear(); + user.HandoverParticipants.Clear(); + user.ResponsibleForRisks.Clear(); + } } } diff --git a/Core.ApplicationServices/app.config b/Core.ApplicationServices/app.config index eabc9fcd20..2deffbdcc6 100644 --- a/Core.ApplicationServices/app.config +++ b/Core.ApplicationServices/app.config @@ -8,7 +8,7 @@ - + diff --git a/Core.ApplicationServices/packages.config b/Core.ApplicationServices/packages.config index 32b1cf9f10..33097da8b8 100644 --- a/Core.ApplicationServices/packages.config +++ b/Core.ApplicationServices/packages.config @@ -3,7 +3,7 @@ - + \ No newline at end of file diff --git a/Core.BackgroundJobs/Core.BackgroundJobs.csproj b/Core.BackgroundJobs/Core.BackgroundJobs.csproj index 5b9449f9ac..9498c62a0c 100644 --- a/Core.BackgroundJobs/Core.BackgroundJobs.csproj +++ b/Core.BackgroundJobs/Core.BackgroundJobs.csproj @@ -45,8 +45,8 @@ ..\packages\Microsoft.Owin.Host.SystemWeb.4.1.0\lib\net45\Microsoft.Owin.Host.SystemWeb.dll - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\Ninject.3.3.4\lib\net45\Ninject.dll @@ -77,6 +77,7 @@ + diff --git a/Core.BackgroundJobs/Model/ExternalLinks/CheckExternalLinksBackgroundJob.cs b/Core.BackgroundJobs/Model/ExternalLinks/CheckExternalLinksBackgroundJob.cs index 6b12ed148c..2578506fa3 100644 --- a/Core.BackgroundJobs/Model/ExternalLinks/CheckExternalLinksBackgroundJob.cs +++ b/Core.BackgroundJobs/Model/ExternalLinks/CheckExternalLinksBackgroundJob.cs @@ -124,6 +124,8 @@ private static BrokenLinkCause ParseCause(EndpointValidationErrorType errorError return BrokenLinkCause.CommunicationError; case EndpointValidationErrorType.ErrorResponseCode: return BrokenLinkCause.ErrorResponse; + case EndpointValidationErrorType.TlsError: + return BrokenLinkCause.TlsError; default: throw new ArgumentOutOfRangeException(nameof(errorErrorType), errorErrorType, null); } diff --git a/Core.BackgroundJobs/Model/ReadModels/ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState.cs b/Core.BackgroundJobs/Model/ReadModels/ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState.cs new file mode 100644 index 0000000000..46c67661a5 --- /dev/null +++ b/Core.BackgroundJobs/Model/ReadModels/ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState.cs @@ -0,0 +1,66 @@ +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Core.Abstractions.Types; +using Core.DomainModel.BackgroundJobs; +using Core.DomainServices.Repositories.BackgroundJobs; +using Core.DomainServices.Repositories.SystemUsage; +using Infrastructure.Services.DataAccess; + +namespace Core.BackgroundJobs.Model.ReadModels +{ + /// + /// The purpose of this task is to: + /// - Query the current state of the read models for IT-System Usage and identify those who must be scheduled for an update since their Active state contains stale data + /// + /// Why do we need this?: + /// - Read models are normally updated whenever a change to it or one of its dependencies (or parents) change but if no user changes occur, the data will be stable + /// - Active state depends on the current time, and since read models are computed snapshots (to enable queries in the grid) we must keep them in sync using this job which is triggered daily (See Startup.cs) + /// + public class ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState : IAsyncBackgroundJob + { + private readonly IItSystemUsageOverviewReadModelRepository _readModelRepository; + private readonly IPendingReadModelUpdateRepository _pendingReadModelUpdateRepository; + private readonly ITransactionManager _transactionManager; + private readonly IDatabaseControl _databaseControl; + public string Id => StandardJobIds.ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState; + + public ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState( + IItSystemUsageOverviewReadModelRepository readModelRepository, + IPendingReadModelUpdateRepository pendingReadModelUpdateRepository, + ITransactionManager transactionManager, + IDatabaseControl databaseControl) + { + _readModelRepository = readModelRepository; + _pendingReadModelUpdateRepository = pendingReadModelUpdateRepository; + _transactionManager = transactionManager; + _databaseControl = databaseControl; + } + + public Task> ExecuteAsync(CancellationToken token = default) + { + using var transaction = _transactionManager.Begin(); + + var idsOfSourceEntitiesWhichHaveChangedState = _readModelRepository + .GetReadModelsMustUpdateToChangeActiveState() + .Select(x => x.SourceEntity.Id) + .Distinct() + .ToList(); + + var pendingReadModelUpdates = idsOfSourceEntitiesWhichHaveChangedState + .Select(id => PendingReadModelUpdate.Create(id, PendingReadModelUpdateSourceCategory.ItSystemUsage)) + .ToList(); + + if (pendingReadModelUpdates.Any()) + { + _pendingReadModelUpdateRepository.AddMany(pendingReadModelUpdates); + + _databaseControl.SaveChanges(); + transaction.Commit(); + } + + return Task.FromResult(Result.Success($"Scheduled {idsOfSourceEntitiesWhichHaveChangedState.Count} updates")); + + } + } +} diff --git a/Core.BackgroundJobs/Model/StandardJobIds.cs b/Core.BackgroundJobs/Model/StandardJobIds.cs index 27faad024c..a5a9723d70 100644 --- a/Core.BackgroundJobs/Model/StandardJobIds.cs +++ b/Core.BackgroundJobs/Model/StandardJobIds.cs @@ -11,5 +11,6 @@ public static class StandardJobIds public static readonly string RebuildDataProcessingReadModels = $"{NamePrefix}rebuild-dpr-read-models"; public static readonly string RebuildItSystemUsageReadModels = $"{NamePrefix}rebuild-it-system-usage-read-models"; public static readonly string PurgeDuplicatePendingReadModelUpdates = $"{NamePrefix}purge-duplicate-read-model-updates"; + public static readonly string ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState = $"{NamePrefix}fix-stale-itsystem-usage-rms"; } } diff --git a/Core.BackgroundJobs/Services/BackgroundJobLauncher.cs b/Core.BackgroundJobs/Services/BackgroundJobLauncher.cs index e95ddc8566..47a4ca2d0e 100644 --- a/Core.BackgroundJobs/Services/BackgroundJobLauncher.cs +++ b/Core.BackgroundJobs/Services/BackgroundJobLauncher.cs @@ -21,6 +21,7 @@ public class BackgroundJobLauncher : IBackgroundJobLauncher private readonly ScheduleItSystemUsageOverviewReadModelUpdates _scheduleItSystemUsageOverviewReadModelUpdates; private readonly IRebuildReadModelsJobFactory _rebuildReadModelsJobFactory; private readonly PurgeDuplicatePendingReadModelUpdates _purgeDuplicatePendingReadModelUpdates; + private readonly ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState _scheduleUpdatesForItSystemUsageReadModelsWhichChangesActive; public BackgroundJobLauncher( ILogger logger, @@ -30,7 +31,8 @@ public BackgroundJobLauncher( RebuildItSystemUsageOverviewReadModelsBatchJob rebuildItSystemUsageOverviewReadModels, ScheduleItSystemUsageOverviewReadModelUpdates scheduleItSystemUsageOverviewReadModelUpdates, IRebuildReadModelsJobFactory rebuildReadModelsJobFactory, - PurgeDuplicatePendingReadModelUpdates purgeDuplicatePendingReadModelUpdates) + PurgeDuplicatePendingReadModelUpdates purgeDuplicatePendingReadModelUpdates, + ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState scheduleUpdatesForItSystemUsageReadModelsWhichChangesActive) { _logger = logger; _checkExternalLinksJob = checkExternalLinksJob; @@ -40,6 +42,7 @@ public BackgroundJobLauncher( _scheduleItSystemUsageOverviewReadModelUpdates = scheduleItSystemUsageOverviewReadModelUpdates; _rebuildReadModelsJobFactory = rebuildReadModelsJobFactory; _purgeDuplicatePendingReadModelUpdates = purgeDuplicatePendingReadModelUpdates; + _scheduleUpdatesForItSystemUsageReadModelsWhichChangesActive = scheduleUpdatesForItSystemUsageReadModelsWhichChangesActive; } public async Task LaunchLinkCheckAsync(CancellationToken token = default) @@ -78,6 +81,11 @@ public async Task LaunchPurgeDuplicatedReadModelUpdates(CancellationToken token) await Launch(_purgeDuplicatePendingReadModelUpdates, token); } + public async Task LaunchUpdateStaleSystemUsageRmAsync(CancellationToken token = default) + { + await Launch(_scheduleUpdatesForItSystemUsageReadModelsWhichChangesActive, token); + } + private async Task Launch(IAsyncBackgroundJob job, CancellationToken token = default) { var jobId = job.Id; diff --git a/Core.BackgroundJobs/app.config b/Core.BackgroundJobs/app.config index 3959accb65..684b291d7d 100644 --- a/Core.BackgroundJobs/app.config +++ b/Core.BackgroundJobs/app.config @@ -4,7 +4,7 @@ - + diff --git a/Core.BackgroundJobs/packages.config b/Core.BackgroundJobs/packages.config index 138cc799a7..5196bea5f1 100644 --- a/Core.BackgroundJobs/packages.config +++ b/Core.BackgroundJobs/packages.config @@ -5,7 +5,7 @@ - + diff --git a/Core.DomainModel/Advice/Advice.cs b/Core.DomainModel/Advice/Advice.cs index 003f701072..6f1a7ec656 100644 --- a/Core.DomainModel/Advice/Advice.cs +++ b/Core.DomainModel/Advice/Advice.cs @@ -89,48 +89,7 @@ public Advice() { /// The sent date. /// public DateTime? SentDate { get; set; } - - /// - /// Gets or sets the receiver contract role identifier. - /// - /// - /// Contract role id of which to send email. - /// - /// - /// The receiver identifier. - /// - public int? ReceiverId { get; set; } - /// - /// Gets or sets the receiver contract role. - /// - /// - /// Contract role of which to send email. - /// - /// - /// The receiver. - /// - public IRoleEntity Receiver { get; set; } - - /// - /// Gets or sets the carbon copy receiver contract role identifier. - /// - /// - /// Contract role of which to send email. - /// - /// - /// The carbon copy receiver identifier. - /// - public int? CarbonCopyReceiverId { get; set; } - /// - /// Gets or sets the carbon copy contract role receiver. - /// - /// - /// Contract role of which to send email. - /// - /// - /// The carbon copy receiver. - /// - public IRoleEntity CarbonCopyReceiver { get; set; } + /// /// Gets or sets the body of the email. /// diff --git a/Core.DomainModel/Advice/AdviceUserRelation.cs b/Core.DomainModel/Advice/AdviceUserRelation.cs index 411afdc917..d7e54e581e 100644 --- a/Core.DomainModel/Advice/AdviceUserRelation.cs +++ b/Core.DomainModel/Advice/AdviceUserRelation.cs @@ -1,23 +1,42 @@ -using Core.DomainModel.ItContract; +using Core.DomainModel.GDPR; +using Core.DomainModel.ItContract; using Core.DomainModel.ItProject; using Core.DomainModel.ItSystem; namespace Core.DomainModel.Advice { - public enum RecieverType { - ROLE, - USER, - CC, - RECIEVER + public enum RecieverType + { + CC = 2, //NOTE starts at 2 because RecipientType used to live here + RECIEVER = 3 + } + + public enum RecipientType + { + ROLE = 0, + USER = 1 } public class AdviceUserRelation : Entity, IProjectModule, ISystemModule, IContractModule { - public string Name { get; set; } - public RecieverType RecieverType { get; set; } - public RecieverType RecpientType { get; set; } public int? AdviceId { get; set; } - public virtual Advice Advice { get; set; } + public int? ItContractRoleId { get; set; } + public virtual ItContractRole ItContractRole { get; set; } + public int? ItProjectRoleId { get; set; } + public virtual ItProjectRole ItProjectRole { get; set; } + public int? ItSystemRoleId { get; set; } + public virtual ItSystemRole ItSystemRole { get; set; } + public int? DataProcessingRegistrationRoleId { get; set; } + public virtual DataProcessingRegistrationRole DataProcessingRegistrationRole { get; set; } + + /// + /// Used for non-role assignments. It is a manually entered email with no coupling to kitos users. + /// + public string Email { get; set; } + + public RecieverType RecieverType { get; set; } + public RecipientType RecpientType { get; set; } + public virtual Advice Advice { get; set; } } } diff --git a/Core.DomainModel/Core.DomainModel.csproj b/Core.DomainModel/Core.DomainModel.csproj index 63dd1a17a4..548024a53c 100644 --- a/Core.DomainModel/Core.DomainModel.csproj +++ b/Core.DomainModel/Core.DomainModel.csproj @@ -54,6 +54,7 @@ + @@ -66,6 +67,7 @@ + @@ -165,7 +167,6 @@ - @@ -184,17 +185,14 @@ - + - - - @@ -267,7 +265,7 @@ - + diff --git a/Core.DomainModel/GDPR/DataProcessingRegistrationRole.cs b/Core.DomainModel/GDPR/DataProcessingRegistrationRole.cs index 8850c5d5c1..8cb66a922a 100644 --- a/Core.DomainModel/GDPR/DataProcessingRegistrationRole.cs +++ b/Core.DomainModel/GDPR/DataProcessingRegistrationRole.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using Core.DomainModel.Advice; namespace Core.DomainModel.GDPR { @@ -9,5 +10,7 @@ public class DataProcessingRegistrationRole : OptionEntity References { get; set; } + + public virtual ICollection AdviceUserRelations { get; set; } = new List(); } } diff --git a/Core.DomainModel/GDPR/Read/DataProcessingRegistrationReadModel.cs b/Core.DomainModel/GDPR/Read/DataProcessingRegistrationReadModel.cs index d6f52ec29d..b361550032 100644 --- a/Core.DomainModel/GDPR/Read/DataProcessingRegistrationReadModel.cs +++ b/Core.DomainModel/GDPR/Read/DataProcessingRegistrationReadModel.cs @@ -31,6 +31,7 @@ public DataProcessingRegistrationReadModel() public string MainReferenceTitle { get; set; } public string SystemNamesAsCsv { get; set; } + public string SystemUuidsAsCsv { get; set; } public string DataProcessorNamesAsCsv { get; set; } @@ -59,5 +60,8 @@ public DataProcessingRegistrationReadModel() public YesNoUndecidedOption? IsOversightCompleted { get; set; } public string ContractNamesAsCsv { get; set; } + public int? LastChangedById { get; set; } + public string LastChangedByName { get; set; } + public DateTime LastChangedAt { get; set; } } } diff --git a/Core.DomainModel/IRoleEntity.cs b/Core.DomainModel/IRoleEntity.cs index 3fc968bee5..fb9da3d955 100644 --- a/Core.DomainModel/IRoleEntity.cs +++ b/Core.DomainModel/IRoleEntity.cs @@ -4,7 +4,7 @@ /// Base entity for a role. Notice that the role entity does NOT specific which user has that role, /// nor what is the object of the role. This is done using the IRight. /// - public interface IRoleEntity + public interface IRoleEntity : IHasName, IEntity { bool HasReadAccess { get; set; } bool HasWriteAccess { get; set; } diff --git a/Core.DomainModel/ItContract/CriticalityType.cs b/Core.DomainModel/ItContract/CriticalityType.cs new file mode 100644 index 0000000000..9a7a2bcd4c --- /dev/null +++ b/Core.DomainModel/ItContract/CriticalityType.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace Core.DomainModel.ItContract +{ + public class CriticalityType : OptionEntity, IOptionReference + { + public virtual ICollection References { get; set; } = new HashSet(); + } +} diff --git a/Core.DomainModel/ItContract/EconomyStream.cs b/Core.DomainModel/ItContract/EconomyStream.cs index 051e1ce2fb..8570252ffc 100644 --- a/Core.DomainModel/ItContract/EconomyStream.cs +++ b/Core.DomainModel/ItContract/EconomyStream.cs @@ -7,7 +7,7 @@ namespace Core.DomainModel.ItContract /// /// It contract economy stream. /// - public class EconomyStream : Entity, IIsPartOfOrganization, IContractModule, IHasAccessModifier + public class EconomyStream : Entity, IIsPartOfOrganization, IContractModule { /// /// The EconomyStream might be an extern payment for a contract. @@ -95,12 +95,9 @@ public class EconomyStream : Entity, IIsPartOfOrganization, IContractModule, IHa /// public string Note { get; set; } - public AccessModifier AccessModifier { get; set; } - public EconomyStream() { - // Default "Synlighed" must be local - AccessModifier = AccessModifier.Local; + } public static EconomyStream CreateInternalEconomyStream(ItContract contract, OrganizationUnit optionalOrganizationUnit, int acquisition, int operation, int other, string accountingEntry, TrafficLight auditStatus, DateTime? auditDate, string note) @@ -131,7 +128,6 @@ private static EconomyStream CreateEconomyStreamWithoutDirection(OrganizationUni Acquisition = acquisition, Note = note, AuditDate = auditDate?.Date, - AccessModifier = AccessModifier.Local, AuditStatus = auditStatus, Operation = operation, Other = other, diff --git a/Core.DomainModel/ItContract/HandoverTrial.cs b/Core.DomainModel/ItContract/HandoverTrial.cs deleted file mode 100644 index 0dc9443c52..0000000000 --- a/Core.DomainModel/ItContract/HandoverTrial.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; - -namespace Core.DomainModel.ItContract -{ - public class HandoverTrial : Entity, IContractModule - { - public DateTime? Expected { get; set; } - public DateTime? Approved { get; set; } - public int ItContractId { get; set; } - public virtual ItContract ItContract { get; set; } - - public int? HandoverTrialTypeId { get; set; } - public virtual HandoverTrialType HandoverTrialType { get; set; } - - /// - /// Determines whether a user has write access to this instance. - /// - /// The user. - /// - /// true if user has write access, otherwise false. - /// - public override bool HasUserWriteAccess(User user) - { - if (ItContract != null && ItContract.HasUserWriteAccess(user)) - return true; - - return base.HasUserWriteAccess(user); - } - } -} diff --git a/Core.DomainModel/ItContract/HandoverTrialType.cs b/Core.DomainModel/ItContract/HandoverTrialType.cs deleted file mode 100644 index 7ef3c99384..0000000000 --- a/Core.DomainModel/ItContract/HandoverTrialType.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Collections.Generic; - -namespace Core.DomainModel.ItContract -{ - public class HandoverTrialType : OptionEntity, IOptionReference - { - public virtual ICollection References { get; set; } = new HashSet(); - } -} diff --git a/Core.DomainModel/ItContract/ItContract.cs b/Core.DomainModel/ItContract/ItContract.cs index b137ce6f53..0de7af542b 100644 --- a/Core.DomainModel/ItContract/ItContract.cs +++ b/Core.DomainModel/ItContract/ItContract.cs @@ -10,6 +10,7 @@ using Core.DomainModel.Extensions; using Core.DomainModel.Notification; +using Core.DomainModel.Shared; // ReSharper disable VirtualMemberCallInConstructor @@ -27,13 +28,11 @@ public ItContract() Children = new List(); AssociatedAgreementElementTypes = new List(); AssociatedSystemUsages = new List(); - PaymentMilestones = new List(); InternEconomyStreams = new List(); ExternEconomyStreams = new List(); ExternalReferences = new List(); DataProcessingRegistrations = new List(); UserNotifications = new List(); - HandoverTrials = new List(); Uuid = Guid.NewGuid(); MarkAsDirty(); } @@ -218,7 +217,7 @@ public bool IsActive public virtual Organization.Organization Supplier { get; set; } /// - /// Gets or sets the chosen procurement strategy option identifier. (udbudsstrategi) + /// Gets or sets the chosen procurement strategy option identifier. (Genanskaffelsesstrategi) /// /// /// Chosen procurement strategy identifier. @@ -226,7 +225,7 @@ public bool IsActive public int? ProcurementStrategyId { get; set; } /// - /// Gets or sets the chosen procurement strategy option. (udbudsstrategi) + /// Gets or sets the chosen procurement strategy option. (Genanskaffelsesstrategi) /// /// /// Chosen procurement strategy. @@ -234,27 +233,35 @@ public bool IsActive public virtual ProcurementStrategyType ProcurementStrategy { get; set; } /// - /// Gets or sets the procurement plan half. (udbudsplan) + /// Gets or sets the procurement plan half. (genanskaffelsesplan) /// /// /// The other part of this option is /// /// - /// Can be either 1 for the 1st and 2nd quarter or 2 for the 3rd and 4th quarter. + /// Can have a value between 1 and 4 for each of the quarters. /// - public int? ProcurementPlanHalf { get; set; } + public int? ProcurementPlanQuarter { get; set; } /// - /// Gets or sets the procurement plan year. (udbudsplan) + /// Gets or sets the procurement plan year. (genanskaffelsesplan) /// /// - /// the other part of this option is + /// the other part of this option is /// /// /// The procurement plan year. /// public int? ProcurementPlanYear { get; set; } + /// + /// Gets or sets if procurement has been initiated (Genanskaffelse igangsat) + /// + /// + /// Yes/No/Undecided procurment initiated. + /// + public YesNoUndecidedOption? ProcurementInitiated { get; set; } + /// /// Gets or sets the chosen contract template identifier. /// @@ -327,6 +334,23 @@ public bool IsActive /// public virtual ICollection Children { get; set; } + + /// + /// Id of criticality type ItContract + /// + /// + /// The criticality type identifier. + /// + public int? CriticalityId { get; set; } + + /// + /// The criticality of ItContract + /// + /// + /// The criticality. + /// + public virtual CriticalityType Criticality { get; set; } + #endregion #region Deadlines (aftalefrister) @@ -401,26 +425,10 @@ public bool IsActive /// public virtual TerminationDeadlineType TerminationDeadline { get; set; } - /// - /// Gets or sets the payment milestones. - /// - /// - /// The payment milestones. - /// - public virtual ICollection PaymentMilestones { get; set; } - public int? OptionExtendId { get; set; } public virtual OptionExtendType OptionExtend { get; set; } public int ExtendMultiplier { get; set; } - /// - /// Gets or sets the handover trials. - /// - /// - /// The handover trials. - /// - public virtual ICollection HandoverTrials { get; set; } - /// /// /// @@ -575,6 +583,12 @@ public void ResetContractTemplate() ContractTemplate = null; } + public void ResetCriticality() + { + Criticality?.Track(); + Criticality = null; + } + public Maybe UpdateContractValidityPeriod(DateTime? newValidFrom, DateTime? newValidTo) { var validFromDate = newValidFrom?.Date; @@ -660,19 +674,19 @@ public void ResetPurchaseForm() public void ResetProcurementPlan() { - ProcurementPlanHalf = null; + ProcurementPlanQuarter = null; ProcurementPlanYear = null; } - public Maybe UpdateProcurementPlan((byte half, int year) plan) + public Maybe UpdateProcurementPlan((byte quarter, int year) plan) { - var (half, year) = plan; - if (half is < 1 or > 2) + var (quarter, year) = plan; + if (quarter is < 1 or > 4) { - return new OperationError("Half Of Year has to be either 1 or 2", OperationFailure.BadInput); + return new OperationError("Quarter Of Year has to be either 1, 2, 3 or 4", OperationFailure.BadInput); } - ProcurementPlanHalf = half; + ProcurementPlanQuarter = quarter; ProcurementPlanYear = year; return Maybe.None; } @@ -731,29 +745,6 @@ public Maybe SetSupplierOrganization(Organization.Organization o return Maybe.None; } - public void ResetHandoverTrials() - { - HandoverTrials.Clear(); - } - - public Maybe AddHandoverTrial(HandoverTrialType trialType, DateTime? expected, DateTime? approved) - { - if (trialType == null) - throw new ArgumentNullException(nameof(trialType)); - - if (expected.HasValue == false && approved.HasValue == false) - return new OperationError("Error: expected and approved cannot both be null", OperationFailure.BadInput); - - HandoverTrials.Add(new HandoverTrial() - { - Approved = approved?.Date, - Expected = expected?.Date, - ItContract = this, - HandoverTrialType = trialType - }); - return Maybe.None; - } - public Maybe UpdateExtendMultiplier(int extendMultiplier) { if (extendMultiplier < 0) @@ -807,30 +798,6 @@ public void ResetPriceRegulation() PriceRegulation = null; } - public void ResetPaymentMilestones() - { - PaymentMilestones.Track(); - PaymentMilestones.Clear(); - } - - public Maybe AddPaymentMilestone(string title, DateTime? expected, DateTime? approved) - { - if (string.IsNullOrEmpty(title)) - return new OperationError("Error: title cannot be empty", OperationFailure.BadInput); - - if (expected.HasValue == false && approved.HasValue == false) - return new OperationError("Error: expected and approved cannot both be null", OperationFailure.BadInput); - - PaymentMilestones.Add(new PaymentMilestone() - { - Title = title, - Expected = expected?.Date, - Approved = approved?.Date - }); - - return Maybe.None; - } - public void ResetInternalEconomyStreams() { InternEconomyStreams.Clear(); diff --git a/Core.DomainModel/ItContract/ItContractRole.cs b/Core.DomainModel/ItContract/ItContractRole.cs index 4f005ff952..58e46fa35c 100644 --- a/Core.DomainModel/ItContract/ItContractRole.cs +++ b/Core.DomainModel/ItContract/ItContractRole.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using Core.DomainModel.Advice; namespace Core.DomainModel.ItContract { @@ -15,5 +16,6 @@ public ItContractRole() public bool HasReadAccess { get; set; } public bool HasWriteAccess { get; set; } public virtual ICollection References { get; set; } = new HashSet(); + public virtual ICollection AdviceUserRelations { get; set; } = new List(); } } diff --git a/Core.DomainModel/ItContract/PaymentMilestone.cs b/Core.DomainModel/ItContract/PaymentMilestone.cs deleted file mode 100644 index 3efffbc9d1..0000000000 --- a/Core.DomainModel/ItContract/PaymentMilestone.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System; - -namespace Core.DomainModel.ItContract -{ - /// - /// It contract payment milestone - /// - public class PaymentMilestone : Entity, IContractModule - { - /// - /// Gets or sets the title. - /// - /// - /// The title. - /// - public string Title { get; set; } - /// - /// Gets or sets the expected date. - /// - /// - /// The expected date. - /// - public DateTime? Expected { get; set; } - /// - /// Gets or sets the approved date. - /// - /// - /// The approved date. - /// - public DateTime? Approved { get; set; } - /// - /// Gets or sets the associated it contract identifier. - /// - /// - /// It contract identifier. - /// - public int ItContractId { get; set; } - /// - /// Gets or sets the associated it contract. - /// - /// - /// It contract. - /// - public virtual ItContract ItContract { get; set; } - - - /// - /// Determines whether a user has write access to this instance. - /// - /// The user. - /// - /// true if user has write access, otherwise false. - /// - public override bool HasUserWriteAccess(User user) - { - if (ItContract != null && ItContract.HasUserWriteAccess(user)) - return true; - - return base.HasUserWriteAccess(user); - } - } -} diff --git a/Core.DomainModel/ItContract/ProcurementStrategyType.cs b/Core.DomainModel/ItContract/ProcurementStrategyType.cs index fabfe74214..91981f6d3f 100644 --- a/Core.DomainModel/ItContract/ProcurementStrategyType.cs +++ b/Core.DomainModel/ItContract/ProcurementStrategyType.cs @@ -3,7 +3,7 @@ namespace Core.DomainModel.ItContract { /// - /// It contract procurment strategy option. (udbudsstrategi) + /// It contract procurment strategy option. (Genanskaffelsesstrategi) /// public class ProcurementStrategyType : OptionEntity, IOptionReference { diff --git a/Core.DomainModel/ItProject/ItProjectRole.cs b/Core.DomainModel/ItProject/ItProjectRole.cs index cd9a62f28f..9a74f65757 100644 --- a/Core.DomainModel/ItProject/ItProjectRole.cs +++ b/Core.DomainModel/ItProject/ItProjectRole.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using Core.DomainModel.Advice; namespace Core.DomainModel.ItProject { @@ -14,5 +15,6 @@ public ItProjectRole() public bool HasReadAccess { get; set; } public bool HasWriteAccess { get; set; } public virtual ICollection References { get; set; } = new HashSet(); + public virtual ICollection AdviceUserRelations { get; set; } = new List(); } } diff --git a/Core.DomainModel/ItSystem/DataLevelTypes/DataTypes.cs b/Core.DomainModel/ItSystem/DataLevelTypes/DataTypes.cs index 6b939f079b..075fff7aa6 100644 --- a/Core.DomainModel/ItSystem/DataLevelTypes/DataTypes.cs +++ b/Core.DomainModel/ItSystem/DataLevelTypes/DataTypes.cs @@ -21,7 +21,8 @@ public enum UserCount BELOWTEN = 0, TENTOFIFTY = 1, FIFTYTOHUNDRED = 2, - HUNDREDPLUS = 3 + HUNDREDPLUS = 3, + UNDECIDED = 4 } public enum HostedAt diff --git a/Core.DomainModel/ItSystem/ItSystemRole.cs b/Core.DomainModel/ItSystem/ItSystemRole.cs index 92ad9a1871..3ffed9e3a7 100644 --- a/Core.DomainModel/ItSystem/ItSystemRole.cs +++ b/Core.DomainModel/ItSystem/ItSystemRole.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using Core.DomainModel.Advice; namespace Core.DomainModel.ItSystem { @@ -11,5 +12,6 @@ public class ItSystemRole : OptionEntity, IRoleEntity, IOptionRef public bool HasWriteAccess { get; set; } public virtual ICollection References { get; set; } = new HashSet(); + public virtual ICollection AdviceUserRelations { get; set; } } } diff --git a/Core.DomainModel/ItSystemUsage/ItSystemUsage.cs b/Core.DomainModel/ItSystemUsage/ItSystemUsage.cs index 19db6d48f2..e6eb7d50f6 100644 --- a/Core.DomainModel/ItSystemUsage/ItSystemUsage.cs +++ b/Core.DomainModel/ItSystemUsage/ItSystemUsage.cs @@ -246,11 +246,11 @@ public Result SetMasterReference(ExternalRefe public int? ArchiveFreq { get; set; } - public string ArchiveSupplier { get; set; } - public bool? Registertype { get; set; } - public int? SupplierId { get; set; } + public int? ArchiveSupplierId { get; set; } + public virtual Organization.Organization ArchiveSupplier { get; set; } + /// /// Gets or sets the organization marked as supplier for this contract. /// @@ -269,7 +269,7 @@ public Result SetMasterReference(ExternalRefe public virtual ItSystemCategories ItSystemCategories { get; set; } - public UserCount UserCount { get; set; } + public UserCount? UserCount { get; set; } #region GDPR public string GeneralPurpose { get; set; } @@ -550,7 +550,7 @@ public Maybe UpdateSystemVersion(string version) public void ResetUserCount() { - UserCount = UserCount.BELOWTEN; + UserCount = DomainModel.ItSystem.DataTypes.UserCount.UNDECIDED; } public Maybe SetExpectedUsersInterval((int lower, int? upperBound) newIntervalValue) @@ -558,17 +558,17 @@ public Maybe SetExpectedUsersInterval((int lower, int? upperBoun switch (newIntervalValue) { case (0, 9): - UserCount = UserCount.BELOWTEN; + UserCount = DomainModel.ItSystem.DataTypes.UserCount.BELOWTEN; break; case (10, 50): - UserCount = UserCount.TENTOFIFTY; + UserCount = DomainModel.ItSystem.DataTypes.UserCount.TENTOFIFTY; break; case (50, 100): - UserCount = UserCount.FIFTYTOHUNDRED; + UserCount = DomainModel.ItSystem.DataTypes.UserCount.FIFTYTOHUNDRED; break; case (100, null): case (100, int.MaxValue): - UserCount = UserCount.HUNDREDPLUS; + UserCount = DomainModel.ItSystem.DataTypes.UserCount.HUNDREDPLUS; break; default: return new OperationError("Invalid user count. Please refer to input documentation", OperationFailure.BadInput); @@ -784,22 +784,18 @@ public Maybe UpdateArchiveTestLocation(ArchiveTestLocation newVa public void ResetArchiveSupplierOrganization() { - //TODO: Revisit this once https://os2web.atlassian.net/browse/KITOSUDV-2118 is resolved - ArchiveSupplier = ""; - SupplierId = null; + ArchiveSupplier.Track(); + ArchiveSupplier = null; } public Maybe UpdateArchiveSupplierOrganization(Organization.Organization newValue) { - //TODO: Revisit this once https://os2web.atlassian.net/browse/KITOSUDV-2118 is resolved if (newValue == null) throw new ArgumentNullException(nameof(newValue)); - ArchiveSupplier = newValue.Name; - - if (SupplierId != newValue.Id) + if (ArchiveSupplier == null || ArchiveSupplier.Id != newValue.Id) { - SupplierId = newValue.Id; + ArchiveSupplier = newValue; } return Maybe.None; diff --git a/Core.DomainModel/KendoConfig/OverviewType.cs b/Core.DomainModel/KendoConfig/OverviewType.cs index cc91808db9..ad4be9bed6 100644 --- a/Core.DomainModel/KendoConfig/OverviewType.cs +++ b/Core.DomainModel/KendoConfig/OverviewType.cs @@ -2,6 +2,7 @@ { public enum OverviewType { - ItSystemUsage = 0 + ItSystemUsage = 0, + ItContract = 1, } } diff --git a/Core.DomainModel/LocalOptions/LocalHandoverTrialType.cs b/Core.DomainModel/LocalOptions/LocalCriticalityType.cs similarity index 54% rename from Core.DomainModel/LocalOptions/LocalHandoverTrialType.cs rename to Core.DomainModel/LocalOptions/LocalCriticalityType.cs index ba3faa3b1b..bd9c65f6fd 100644 --- a/Core.DomainModel/LocalOptions/LocalHandoverTrialType.cs +++ b/Core.DomainModel/LocalOptions/LocalCriticalityType.cs @@ -2,7 +2,7 @@ namespace Core.DomainModel.LocalOptions { - public class LocalHandoverTrialType : LocalOptionEntity + public class LocalCriticalityType : LocalOptionEntity { } } diff --git a/Core.DomainModel/Organization/DomainEvents/AccessRightsChanged.cs b/Core.DomainModel/Organization/DomainEvents/AdministrativeAccessRightsChanged.cs similarity index 59% rename from Core.DomainModel/Organization/DomainEvents/AccessRightsChanged.cs rename to Core.DomainModel/Organization/DomainEvents/AdministrativeAccessRightsChanged.cs index 1c505acfd6..c049b0907e 100644 --- a/Core.DomainModel/Organization/DomainEvents/AccessRightsChanged.cs +++ b/Core.DomainModel/Organization/DomainEvents/AdministrativeAccessRightsChanged.cs @@ -2,11 +2,11 @@ namespace Core.DomainModel.Organization.DomainEvents { - public class AccessRightsChanged : IDomainEvent + public class AdministrativeAccessRightsChanged : IDomainEvent { public int UserId { get; } - public AccessRightsChanged(int userId) + public AdministrativeAccessRightsChanged(int userId) { UserId = userId; } diff --git a/Core.DomainModel/Organization/Organization.cs b/Core.DomainModel/Organization/Organization.cs index ee606c7ed8..852a3873fb 100644 --- a/Core.DomainModel/Organization/Organization.cs +++ b/Core.DomainModel/Organization/Organization.cs @@ -52,6 +52,7 @@ public Organization() SubDataProcessorForDataProcessingRegistrations = new List(); BelongingSystems = new List(); UIModuleCustomizations = new List(); + ArchiveSupplierForItSystems = new List(); } public string Name { get; set; } public string Phone { get; set; } @@ -114,7 +115,7 @@ public Organization() public virtual ICollection Rights { get; set; } - public virtual ICollection SsoIdentities { get; set; } + public virtual ICollection StsOrganizationIdentities { get; set; } public virtual ICollection DataProcessingRegistrations { get; set; } @@ -132,6 +133,8 @@ public Organization() public virtual ICollection DataProtectionAdvisors { get; set; } public virtual ICollection UIModuleCustomizations { get; set; } + public virtual ICollection ArchiveSupplierForItSystems { get; set; } + /// /// Determines if this is the "Default" organization in KITOS diff --git a/Core.DomainModel/Organization/StsOrganizationIdentity.cs b/Core.DomainModel/Organization/StsOrganizationIdentity.cs new file mode 100644 index 0000000000..089246bba3 --- /dev/null +++ b/Core.DomainModel/Organization/StsOrganizationIdentity.cs @@ -0,0 +1,22 @@ +using System; + +namespace Core.DomainModel.Organization +{ + public class StsOrganizationIdentity + { + //For EF + public StsOrganizationIdentity() + { + } + + public StsOrganizationIdentity(Guid externalUuid, DomainModel.Organization.Organization organization) + { + ExternalUuid = externalUuid; + Organization = organization ?? throw new ArgumentNullException(nameof(organization)); + } + + public int Id { get; set; } + public Guid ExternalUuid { get; set; } + public virtual DomainModel.Organization.Organization Organization { get; set; } + } +} diff --git a/Core.DomainModel/Qa/References/BrokenLinkCause.cs b/Core.DomainModel/Qa/References/BrokenLinkCause.cs index 9155f0282c..286fc04641 100644 --- a/Core.DomainModel/Qa/References/BrokenLinkCause.cs +++ b/Core.DomainModel/Qa/References/BrokenLinkCause.cs @@ -5,6 +5,7 @@ public enum BrokenLinkCause InvalidUrl = 0, DnsLookupFailed = 1, ErrorResponse = 2, - CommunicationError = 3 + CommunicationError = 3, + TlsError = 4 } } diff --git a/Core.DomainModel/SSO/SsoOrganizationIdentity.cs b/Core.DomainModel/SSO/SsoOrganizationIdentity.cs deleted file mode 100644 index a6ba262b90..0000000000 --- a/Core.DomainModel/SSO/SsoOrganizationIdentity.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - -namespace Core.DomainModel.SSO -{ - public class SsoOrganizationIdentity - { - //For EF - public SsoOrganizationIdentity() - { - } - - public SsoOrganizationIdentity(Guid externalUuid, Organization.Organization organization) - { - ExternalUuid = externalUuid; - Organization = organization ?? throw new ArgumentNullException(nameof(organization)); - } - - public int Id { get; set; } - public Guid ExternalUuid { get; set; } - public virtual Organization.Organization Organization { get; set; } - } -} diff --git a/Core.DomainModel/User.cs b/Core.DomainModel/User.cs index 852299b15b..1fa9fa6131 100644 --- a/Core.DomainModel/User.cs +++ b/Core.DomainModel/User.cs @@ -36,7 +36,8 @@ public User() HandoverParticipants = new List(); LockedOutDate = null; FailedAttempts = 0; - Uuid = Guid.NewGuid(); + Uuid = Guid.NewGuid(); + DataProcessingRegistrationRights = new List(); } public string Name { get; set; } @@ -46,6 +47,9 @@ public User() public string Password { get; set; } public string Salt { get; set; } public DateTime? LastAdvisDate { get; set; } + public string EmailBeforeDeletion { get; set; } + public DateTime? DeletedDate { get; set; } + public bool Deleted { get; set; } public string DefaultUserStartPreference { get; set; } /// @@ -59,7 +63,7 @@ public User() public bool CanAuthenticate() { - return IsGlobalAdmin || OrganizationRights.Any(); + return !Deleted && (IsGlobalAdmin || OrganizationRights.Any()); } /// @@ -72,21 +76,41 @@ public bool CanAuthenticate() /// public virtual ICollection OrganizationUnitRights { get; set; } + public IEnumerable GetOrganizationUnitRights(Guid organiztionId) + { + return OrganizationUnitRights.Where(x => x.Object.Organization.Uuid == organiztionId); + } + /// /// The project rights for the user /// public virtual ICollection ItProjectRights { get; set; } + public IEnumerable GetItProjectRights(Guid organizationId) + { + return ItProjectRights.Where(x => x.Object.Organization.Uuid == organizationId); + } + /// /// The system rights for the user /// public virtual ICollection ItSystemRights { get; set; } + public IEnumerable GetItSystemRights(Guid organizationId) + { + return ItSystemRights.Where(x => x.Object.Organization.Uuid == organizationId); + } + /// /// The system rights for the user /// public virtual ICollection ItContractRights { get; set; } + public IEnumerable GetItContractRights(Guid organizationId) + { + return ItContractRights.Where(x => x.Object.Organization.Uuid == organizationId); + } + /// /// Passwords reset request issued for the user /// @@ -119,6 +143,11 @@ public bool CanAuthenticate() /// public virtual ICollection DataProcessingRegistrationRights { get; set; } + public IEnumerable GetDataProcessingRegistrationRights(Guid organizationId) + { + return DataProcessingRegistrationRights.Where(x => x.Object.Organization.Uuid == organizationId); + } + public DateTime? LockedOutDate { get; set; } public int FailedAttempts { get; set; } diff --git a/Core.DomainServices/Core.DomainServices.csproj b/Core.DomainServices/Core.DomainServices.csproj index 62b7499c13..a9855ddf34 100644 --- a/Core.DomainServices/Core.DomainServices.csproj +++ b/Core.DomainServices/Core.DomainServices.csproj @@ -88,9 +88,15 @@ + + + + + + @@ -125,6 +131,8 @@ + + @@ -194,8 +202,8 @@ - - + + @@ -261,6 +269,10 @@ {a05389ea-25f4-45b5-8534-0775d9671456} Infrastructure.Soap + + {423D7522-4882-4438-94F4-7B3F5778C83F} + Infrastructure.STS.Common + diff --git a/Core.DomainServices/GDPR/BuildDataProcessingRegistrationReadModelOnChangesHandler.cs b/Core.DomainServices/GDPR/BuildDataProcessingRegistrationReadModelOnChangesHandler.cs index bc64a77c22..1eb22bcc8e 100644 --- a/Core.DomainServices/GDPR/BuildDataProcessingRegistrationReadModelOnChangesHandler.cs +++ b/Core.DomainServices/GDPR/BuildDataProcessingRegistrationReadModelOnChangesHandler.cs @@ -19,6 +19,7 @@ public class BuildDataProcessingRegistrationReadModelOnChangesHandler : IDomainEventHandler>, IDomainEventHandler>, IDomainEventHandler>, + IDomainEventHandler>, IDomainEventHandler>, IDomainEventHandler>, IDomainEventHandler>, @@ -156,5 +157,10 @@ public void Handle(EntityBeingDeletedEvent domainEvent) .ToList() .ForEach(_pendingReadModelUpdateRepository.Add); } + + public void Handle(EntityBeingDeletedEvent domainEvent) + { + _pendingReadModelUpdateRepository.Add(PendingReadModelUpdate.Create(domainEvent.Entity, PendingReadModelUpdateSourceCategory.DataProcessingRegistration_User)); + } } } diff --git a/Core.DomainServices/GDPR/DataProcessingRegistrationReadModelUpdate.cs b/Core.DomainServices/GDPR/DataProcessingRegistrationReadModelUpdate.cs index ead6f73a0a..94e9a3aa1c 100644 --- a/Core.DomainServices/GDPR/DataProcessingRegistrationReadModelUpdate.cs +++ b/Core.DomainServices/GDPR/DataProcessingRegistrationReadModelUpdate.cs @@ -47,6 +47,7 @@ public void Apply(DataProcessingRegistration source, DataProcessingRegistrationR PatchIsOversightCompleted(source, destination); PatchContracts(source, destination); PatchLatestOversightDate(source, destination); + PatchLastUpdateBy(source, destination); } private static void PatchBasicInformation(DataProcessingRegistration source, @@ -92,6 +93,7 @@ private static void PatchIsAgreementConcluded(DataProcessingRegistration source, private static void PatchSystems(DataProcessingRegistration source, DataProcessingRegistrationReadModel destination) { destination.SystemNamesAsCsv = string.Join(", ", source.SystemUsages.Select(x => (x.ItSystem.Name, x.ItSystem.Disabled)).Select(nameStatus => $"{nameStatus.Name}{(nameStatus.Disabled ? " (Ikke aktivt)" : "")}")); + destination.SystemUuidsAsCsv = string.Join(", ", source.SystemUsages.Select(x => x.ItSystem.Uuid)); } private static void PatchContracts(DataProcessingRegistration source, DataProcessingRegistrationReadModel destination) @@ -202,5 +204,12 @@ private static void PatchLatestOversightDate(DataProcessingRegistration source, destination.LatestOversightDate = null; } } + + private static void PatchLastUpdateBy(DataProcessingRegistration source, DataProcessingRegistrationReadModel destination) + { + destination.LastChangedById = source.LastChangedByUserId; + destination.LastChangedByName = source.LastChangedByUser != null ? source.LastChangedByUser.GetFullName() : ""; + destination.LastChangedAt = source.LastChanged; + } } } diff --git a/Core.DomainServices/IOrganizationRoleService.cs b/Core.DomainServices/IOrganizationRoleService.cs index 6e38910dd4..6a1f74df6c 100644 --- a/Core.DomainServices/IOrganizationRoleService.cs +++ b/Core.DomainServices/IOrganizationRoleService.cs @@ -8,8 +8,6 @@ public interface IOrganizationRoleService { OrganizationRight MakeUser(User user, Organization organization); - OrganizationRight MakeLocalAdmin(User user, Organization organization); - IReadOnlyDictionary> GetOrganizationRoles(User user); IEnumerable GetRolesInOrganization(User user, int organizationId); diff --git a/Core.DomainServices/Model/StsOrganization/ResolveOrganizationTreeError.cs b/Core.DomainServices/Model/StsOrganization/ResolveOrganizationTreeError.cs new file mode 100644 index 0000000000..c2dd91bf7e --- /dev/null +++ b/Core.DomainServices/Model/StsOrganization/ResolveOrganizationTreeError.cs @@ -0,0 +1,10 @@ +namespace Core.DomainServices.Model.StsOrganization +{ + public enum ResolveOrganizationTreeError + { + FailedResolvingUuid, + FailedSearchingForOrgUnits, + FailedLoadingOrgUnits, + OrgTreeHasMultipleRoots + } +} diff --git a/Core.DomainServices/Model/StsOrganization/ResolveOrganizationUuidError.cs b/Core.DomainServices/Model/StsOrganization/ResolveOrganizationUuidError.cs new file mode 100644 index 0000000000..6ba86f118f --- /dev/null +++ b/Core.DomainServices/Model/StsOrganization/ResolveOrganizationUuidError.cs @@ -0,0 +1,11 @@ +namespace Core.DomainServices.Model.StsOrganization +{ + public enum ResolveOrganizationUuidError + { + InvalidCvrOnOrganization, + FailedToLookupOrganizationCompany, + FailedToSearchForOrganizationByCompanyUuid, + DuplicateOrganizationResults, + FailedToSaveUuidOnKitosOrganization + } +} diff --git a/Core.DomainServices/Model/StsOrganization/StsOrganizationUnit.cs b/Core.DomainServices/Model/StsOrganization/StsOrganizationUnit.cs new file mode 100644 index 0000000000..c9f4ff5699 --- /dev/null +++ b/Core.DomainServices/Model/StsOrganization/StsOrganizationUnit.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Core.DomainServices.Model.StsOrganization +{ + public class StsOrganizationUnit + { + public Guid Uuid { get; } + public string Name { get; } + public string UserFacingKey { get; } + public IEnumerable Children { get; } + + public StsOrganizationUnit(Guid uuid, string name, string userFacingKey, IEnumerable children) + { + Uuid = uuid; + Name = name; + UserFacingKey = userFacingKey; + Children = children.ToList().AsReadOnly(); + } + + public StsOrganizationUnit Copy(uint? childLevelsToInclude = null) + { + var children = new List(); + var includeChildren = childLevelsToInclude is > 0 or null; + if (includeChildren) + { + if (childLevelsToInclude.HasValue) + { + childLevelsToInclude--; + } + children = Children.Select(child => child.Copy(childLevelsToInclude)).ToList(); + } + + return new StsOrganizationUnit(Uuid, Name, UserFacingKey, children); + } + } +} diff --git a/Core.DomainServices/Options/IOptionsService.cs b/Core.DomainServices/Options/IOptionsService.cs index 8710b9be12..cf58838310 100644 --- a/Core.DomainServices/Options/IOptionsService.cs +++ b/Core.DomainServices/Options/IOptionsService.cs @@ -13,13 +13,19 @@ public interface IOptionsService where TOption : OptionEnti /// Returns a list of options available to the organization /// /// - /// + /// An IEnumerable of containing only available options with their details IEnumerable> GetAvailableOptionsDetails(int organizationId); /// + /// Returns a list of options and a boolean indicating whether it is available + /// + /// + /// An IEnumerable of containing both available/unavailable options with their details + IEnumerable<(OptionDescriptor option, bool available)> GetAllOptionsDetails(int organizationId); + /// /// Returns a list of options available to the organization /// /// - /// + /// An IEnumerable of containing only available options without details IEnumerable GetAvailableOptions(int organizationId); /// /// Returns the option if it is available in the organization diff --git a/Core.DomainServices/Options/OptionsService.cs b/Core.DomainServices/Options/OptionsService.cs index 35caa87429..6a1a439151 100644 --- a/Core.DomainServices/Options/OptionsService.cs +++ b/Core.DomainServices/Options/OptionsService.cs @@ -35,6 +35,18 @@ public IEnumerable> GetAvailableOptionsDetails(int org .ToList(); } + public IEnumerable<(OptionDescriptor option, bool available)> GetAllOptionsDetails(int organizationId) + { + var availableDescriptors = GetAvailableOptionsFromOrganization(organizationId).descriptors.ToDictionary(x => x.Option.Id); + return _optionRepository + .AsQueryable() + .ToList() + .Select(option => availableDescriptors.TryGetValue(option.Id, out var availableOption) + ? (availableOption, true) + : (new OptionDescriptor(option, option.Description), false)) + .ToList(); + } + public IEnumerable GetAvailableOptions(int organizationId) { return GetAvailableOptionsFromOrganization(organizationId) diff --git a/Core.DomainServices/Organizations/IStsOrganizationCompanyLookupService.cs b/Core.DomainServices/Organizations/IStsOrganizationCompanyLookupService.cs new file mode 100644 index 0000000000..4e7f476e33 --- /dev/null +++ b/Core.DomainServices/Organizations/IStsOrganizationCompanyLookupService.cs @@ -0,0 +1,11 @@ +using System; +using Core.Abstractions.Types; +using Core.DomainModel.Organization; + +namespace Core.DomainServices.Organizations +{ + public interface IStsOrganizationCompanyLookupService + { + Result ResolveStsOrganizationCompanyUuid(Organization organization); + } +} diff --git a/Core.DomainServices/Organizations/IStsOrganizationService.cs b/Core.DomainServices/Organizations/IStsOrganizationService.cs new file mode 100644 index 0000000000..0d705c69a3 --- /dev/null +++ b/Core.DomainServices/Organizations/IStsOrganizationService.cs @@ -0,0 +1,12 @@ +using System; +using Core.Abstractions.Types; +using Core.DomainModel.Organization; +using Core.DomainServices.Model.StsOrganization; + +namespace Core.DomainServices.Organizations +{ + public interface IStsOrganizationService + { + Result> ResolveStsOrganizationUuid(Organization organization); + } +} diff --git a/Core.DomainServices/Organizations/IStsOrganizationUnitService.cs b/Core.DomainServices/Organizations/IStsOrganizationUnitService.cs new file mode 100644 index 0000000000..78e320f582 --- /dev/null +++ b/Core.DomainServices/Organizations/IStsOrganizationUnitService.cs @@ -0,0 +1,11 @@ +using Core.Abstractions.Types; +using Core.DomainModel.Organization; +using Core.DomainServices.Model.StsOrganization; + +namespace Core.DomainServices.Organizations +{ + public interface IStsOrganizationUnitService + { + Result> ResolveOrganizationTree(Organization organization); + } +} diff --git a/Core.DomainServices/Queries/SystemUsage/QueryReadModelsWhichShouldBecomeActive.cs b/Core.DomainServices/Queries/SystemUsage/QueryReadModelsWhichShouldBecomeActive.cs new file mode 100644 index 0000000000..0638b638a9 --- /dev/null +++ b/Core.DomainServices/Queries/SystemUsage/QueryReadModelsWhichShouldBecomeActive.cs @@ -0,0 +1,41 @@ +using System; +using System.Linq; +using Core.DomainModel.ItSystemUsage.Read; + +namespace Core.DomainServices.Queries.SystemUsage +{ + public class QueryReadModelsWhichShouldBecomeActive : IDomainQuery + { + private readonly DateTime _currentTime; + + public QueryReadModelsWhichShouldBecomeActive(DateTime currentTime) + { + _currentTime = currentTime; + } + + public IQueryable Apply(IQueryable source) + { + var currentTime = _currentTime.Date; + return source.Where( + x => + + // All currently inactive models + x.IsActive == false && + ( + ( + // 1: Common scenario + // Exclude those which were enforced as valid - dates have no effect + x.SourceEntity.Active == false && + // Include systems where concluded (start time) has passed or is not defined + (x.SourceEntity.Concluded == null || x.SourceEntity.Concluded <= currentTime) && + // Include only if not expired or no expiration defined + (x.SourceEntity.ExpirationDate == null || currentTime <= x.SourceEntity.ExpirationDate) + ) || + // 2: Out of sync scenario + // Source entity marked as active (forced) but read model state false, mark as target for update + x.SourceEntity.Active == true + ) + ); + } + } +} diff --git a/Core.DomainServices/Queries/SystemUsage/QueryReadModelsWhichShouldExpire.cs b/Core.DomainServices/Queries/SystemUsage/QueryReadModelsWhichShouldExpire.cs new file mode 100644 index 0000000000..3ba08ba4fe --- /dev/null +++ b/Core.DomainServices/Queries/SystemUsage/QueryReadModelsWhichShouldExpire.cs @@ -0,0 +1,34 @@ +using System; +using System.Linq; +using Core.DomainModel.ItSystemUsage.Read; + +namespace Core.DomainServices.Queries.SystemUsage +{ + public class QueryReadModelsWhichShouldExpire : IDomainQuery + { + private readonly DateTime _currentTime; + + public QueryReadModelsWhichShouldExpire(DateTime currentTime) + { + _currentTime = currentTime; + } + + public IQueryable Apply(IQueryable source) + { + var currentTime = _currentTime.Date; + + return source.Where( + + x => + // All currently set as active in the read model + x.IsActive && + // Remove results where the date has no effect (active overrides all other logic) + x.SourceEntity.Active == false && + // Expiration data defined + x.SourceEntity.ExpirationDate != null && + // Expiration date has passed + x.SourceEntity.ExpirationDate < currentTime + ); + } + } +} diff --git a/Core.DomainServices/Repositories/GDPR/DataProcessingRegistrationReadModelRepository.cs b/Core.DomainServices/Repositories/GDPR/DataProcessingRegistrationReadModelRepository.cs index 59369c86ff..70f61e6ee4 100644 --- a/Core.DomainServices/Repositories/GDPR/DataProcessingRegistrationReadModelRepository.cs +++ b/Core.DomainServices/Repositories/GDPR/DataProcessingRegistrationReadModelRepository.cs @@ -65,7 +65,7 @@ public IQueryable GetByUserId(int userId) //Gets all read models that have dependencies on the user return _repository .AsQueryable() - .Where(x => x.RoleAssignments.Any(assignment => assignment.UserId == userId)) + .Where(x => x.RoleAssignments.Any(assignment => assignment.UserId == userId || x.LastChangedById == userId)) .Distinct(); } } diff --git a/Core.DomainServices/Repositories/Organization/IStsOrganizationIdentityRepository.cs b/Core.DomainServices/Repositories/Organization/IStsOrganizationIdentityRepository.cs new file mode 100644 index 0000000000..741c2db794 --- /dev/null +++ b/Core.DomainServices/Repositories/Organization/IStsOrganizationIdentityRepository.cs @@ -0,0 +1,12 @@ +using System; +using Core.Abstractions.Types; +using Core.DomainModel.Organization; + +namespace Core.DomainServices.Repositories.Organization +{ + public interface IStsOrganizationIdentityRepository + { + Maybe GetByExternalUuid(Guid externalId); + Result AddNew(DomainModel.Organization.Organization organization, Guid externalId); + } +} diff --git a/Core.DomainServices/Repositories/SSO/SsoOrganizationIdentityRepository.cs b/Core.DomainServices/Repositories/Organization/StsOrganizationIdentityRepository.cs similarity index 66% rename from Core.DomainServices/Repositories/SSO/SsoOrganizationIdentityRepository.cs rename to Core.DomainServices/Repositories/Organization/StsOrganizationIdentityRepository.cs index 321b6ddfc2..cb4e4b798a 100644 --- a/Core.DomainServices/Repositories/SSO/SsoOrganizationIdentityRepository.cs +++ b/Core.DomainServices/Repositories/Organization/StsOrganizationIdentityRepository.cs @@ -1,21 +1,20 @@ using System; using System.Linq; using Core.Abstractions.Types; -using Core.DomainModel.SSO; +using Core.DomainModel.Organization; - -namespace Core.DomainServices.Repositories.SSO +namespace Core.DomainServices.Repositories.Organization { - public class SsoOrganizationIdentityRepository : ISsoOrganizationIdentityRepository + public class StsOrganizationIdentityRepository : IStsOrganizationIdentityRepository { - private readonly IGenericRepository _repository; + private readonly IGenericRepository _repository; - public SsoOrganizationIdentityRepository(IGenericRepository repository) + public StsOrganizationIdentityRepository(IGenericRepository repository) { _repository = repository; } - public Maybe GetByExternalUuid(Guid externalId) + public Maybe GetByExternalUuid(Guid externalId) { return _repository @@ -24,7 +23,7 @@ public Maybe GetByExternalUuid(Guid externalId) .FirstOrDefault(); } - public Result AddNew(DomainModel.Organization.Organization organization, Guid externalId) + public Result AddNew(DomainModel.Organization.Organization organization, Guid externalId) { if (organization == null) { @@ -35,7 +34,7 @@ public Result AddNew(DomainModel.Organi { return new OperationError("Existing mapping already exists for UUID:{externalId}", OperationFailure.Conflict); } - var identity = new SsoOrganizationIdentity(externalId, organization); + var identity = new StsOrganizationIdentity(externalId, organization); identity = _repository.Insert(identity); _repository.Save(); return identity; diff --git a/Core.DomainServices/Repositories/SSO/ISsoOrganizationIdentityRepository.cs b/Core.DomainServices/Repositories/SSO/ISsoOrganizationIdentityRepository.cs deleted file mode 100644 index d411bdd7e7..0000000000 --- a/Core.DomainServices/Repositories/SSO/ISsoOrganizationIdentityRepository.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using Core.Abstractions.Types; -using Core.DomainModel.SSO; - - -namespace Core.DomainServices.Repositories.SSO -{ - public interface ISsoOrganizationIdentityRepository - { - Maybe GetByExternalUuid(Guid externalId); - Result AddNew(DomainModel.Organization.Organization organization, Guid externalId); - } -} diff --git a/Core.DomainServices/Repositories/SSO/ISsoUserIdentityRepository.cs b/Core.DomainServices/Repositories/SSO/ISsoUserIdentityRepository.cs index c8bb0c4cf2..81b57759f4 100644 --- a/Core.DomainServices/Repositories/SSO/ISsoUserIdentityRepository.cs +++ b/Core.DomainServices/Repositories/SSO/ISsoUserIdentityRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using Core.Abstractions.Types; using Core.DomainModel; using Core.DomainModel.SSO; @@ -10,5 +11,6 @@ public interface ISsoUserIdentityRepository { Maybe GetByExternalUuid(Guid externalId); Result AddNew(User user, Guid externalId); + void DeleteIdentitiesForUser(User user); } } diff --git a/Core.DomainServices/Repositories/SSO/SsoUserIdentityRepository.cs b/Core.DomainServices/Repositories/SSO/SsoUserIdentityRepository.cs index d06534454c..0b7dd6c5ad 100644 --- a/Core.DomainServices/Repositories/SSO/SsoUserIdentityRepository.cs +++ b/Core.DomainServices/Repositories/SSO/SsoUserIdentityRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using Core.Abstractions.Types; using Core.DomainModel; @@ -40,5 +41,16 @@ public Result AddNew(User user, Guid externalId _repository.Save(); return identity; } + + public void DeleteIdentitiesForUser(User user) + { + var identities = user.SsoIdentities; + if (identities == null) + throw new ArgumentNullException($"User with id: {user.Id} has no Sso Identities"); + + _repository.RemoveRange(identities); + _repository.Save(); + identities.Clear(); + } } } diff --git a/Core.DomainServices/Repositories/SystemUsage/IItSystemUsageOverviewReadModelRepository.cs b/Core.DomainServices/Repositories/SystemUsage/IItSystemUsageOverviewReadModelRepository.cs index 2758efa776..490230010c 100644 --- a/Core.DomainServices/Repositories/SystemUsage/IItSystemUsageOverviewReadModelRepository.cs +++ b/Core.DomainServices/Repositories/SystemUsage/IItSystemUsageOverviewReadModelRepository.cs @@ -1,5 +1,4 @@ -using System.Collections.Generic; -using System.Linq; +using System.Linq; using Core.Abstractions.Types; using Core.DomainModel.ItSystemUsage.Read; @@ -22,5 +21,6 @@ public interface IItSystemUsageOverviewReadModelRepository IQueryable GetByProjectId(int projectId); IQueryable GetByDataProcessingRegistrationId(int dataProcessingRegistrationId); IQueryable GetByItInterfaceId(int interfaceId); + IQueryable GetReadModelsMustUpdateToChangeActiveState(); } } diff --git a/Core.DomainServices/Repositories/SystemUsage/ItSystemUsageOverviewReadModelRepository.cs b/Core.DomainServices/Repositories/SystemUsage/ItSystemUsageOverviewReadModelRepository.cs index 8c18365f07..da14af37eb 100644 --- a/Core.DomainServices/Repositories/SystemUsage/ItSystemUsageOverviewReadModelRepository.cs +++ b/Core.DomainServices/Repositories/SystemUsage/ItSystemUsageOverviewReadModelRepository.cs @@ -1,8 +1,11 @@ using System; using System.Linq; +using Core.Abstractions.Extensions; using Core.Abstractions.Types; using Core.DomainModel.ItSystemUsage.Read; using Core.DomainServices.Extensions; +using Core.DomainServices.Queries.SystemUsage; +using Core.DomainServices.Time; namespace Core.DomainServices.Repositories.SystemUsage @@ -119,5 +122,23 @@ public IQueryable GetByItInterfaceId(int interfa .AsQueryable() .Where(x => x.DependsOnInterfaces.Select(y => y.InterfaceId).Contains(interfaceId)); } + + public IQueryable GetReadModelsMustUpdateToChangeActiveState() + { + var now = DateTime.Now; + var expiringReadModelIds = _repository + .AsQueryable() + .Transform(new QueryReadModelsWhichShouldExpire(now).Apply) + .Select(x => x.Id); + + var activatingReadModelIds = _repository + .AsQueryable() + .Transform(new QueryReadModelsWhichShouldBecomeActive(now).Apply) + .Select(x => x.Id); + + var idsOfReadModelsWhichMustUpdate = expiringReadModelIds.Concat(activatingReadModelIds).Distinct().ToList(); + + return _repository.AsQueryable().ByIds(idsOfReadModelsWhichMustUpdate); + } } } diff --git a/Core.DomainServices/Role/RoleAssignmentService.cs b/Core.DomainServices/Role/RoleAssignmentService.cs index 90f9724a30..27873fa846 100644 --- a/Core.DomainServices/Role/RoleAssignmentService.cs +++ b/Core.DomainServices/Role/RoleAssignmentService.cs @@ -4,6 +4,7 @@ using Core.Abstractions.Extensions; using Core.Abstractions.Types; using Core.DomainModel; +using Core.DomainModel.Events; using Core.DomainServices.Extensions; using Core.DomainServices.Options; using Infrastructure.Services.DataAccess; @@ -20,17 +21,20 @@ public class RoleAssignmentService : IRoleAssignmentServi private readonly IUserRepository _userRepository; private readonly IGenericRepository _rightsRepository; private readonly ITransactionManager _transactionManager; + private readonly IDomainEvents _domainEvents; public RoleAssignmentService( IOptionsService localRoleOptionsService, IUserRepository userRepository, IGenericRepository rightsRepository, - ITransactionManager transactionManager) + ITransactionManager transactionManager, + IDomainEvents domainEvents) { _localRoleOptionsService = localRoleOptionsService; _userRepository = userRepository; _rightsRepository = rightsRepository; _transactionManager = transactionManager; + _domainEvents = domainEvents; } public IEnumerable GetApplicableRoles(TModel model) @@ -83,7 +87,12 @@ public Result AssignRole(TModel model, int roleId, int u if (role.IsNone) return new OperationError("Invalid role id", OperationFailure.BadInput); - return model.AssignRole(role.Value, user.Value); + var assignRoleResult = model.AssignRole(role.Value, user.Value); + if (assignRoleResult.Ok) + { + _domainEvents.Raise(new EntityUpdatedEvent(model)); + } + return assignRoleResult; } public Result AssignRole(TModel model, Guid roleUuid, Guid userUuid) @@ -124,6 +133,7 @@ private Result RemoveRole(TModel model, TRole role, User return removeResult.Error; _rightsRepository.Delete(removeResult.Value); + _domainEvents.Raise(new EntityUpdatedEvent(model)); _rightsRepository.Save(); return removeResult.Value; } diff --git a/Core.DomainServices/SSO/StsBrugerInfoService.cs b/Core.DomainServices/SSO/StsBrugerInfoService.cs index e93d5ad4b7..16146f3b29 100644 --- a/Core.DomainServices/SSO/StsBrugerInfoService.cs +++ b/Core.DomainServices/SSO/StsBrugerInfoService.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Security.Cryptography.X509Certificates; -using System.ServiceModel; using Core.Abstractions.Types; using Infrastructure.Soap.STSBruger; +using Infrastructure.STS.Common.Factories; +using Infrastructure.STS.Common.Model; using Serilog; namespace Core.DomainServices.SSO @@ -14,7 +14,6 @@ public class StsBrugerInfoService : IStsBrugerInfoService { private readonly ILogger _logger; private const string EmailTypeIdentifier = StsOrganisationConstants.UserProperties.Email; - private const string StsStandardNotFoundResultCode = "44"; private readonly string _urlServicePlatformBrugerService; private readonly string _urlServicePlatformAdresseService; @@ -65,9 +64,9 @@ public Maybe GetStsBrugerInfo(Guid uuid, string cvrNumber) private Result<(string emailAdresseUuid, string organisationUuid, string personUuid), string> CollectStsBrugerInformationFromUuid(Guid uuid, string cvrNumber) { - using (var clientCertificate = GetClientCertificate(_certificateThumbprint)) + using (var clientCertificate = X509CertificateClientCertificateFactory.GetClientCertificate(_certificateThumbprint)) { - var client = StsBrugerHelpers.CreateBrugerPortTypeClient(CreateHttpBinding(), + using var client = StsBrugerHelpers.CreateBrugerPortTypeClient(BasicHttpBindingFactory.CreateHttpBinding(), _urlServicePlatformBrugerService, clientCertificate); var laesRequest = StsBrugerHelpers.CreateStsBrugerLaesRequest(cvrNumber, uuid); var brugerPortType = client.ChannelFactory.CreateChannel(); @@ -79,8 +78,8 @@ public Maybe GetStsBrugerInfo(Guid uuid, string cvrNumber) var stdOutput = laesResponseResult.LaesResponse1?.LaesOutput?.StandardRetur; var returnCode = stdOutput?.StatusKode ?? "unknown"; var errorCode = stdOutput?.FejlbeskedTekst ?? string.Empty; - - if (returnCode == StsStandardNotFoundResultCode) + var stsError = stdOutput?.StatusKode.ParseStsError() ?? Maybe.None; + if (stsError.Select(error => error == StsError.NotFound).GetValueOrDefault()) return $"Requested user '{uuid}' from cvr '{cvrNumber}' was not found. STS Bruger endpoint returned '{returnCode}:{errorCode}'"; var registrations = @@ -166,9 +165,9 @@ public Maybe GetStsBrugerInfo(Guid uuid, string cvrNumber) private Result, string> GetStsAdresseEmailFromUuid(string emailAdresseUuid, string cvrNumber) { - using (var clientCertificate = GetClientCertificate(_certificateThumbprint)) + using (var clientCertificate = X509CertificateClientCertificateFactory.GetClientCertificate(_certificateThumbprint)) { - var client = StsAdresseHelpers.CreateAdressePortTypeClient(CreateHttpBinding(), + using var client = StsAdresseHelpers.CreateAdressePortTypeClient(BasicHttpBindingFactory.CreateHttpBinding(), _urlServicePlatformAdresseService, clientCertificate); var laesRequest = StsAdresseHelpers.CreateStsAdresseLaesRequest(cvrNumber, emailAdresseUuid); var adressePortType = client.ChannelFactory.CreateChannel(); @@ -180,8 +179,8 @@ private Result, string> GetStsAdresseEmailFromUuid(string em var stdOutput = laesResponse.LaesResponse1?.LaesOutput?.StandardRetur; var returnCode = stdOutput?.StatusKode ?? "unknown"; var errorCode = stdOutput?.FejlbeskedTekst ?? string.Empty; - - if (returnCode == StsStandardNotFoundResultCode) + var stsError = stdOutput?.StatusKode.ParseStsError() ?? Maybe.None; + if (stsError.Select(error => error == StsError.NotFound).GetValueOrDefault()) return $"Requested email address '{emailAdresseUuid}' from cvr '{cvrNumber}' was not found. STS Adresse endpoint returned '{returnCode}:{errorCode}'"; var registreringType1s = @@ -223,9 +222,9 @@ private Result, string> GetStsAdresseEmailFromUuid(string em private Result GetStsPersonFromUuid(string personUuid, string cvrNumber) { - using (var clientCertificate = GetClientCertificate(_certificateThumbprint)) + using (var clientCertificate = X509CertificateClientCertificateFactory.GetClientCertificate(_certificateThumbprint)) { - var client = StsPersonHelpers.CreatePersonPortTypeClient(CreateHttpBinding(), + using var client = StsPersonHelpers.CreatePersonPortTypeClient(BasicHttpBindingFactory.CreateHttpBinding(), _urlServicePlatformPersonService, clientCertificate); var laesRequest = StsPersonHelpers.CreateStsPersonLaesRequest(cvrNumber, personUuid); var virksomhedPortType = client.ChannelFactory.CreateChannel(); @@ -238,7 +237,8 @@ private Result GetStsPersonFromUuid(string personUuid, st var returnCode = stdOutput?.StatusKode ?? "unknown"; var errorCode = stdOutput?.FejlbeskedTekst ?? string.Empty; - if (returnCode == StsStandardNotFoundResultCode) + var stsError = stdOutput?.StatusKode.ParseStsError() ?? Maybe.None; + if (stsError.Select(error => error == StsError.NotFound).GetValueOrDefault()) return $"Requested person '{personUuid}' from cvr '{cvrNumber}' was not found. STS Person endpoint returned '{returnCode}:{errorCode}'"; var registreringType1s = @@ -274,45 +274,5 @@ private Result GetStsPersonFromUuid(string personUuid, st return Result.Failure($"Unable to resolve person from personuuid:{personUuid}"); } } - - private static BasicHttpBinding CreateHttpBinding() - { - return new BasicHttpBinding - { - Security = - { - Mode = BasicHttpSecurityMode.Transport, - Transport = {ClientCredentialType = HttpClientCredentialType.Certificate} - }, - MaxReceivedMessageSize = int.MaxValue, - OpenTimeout = new TimeSpan(0, 3, 0), - CloseTimeout = new TimeSpan(0, 3, 0), - ReceiveTimeout = new TimeSpan(0, 3, 0), - SendTimeout = new TimeSpan(0, 3, 0) - }; - } - - private static X509Certificate2 GetClientCertificate(string thumbprint) - { - using (var store = new X509Store(StoreName.My, StoreLocation.LocalMachine)) - { - store.Open(OpenFlags.ReadOnly); - X509Certificate2 result; - try - { - var results = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false); - if (results.Count == 0) - { - throw new Exception("Unable to find certificate!"); - } - result = results[0]; - } - finally - { - store.Close(); - } - return result; - } - } } } diff --git a/Core.DomainServices/SystemUsage/BuildItSystemUsageOverviewReadModelOnChangesHandler.cs b/Core.DomainServices/SystemUsage/BuildItSystemUsageOverviewReadModelOnChangesHandler.cs index f98d737b1f..cf503275bf 100644 --- a/Core.DomainServices/SystemUsage/BuildItSystemUsageOverviewReadModelOnChangesHandler.cs +++ b/Core.DomainServices/SystemUsage/BuildItSystemUsageOverviewReadModelOnChangesHandler.cs @@ -21,6 +21,7 @@ public class BuildItSystemUsageOverviewReadModelOnChangesHandler : IDomainEventHandler>, IDomainEventHandler>, IDomainEventHandler>, + IDomainEventHandler>, IDomainEventHandler>, IDomainEventHandler>, IDomainEventHandler>, @@ -200,5 +201,10 @@ private void BuildFromSource(ItSystemUsageOverviewReadModel model, ItSystemUsage { _readModelUpdate.Apply(itSystemUsage, model); } + + public void Handle(EntityBeingDeletedEvent domainEvent) + { + _pendingReadModelUpdateRepository.Add(PendingReadModelUpdate.Create(domainEvent.Entity, PendingReadModelUpdateSourceCategory.ItSystemUsage_User)); + } } } diff --git a/DeploymentScripts/DeployWebsite.ps1 b/DeploymentScripts/DeployWebsite.ps1 index f8a8adbedd..d4024d37a8 100644 --- a/DeploymentScripts/DeployWebsite.ps1 +++ b/DeploymentScripts/DeployWebsite.ps1 @@ -3,14 +3,14 @@ Function Deploy-Website($packageDirectory, $msDeployUrl, $msDeployUser, $msDeplo $msdeploy = "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"; $fullCommand=$(("`"{0}`" " + "-verb:sync " + - "-source:package=`"{1}\Presentation.Web.csproj.zip`" " + + "-source:package=`"{1}\Presentation.Web.zip`" " + "-dest:auto,computerName=`"{2}`",userName=`"{3}`",password=`"{4}`",authtype=`"Basic`",includeAcls=`"False`" " + "-disableLink:AppPoolExtension " + "-disableLink:ContentExtension " + "-disableLink:CertificateExtension " + "-skip:objectname=`"dirPath`",absolutepath=`"C:\\kitos_tmp\\app\\App_Data$`" " + "-skip:objectname=`"dirPath`",absolutepath=`"Default Web \Site\\App_Data$`" " + - "-setParamFile:`"{1}\Presentation.Web.csproj.SetParameters.xml`" -allowUntrusted " + + "-setParamFile:`"{1}\Presentation.Web.SetParameters.xml`" -allowUntrusted " + "-setParam:name=`"serilog:minimum-level`",value=`"{5}`" " + "-setParam:name=`"serilog:write-to:Elasticsearch.nodeUris`",value=`"{6}`" " + "-setParam:name=`"SecurityKeyString`",value=`"{7}`" " + diff --git a/DeploymentScripts/DeployWebsiteToEnvironment.ps1 b/DeploymentScripts/DeployWebsiteToEnvironment.ps1 index d86afd8654..fa446539e7 100644 --- a/DeploymentScripts/DeployWebsiteToEnvironment.ps1 +++ b/DeploymentScripts/DeployWebsiteToEnvironment.ps1 @@ -12,7 +12,7 @@ $ErrorActionPreference = "Stop" Setup-Environment -environmentName $targetEnvironment -Prepare-Package -environmentName $targetEnvironment -pathToArchive (Resolve-Path "$PSScriptRoot\..\WebPackage\Presentation.Web.csproj.zip") +Prepare-Package -environmentName $targetEnvironment -pathToArchive (Resolve-Path "$PSScriptRoot\..\WebPackage\Presentation.Web.zip") Deploy-Website -packageDirectory (Resolve-Path "$PSScriptRoot\..\WebPackage") ` -msDeployUrl "$Env:MsDeployUrl" ` diff --git a/Infrastructure.DataAccess/Extensions/EntityPropertyProxyValueLoader.cs b/Infrastructure.DataAccess/Extensions/EntityPropertyProxyValueLoader.cs new file mode 100644 index 0000000000..8c66f13447 --- /dev/null +++ b/Infrastructure.DataAccess/Extensions/EntityPropertyProxyValueLoader.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace Infrastructure.DataAccess.Extensions +{ + public class EntityPropertyProxyValueLoader + { + private readonly Lazy> _entityTypeVirtualGetters = + new( + () => + typeof(T) + .GetProperties() + .Where(property => property.CanRead) + .Select(property => property.GetMethod) + .Where(getMethod => getMethod.IsVirtual && getMethod.IsPublic) + .ToList() + .AsReadOnly() + ); + + public T LoadReferencedEntities(T entity) + { + //Invoke getters of all reference properties. This solves the issue of EF not cascading on optional foreign keys in reference objects which may reference either one or many of the different root elements. Example: TaskRef + _entityTypeVirtualGetters + .Value + .Select(methodInfo => methodInfo.Invoke(entity, new object[0])) + .ToList(); + return entity; + } + } +} diff --git a/Infrastructure.DataAccess/GenericRepository.cs b/Infrastructure.DataAccess/GenericRepository.cs index 77d878071b..bb2f036098 100644 --- a/Infrastructure.DataAccess/GenericRepository.cs +++ b/Infrastructure.DataAccess/GenericRepository.cs @@ -5,8 +5,8 @@ using System.Diagnostics; using System.Linq; using System.Linq.Expressions; -using System.Reflection; using Core.DomainServices; +using Infrastructure.DataAccess.Extensions; namespace Infrastructure.DataAccess { @@ -17,17 +17,7 @@ public class GenericRepository : IGenericRepository private readonly DbSet _dbSet; private bool _disposed; - private readonly Lazy> _entityTypeVirtualGetters = - new Lazy>( - () => - typeof(T) - .GetProperties() - .Where(property => property.CanRead) - .Select(property => property.GetMethod) - .Where(getMethod => getMethod.IsVirtual && getMethod.IsPublic) - .ToList() - .AsReadOnly() - ); + private readonly Lazy> _proxyValueLoader = new(() => new EntityPropertyProxyValueLoader()); public GenericRepository(KitosContext context) { @@ -136,11 +126,7 @@ public void DeleteByKeyWithReferencePreload(params object[] key) private void LoadReferencedEntities(T entity) { - //Invoke getters of all reference properties. This solves the issue of EF not cascading on optional foreign keys in reference objects which may reference either one or many of the different root elements. Example: TaskRef - _entityTypeVirtualGetters - .Value - .Select(methodInfo => methodInfo.Invoke(entity, new object[0])) - .ToList(); + _proxyValueLoader.Value.LoadReferencedEntities(entity); } public void Update(T entity) diff --git a/Infrastructure.DataAccess/Infrastructure.DataAccess.csproj b/Infrastructure.DataAccess/Infrastructure.DataAccess.csproj index 4171b2b856..f2eee31217 100644 --- a/Infrastructure.DataAccess/Infrastructure.DataAccess.csproj +++ b/Infrastructure.DataAccess/Infrastructure.DataAccess.csproj @@ -59,11 +59,14 @@ + + + @@ -88,8 +91,8 @@ + - @@ -117,8 +120,6 @@ - - @@ -860,6 +861,58 @@ 202205181142292_Added_UIModuleCustomization.cs + + + 202205190801320_UserDelete.cs + + + + 202206010716273_ChangedProcurementPlanHalfToQuarter.cs + + + + 202206081008542_Rename_SsoOrgIdentity.cs + + + + 202206131047556_AddDprReadModelLastUpdatedBy.cs + + + + 202206221441060_AddProcurmentInitiatedToItContract.cs + + + + 202206240625598_AddCriticalityType.cs + + + + 202207060929536_Rename_Criticality_fields_on_contract.cs + + + + 202207080532355_Remove_AccessModifier_From_Economystream.cs + + + + 202207120737229_AddedUserCountUndecided.cs + + + + 202207121044195_RemovedHandoverTrialsAndPaymentMilestones.cs + + + + 202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.cs + + + + 202207270956038_fixArchiveSupplier.cs + + + + 202208211025538_fix_advice_role_relations.cs + @@ -1420,6 +1473,45 @@ 202205181142292_Added_UIModuleCustomization.cs + + 202205190801320_UserDelete.cs + + + 202206010716273_ChangedProcurementPlanHalfToQuarter.cs + + + 202206081008542_Rename_SsoOrgIdentity.cs + + + 202206131047556_AddDprReadModelLastUpdatedBy.cs + + + 202206221441060_AddProcurmentInitiatedToItContract.cs + + + 202206240625598_AddCriticalityType.cs + + + 202207060929536_Rename_Criticality_fields_on_contract.cs + + + 202207080532355_Remove_AccessModifier_From_Economystream.cs + + + 202207120737229_AddedUserCountUndecided.cs + + + 202207121044195_RemovedHandoverTrialsAndPaymentMilestones.cs + + + 202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.cs + + + 202207270956038_fixArchiveSupplier.cs + + + 202208211025538_fix_advice_role_relations.cs + @@ -1499,6 +1591,9 @@ + + + diff --git a/Infrastructure.DataAccess/Interceptors/EFEntityInterceptor.cs b/Infrastructure.DataAccess/Interceptors/EFEntityInterceptor.cs index 44a64febbd..5242318df2 100644 --- a/Infrastructure.DataAccess/Interceptors/EFEntityInterceptor.cs +++ b/Infrastructure.DataAccess/Interceptors/EFEntityInterceptor.cs @@ -59,11 +59,13 @@ private DbCommandTree HandleInsertCommand(DbInsertCommandTree insertCommand) var now = _operationClock().Now; var updates = new List, DbExpression>> - { - new(clause=>MatchPropertyName(clause,ObjectOwnerIdColumnName), userId), - new(clause=>MatchPropertyName(clause,LastChangedByUserIdColumnName), userId), - new(clause=>MatchPropertyName(clause,LastChangedColumnName), DbExpression.FromDateTime(now)) - }; + { + new(clause => MatchPropertyName(clause, ObjectOwnerIdColumnName), userId), + new(clause => MatchPropertyName(clause, LastChangedByUserIdColumnName), userId), + new(clause => MatchPropertyName(clause, LastChangedColumnName), DbExpression.FromDateTime(now)) + } + .Select(update => ("", false, update))//First two fields are only used during an update scenario, so we insert dummies here + .ToList(); var setClauses = insertCommand.SetClauses .Select(clause => ApplyUpdates(clause, updates)) @@ -82,17 +84,23 @@ private DbCommandTree HandleUpdateCommand(DbUpdateCommandTree updateCommand) var userId = GetActiveUserId(); var now = _operationClock().Now; - var updates = new List, DbExpression>> + var pendingUpdates = new List<(string propertyName, bool addIfNotUpdated, KeyValuePair, DbExpression> condition)> { - new(clause=>MatchPropertyName(clause,ObjectOwnerIdColumnName) && MatchNull(clause), userId), //Some EF updates end up in this e.g. changing an owned child on a parent - new(clause=>MatchPropertyName(clause,LastChangedByUserIdColumnName), userId), - new(clause=>MatchPropertyName(clause,LastChangedColumnName), DbExpression.FromDateTime(now)) + new(ObjectOwnerIdColumnName, false,new KeyValuePair, DbExpression>(clause => MatchPropertyName(clause, ObjectOwnerIdColumnName) && MatchNull(clause), userId)), //Some EF updates end up in this e.g. changing an owned child on a parent + new(LastChangedByUserIdColumnName, true,new KeyValuePair, DbExpression>(clause => MatchPropertyName(clause, LastChangedByUserIdColumnName), userId)), + new(LastChangedColumnName, true,new KeyValuePair, DbExpression>(clause => MatchPropertyName(clause, LastChangedColumnName), DbExpression.FromDateTime(now))) }; var setClauses = updateCommand.SetClauses - .Select(clause => ApplyUpdates(clause, updates)) + .Select(clause => ApplyUpdates(clause, pendingUpdates)) .ToList(); + //Add updates which did not hit an existing change set (but only the ones which MUST be updated on each update) + foreach (var updateDescriptor in pendingUpdates.Where(x => x.addIfNotUpdated).ToList()) + { + ApplyUnusedUpdates(updateCommand, updateDescriptor.propertyName, updateDescriptor.condition.Value, setClauses); + } + return new DbUpdateCommandTree( updateCommand.MetadataWorkspace, updateCommand.DataSpace, @@ -125,20 +133,20 @@ private static bool MatchPropertyName(DbSetClause clause, string propertyName) return propertyExpression.Property.Name == propertyName; } - public static DbModificationClause ApplyUpdates(DbModificationClause clause, List, DbExpression>> pendingUpdates) + public static DbModificationClause ApplyUpdates(DbModificationClause clause, List<(string propertyName, bool addIfNotUpdated, KeyValuePair, DbExpression> condition)> pendingUpdates) { //Only check for updates until pending updates has been depleted if (pendingUpdates.Any()) { - foreach (var pendingUpdate in pendingUpdates.ToList()) + foreach (var pendingUpdate in pendingUpdates) { - if (pendingUpdate.Key((DbSetClause)clause)) + if (pendingUpdate.condition.Key((DbSetClause)clause)) { var propertyExpression = (DbPropertyExpression)((DbSetClause)clause).Property; //Pending update matched - apply the update and break off pendingUpdates.Remove(pendingUpdate); - return DbExpressionBuilder.SetClause(propertyExpression, pendingUpdate.Value); + return DbExpressionBuilder.SetClause(propertyExpression, pendingUpdate.condition.Value); } } } @@ -146,5 +154,28 @@ public static DbModificationClause ApplyUpdates(DbModificationClause clause, Lis //Return original return clause; } + + private static DbSetClause GetUpdateSetClause(string column, DbExpression newValueToSetToDb, DbUpdateCommandTree updateCommand) + { + // Create the variable reference in order to create the property + var variableReference = updateCommand.Target.VariableType.Variable(updateCommand.Target.VariableName); + + // Create the property to which will assign the correct value + var tenantProperty = variableReference.Property(column); + + // Create the set clause, object representation of sql insert command + var newSetClause = DbExpressionBuilder.SetClause(tenantProperty, newValueToSetToDb); + return newSetClause; + } + + private static void ApplyUnusedUpdates(DbUpdateCommandTree updateCommand, string propertyName, DbExpression updateExpression, ICollection setClauses) + { + var edmType = updateCommand.Target.VariableType.EdmType; + if (edmType is not System.Data.Entity.Core.Metadata.Edm.EntityType entityType) + return; + + if (entityType.Properties.Contains(propertyName)) + setClauses.Add(GetUpdateSetClause(propertyName, updateExpression, updateCommand)); + } } } diff --git a/Infrastructure.DataAccess/KitosContext.cs b/Infrastructure.DataAccess/KitosContext.cs index bfae53878c..0c20d221db 100644 --- a/Infrastructure.DataAccess/KitosContext.cs +++ b/Infrastructure.DataAccess/KitosContext.cs @@ -38,6 +38,7 @@ public KitosContext(string nameOrConnectionString) public DbSet ItContractAgreementElementTypes { get; set; } public DbSet OrganizationRights { get; set; } public DbSet Advices { get; set; } + public DbSet AdviceUserRelations { get; set; } public DbSet AgreementElementTypes { get; set; } public DbSet ArchiveTypes { get; set; } public DbSet ArchiveLocation { get; set; } @@ -56,8 +57,8 @@ public KitosContext(string nameOrConnectionString) public DbSet GoalStatus { get; set; } public DbSet GoalTypes { get; set; } public DbSet Handovers { get; set; } - public DbSet HandoverTrials { get; set; } - public DbSet HandoverTrialTypes { get; set; } + public DbSet CriticalityTypes { get; set; } + public DbSet LocalCriticalityTypes { get; set; } public DbSet InterfaceTypes { get; set; } public DbSet ItInterfaceExhibits { get; set; } public DbSet ItContracts { get; set; } @@ -84,7 +85,6 @@ public KitosContext(string nameOrConnectionString) public DbSet OrganizationUnitRoles { get; set; } public DbSet PasswordResetRequests { get; set; } public DbSet PaymentFreqencyTypes { get; set; } - public DbSet PaymentMilestones { get; set; } public DbSet PaymentModelTypes { get; set; } public DbSet PriceRegulationTypes { get; set; } public DbSet ProcurementStrategyTypes { get; set; } @@ -107,7 +107,6 @@ public KitosContext(string nameOrConnectionString) public DbSet LocalDataTypes { get; set; } public DbSet LocalRelationFrequencyTypes { get; set; } public DbSet LocalGoalTypes { get; set; } - public DbSet LocalHandoverTrialTypes { get; set; } public DbSet LocalInterfaceTypes { get; set; } public DbSet LocalItContractRoles { get; set; } public DbSet LocalItContractTemplateTypes { get; set; } @@ -141,7 +140,7 @@ public KitosContext(string nameOrConnectionString) public DbSet BrokenExternalReferencesReports { get; set; } public DbSet ItSystemUsageSensitiveDataLevels { get; set; } public DbSet SsoUserIdentities { get; set; } - public DbSet SsoOrganizationIdentities { get; set; } + public DbSet SsoOrganizationIdentities { get; set; } public DbSet DataProcessingRegistrations { get; set; } public DbSet DataProcessingRegistrationRoles { get; set; } public DbSet LocalDataProcessingRegistrationRoles { get; set; } @@ -204,8 +203,7 @@ protected override void OnModelCreating(DbModelBuilder modelBuilder) modelBuilder.Configurations.Add(new GoalStatusMap()); modelBuilder.Configurations.Add(new GoalTypeMap()); modelBuilder.Configurations.Add(new HandoverMap()); - modelBuilder.Configurations.Add(new HandoverTrialMap()); - modelBuilder.Configurations.Add(new HandoverTrialTypeMap()); + modelBuilder.Configurations.Add(new CriticalityTypeMap()); modelBuilder.Configurations.Add(new InterfaceTypeMap()); modelBuilder.Configurations.Add(new ItInterfaceMap()); modelBuilder.Configurations.Add(new ItInterfaceExhibitMap()); @@ -255,7 +253,7 @@ protected override void OnModelCreating(DbModelBuilder modelBuilder) modelBuilder.Configurations.Add(new BrokenLinkInInterfaceMap()); modelBuilder.Configurations.Add(new ItSystemUsageSensitiveDataLevelMap()); modelBuilder.Configurations.Add(new SsoUserIdentityMap()); - modelBuilder.Configurations.Add(new SsoOrganizationIdentityMap()); + modelBuilder.Configurations.Add(new StsOrganizationIdentityMap()); modelBuilder.Configurations.Add(new DataProcessingRegistrationMap()); modelBuilder.Configurations.Add(new DataProcessingRegistrationRightMap()); modelBuilder.Configurations.Add(new DataProcessingRegistrationRoleMap()); @@ -283,6 +281,7 @@ protected override void OnModelCreating(DbModelBuilder modelBuilder) modelBuilder.Configurations.Add(new LifeCycleTrackingEventMap()); modelBuilder.Configurations.Add(new UIModuleCustomizationMap()); modelBuilder.Configurations.Add(new CustomizedUINodeMap()); + modelBuilder.Configurations.Add(new AdviceUserRelationMap()); } } } diff --git a/Infrastructure.DataAccess/Mapping/AdviceUserRelationMap.cs b/Infrastructure.DataAccess/Mapping/AdviceUserRelationMap.cs new file mode 100644 index 0000000000..d590f6da33 --- /dev/null +++ b/Infrastructure.DataAccess/Mapping/AdviceUserRelationMap.cs @@ -0,0 +1,27 @@ +using Core.DomainModel.Advice; + +namespace Infrastructure.DataAccess.Mapping +{ + internal class AdviceUserRelationMap : EntityMap + { + public AdviceUserRelationMap() + { + this.ToTable("AdviceUserRelations"); + HasOptional(x => x.ItContractRole) + .WithMany(x => x.AdviceUserRelations) + .WillCascadeOnDelete(false); + + HasOptional(x => x.ItProjectRole) + .WithMany(x => x.AdviceUserRelations) + .WillCascadeOnDelete(false); + + HasOptional(x => x.DataProcessingRegistrationRole) + .WithMany(x => x.AdviceUserRelations) + .WillCascadeOnDelete(false); + + HasOptional(x => x.ItSystemRole) + .WithMany(x => x.AdviceUserRelations) + .WillCascadeOnDelete(false); + } + } +} diff --git a/Infrastructure.DataAccess/Mapping/HandoverTrialTypeMap.cs b/Infrastructure.DataAccess/Mapping/CriticalityTypeMap.cs similarity index 52% rename from Infrastructure.DataAccess/Mapping/HandoverTrialTypeMap.cs rename to Infrastructure.DataAccess/Mapping/CriticalityTypeMap.cs index 2bbc56e437..c11f34ada5 100644 --- a/Infrastructure.DataAccess/Mapping/HandoverTrialTypeMap.cs +++ b/Infrastructure.DataAccess/Mapping/CriticalityTypeMap.cs @@ -2,7 +2,7 @@ namespace Infrastructure.DataAccess.Mapping { - public class HandoverTrialTypeMap : OptionEntityMap + public class CriticalityTypeMap : OptionEntityMap { } } diff --git a/Infrastructure.DataAccess/Mapping/DataProcessingRegistrationReadModelMap.cs b/Infrastructure.DataAccess/Mapping/DataProcessingRegistrationReadModelMap.cs index de6a95e18c..1169342cc8 100644 --- a/Infrastructure.DataAccess/Mapping/DataProcessingRegistrationReadModelMap.cs +++ b/Infrastructure.DataAccess/Mapping/DataProcessingRegistrationReadModelMap.cs @@ -1,6 +1,7 @@ using System.Data.Entity.ModelConfiguration; using Core.DomainModel.GDPR; using Core.DomainModel.GDPR.Read; +using Core.DomainModel.Users; namespace Infrastructure.DataAccess.Mapping { @@ -20,6 +21,7 @@ public DataProcessingRegistrationReadModelMap() //No index of this, length is unknown since no bounds on system assignment. Property(x => x.SystemNamesAsCsv).IsOptional(); + Property(x => x.SystemUuidsAsCsv).IsOptional(); Property(x => x.MainReferenceUserAssignedId).IsOptional(); @@ -69,6 +71,16 @@ public DataProcessingRegistrationReadModelMap() .HasIndexAnnotation("IX_DPR_IsOversightCompleted", 0); Property(x => x.ContractNamesAsCsv).IsOptional(); + + Property(x => x.LastChangedById) + .HasIndexAnnotation("DataProcessingRegistrationReadModel_Index_LastChangedById", 0); + + Property(x => x.LastChangedByName) + .HasMaxLength(UserConstraints.MaxNameLength) + .HasIndexAnnotation("DataProcessingRegistrationReadModel_Index_LastChangedByName", 0); + + Property(x => x.LastChangedAt) + .HasIndexAnnotation("DataProcessingRegistrationReadModel_Index_LastChangedAt", 0); } } } \ No newline at end of file diff --git a/Infrastructure.DataAccess/Mapping/EconomyStreamMap.cs b/Infrastructure.DataAccess/Mapping/EconomyStreamMap.cs index 9bd0bccfa7..bcb89011e0 100644 --- a/Infrastructure.DataAccess/Mapping/EconomyStreamMap.cs +++ b/Infrastructure.DataAccess/Mapping/EconomyStreamMap.cs @@ -25,8 +25,6 @@ public EconomyStreamMap() .WithMany(d => d.EconomyStreams) .HasForeignKey(t => t.OrganizationUnitId) .WillCascadeOnDelete(false); - - TypeMapping.AddIndexOnAccessModifier(this); } } } diff --git a/Infrastructure.DataAccess/Mapping/HandoverTrialMap.cs b/Infrastructure.DataAccess/Mapping/HandoverTrialMap.cs deleted file mode 100644 index dc92b6d749..0000000000 --- a/Infrastructure.DataAccess/Mapping/HandoverTrialMap.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Core.DomainModel.ItContract; - -namespace Infrastructure.DataAccess.Mapping -{ - public class HandoverTrialMap : EntityMap - { - public HandoverTrialMap() - { - // Primary Key - this.HasKey(t => t.Id); - - // Table & Column Mappings - this.ToTable("HandoverTrial"); - this.Property(t => t.Id).HasColumnName("Id"); - - // Relationships - this.HasRequired(t => t.ItContract) - .WithMany(t => t.HandoverTrials) - .HasForeignKey(d => d.ItContractId); - } - } -} diff --git a/Infrastructure.DataAccess/Mapping/ItContractMap.cs b/Infrastructure.DataAccess/Mapping/ItContractMap.cs index 9e734b368d..f55a0e5ec1 100644 --- a/Infrastructure.DataAccess/Mapping/ItContractMap.cs +++ b/Infrastructure.DataAccess/Mapping/ItContractMap.cs @@ -25,6 +25,10 @@ public ItContractMap() .IsUnique(false) .HasName("IX_Name"); + HasIndex(x => x.ProcurementInitiated) + .IsUnique(false) + .HasName("IX_ProcurementInitiated"); + // Table & Column Mappings ToTable("ItContract"); @@ -59,6 +63,10 @@ public ItContractMap() .HasForeignKey(d => d.ParentId) .WillCascadeOnDelete(false); + HasOptional(t => t.Criticality) + .WithMany(t => t.References) + .HasForeignKey(d => d.CriticalityId); + HasMany(t => t.AssociatedAgreementElementTypes) .WithRequired(t => t.ItContract) .HasForeignKey(t=> t.ItContract_Id); diff --git a/Infrastructure.DataAccess/Mapping/ItSystemUsageMap.cs b/Infrastructure.DataAccess/Mapping/ItSystemUsageMap.cs index ffbe408764..44d8b2cdea 100644 --- a/Infrastructure.DataAccess/Mapping/ItSystemUsageMap.cs +++ b/Infrastructure.DataAccess/Mapping/ItSystemUsageMap.cs @@ -8,7 +8,7 @@ public ItSystemUsageMap() { // Properties // Table & Column Mappings - this.ToTable("ItSystemUsage"); + ToTable("ItSystemUsage"); // Relationships HasOptional(t => t.Reference); @@ -17,49 +17,53 @@ public ItSystemUsageMap() .HasForeignKey(d => d.ItSystemUsage_Id) .WillCascadeOnDelete(true); - this.HasRequired(t => t.Organization) + HasRequired(t => t.Organization) .WithMany(t => t.ItSystemUsages); - this.HasOptional(t => t.ResponsibleUsage) + HasOptional(t => t.ResponsibleUsage) .WithOptionalPrincipal(t => t.ResponsibleItSystemUsage); - this.HasRequired(t => t.ItSystem) + HasRequired(t => t.ItSystem) .WithMany(t => t.Usages); - this.HasOptional(t => t.ArchiveType) + HasOptional(t => t.ArchiveType) .WithMany(t => t.References) .HasForeignKey(d => d.ArchiveTypeId); - this.HasOptional(t => t.SensitiveDataType) + HasOptional(t => t.SensitiveDataType) .WithMany(t => t.References) .HasForeignKey(d => d.SensitiveDataTypeId); - this.HasMany(t => t.UsedBy) + HasMany(t => t.UsedBy) .WithRequired(t => t.ItSystemUsage) .HasForeignKey(d => d.ItSystemUsageId) .WillCascadeOnDelete(false); - this.HasOptional(t => t.MainContract) + HasOptional(t => t.MainContract) .WithOptionalPrincipal() .WillCascadeOnDelete(false); - this.HasMany(t => t.Contracts) + HasMany(t => t.Contracts) .WithRequired(t => t.ItSystemUsage) .HasForeignKey(d => d.ItSystemUsageId) .WillCascadeOnDelete(false); - this.HasOptional(t => t.ArchiveLocation) + HasOptional(t => t.ArchiveLocation) .WithMany(t => t.References) .HasForeignKey(d => d.ArchiveLocationId); - this.HasOptional(t => t.ArchiveTestLocation) + HasOptional(t => t.ArchiveTestLocation) .WithMany(t => t.References) .HasForeignKey(d => d.ArchiveTestLocationId); - this.HasOptional(t => t.ItSystemCategories) + HasOptional(t => t.ItSystemCategories) .WithMany(t => t.References) .HasForeignKey(d => d.ItSystemCategoriesId); + HasOptional(t => t.ArchiveSupplier) + .WithMany(t => t.ArchiveSupplierForItSystems) + .HasForeignKey(d => d.ArchiveSupplierId); + HasMany(t => t.SensitiveDataLevels) .WithRequired(t => t.ItSystemUsage) .WillCascadeOnDelete(true); diff --git a/Infrastructure.DataAccess/Mapping/SsoOrganizationIdentityMap.cs b/Infrastructure.DataAccess/Mapping/SsoOrganizationIdentityMap.cs deleted file mode 100644 index 4c48203ea7..0000000000 --- a/Infrastructure.DataAccess/Mapping/SsoOrganizationIdentityMap.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Data.Entity.ModelConfiguration; -using Core.DomainModel.SSO; - -namespace Infrastructure.DataAccess.Mapping -{ - public class SsoUserIdentityMap : EntityTypeConfiguration - { - public SsoUserIdentityMap() - { - Property(x => x.ExternalUuid).HasUniqueIndexAnnotation("UX_" + nameof(SsoUserIdentity.ExternalUuid), 0); - HasRequired(x => x.User) - .WithMany(x => x.SsoIdentities) - .WillCascadeOnDelete(true); - } - } -} diff --git a/Infrastructure.DataAccess/Mapping/SsoUserIdentityMap.cs b/Infrastructure.DataAccess/Mapping/SsoUserIdentityMap.cs index 2da32e1ddc..4c48203ea7 100644 --- a/Infrastructure.DataAccess/Mapping/SsoUserIdentityMap.cs +++ b/Infrastructure.DataAccess/Mapping/SsoUserIdentityMap.cs @@ -3,12 +3,12 @@ namespace Infrastructure.DataAccess.Mapping { - public class SsoOrganizationIdentityMap : EntityTypeConfiguration + public class SsoUserIdentityMap : EntityTypeConfiguration { - public SsoOrganizationIdentityMap() + public SsoUserIdentityMap() { - Property(x => x.ExternalUuid).HasUniqueIndexAnnotation("UX_" + nameof(SsoOrganizationIdentity.ExternalUuid), 0); - HasRequired(x => x.Organization) + Property(x => x.ExternalUuid).HasUniqueIndexAnnotation("UX_" + nameof(SsoUserIdentity.ExternalUuid), 0); + HasRequired(x => x.User) .WithMany(x => x.SsoIdentities) .WillCascadeOnDelete(true); } diff --git a/Infrastructure.DataAccess/Mapping/StsOrganizationIdentityMap.cs b/Infrastructure.DataAccess/Mapping/StsOrganizationIdentityMap.cs new file mode 100644 index 0000000000..c1c08c2330 --- /dev/null +++ b/Infrastructure.DataAccess/Mapping/StsOrganizationIdentityMap.cs @@ -0,0 +1,16 @@ +using System.Data.Entity.ModelConfiguration; +using Core.DomainModel.Organization; + +namespace Infrastructure.DataAccess.Mapping +{ + public class StsOrganizationIdentityMap : EntityTypeConfiguration + { + public StsOrganizationIdentityMap() + { + Property(x => x.ExternalUuid).HasUniqueIndexAnnotation("UX_" + nameof(StsOrganizationIdentity.ExternalUuid), 0); + HasRequired(x => x.Organization) + .WithMany(x => x.StsOrganizationIdentities) + .WillCascadeOnDelete(true); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.Designer.cs b/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.Designer.cs new file mode 100644 index 0000000000..d09cf0d6d4 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class UserDelete : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(UserDelete)); + + string IMigrationMetadata.Id + { + get { return "202205190801320_UserDelete"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.cs b/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.cs new file mode 100644 index 0000000000..b377275c4c --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.cs @@ -0,0 +1,22 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class UserDelete : DbMigration + { + public override void Up() + { + AddColumn("dbo.User", "EmailBeforeDeletion", c => c.String()); + AddColumn("dbo.User", "DeletedDate", c => c.DateTime(precision: 7, storeType: "datetime2")); + AddColumn("dbo.User", "Deleted", c => c.Boolean(nullable: false)); + } + + public override void Down() + { + DropColumn("dbo.User", "Deleted"); + DropColumn("dbo.User", "DeletedDate"); + DropColumn("dbo.User", "EmailBeforeDeletion"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.resx b/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.resx new file mode 100644 index 0000000000..f8c34db33d --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202205190801320_UserDelete.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.Designer.cs b/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.Designer.cs new file mode 100644 index 0000000000..657eed054a --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class ChangedProcurementPlanHalfToQuarter : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(ChangedProcurementPlanHalfToQuarter)); + + string IMigrationMetadata.Id + { + get { return "202206010716273_ChangedProcurementPlanHalfToQuarter"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.cs b/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.cs new file mode 100644 index 0000000000..d449754221 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.cs @@ -0,0 +1,36 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class ChangedProcurementPlanHalfToQuarter : DbMigration + { + public override void Up() + { + Sql(@"UPDATE dbo.ItContract + SET ProcurementPlanHalf = + CASE ProcurementPlanHalf + WHEN 1 THEN 1 + WHEN 2 THEN 3 + ELSE ProcurementPlanHalf + END;" + ); + RenameColumn("dbo.ItContract", "ProcurementPlanHalf", "ProcurementPlanQuarter"); + } + + public override void Down() + { + Sql(@"UPDATE dbo.ItContract + SET ProcurementPlanQuarter = + CASE ProcurementPlanQuarter + WHEN 1 THEN 1 + WHEN 2 THEN 1 + WHEN 3 THEN 2 + WHEN 4 THEN 2 + ELSE ProcurementPlanQuarter + END;" + ); + RenameColumn("dbo.ItContract", "ProcurementPlanQuarter", "ProcurementPlanHalf"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.resx b/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.resx new file mode 100644 index 0000000000..1a0c338e4f --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206010716273_ChangedProcurementPlanHalfToQuarter.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.Designer.cs b/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.Designer.cs new file mode 100644 index 0000000000..984bb9e136 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class Rename_SsoOrgIdentity : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(Rename_SsoOrgIdentity)); + + string IMigrationMetadata.Id + { + get { return "202206081008542_Rename_SsoOrgIdentity"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.cs b/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.cs new file mode 100644 index 0000000000..19d8bf9aaa --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.cs @@ -0,0 +1,18 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class Rename_SsoOrgIdentity : DbMigration + { + public override void Up() + { + RenameTable(name: "dbo.SsoOrganizationIdentities", newName: "StsOrganizationIdentities"); + } + + public override void Down() + { + RenameTable(name: "dbo.StsOrganizationIdentities", newName: "SsoOrganizationIdentities"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.resx b/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.resx new file mode 100644 index 0000000000..b1dc995ff0 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206081008542_Rename_SsoOrgIdentity.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.Designer.cs b/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.Designer.cs new file mode 100644 index 0000000000..231deed376 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class AddDprReadModelLastUpdatedBy : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddDprReadModelLastUpdatedBy)); + + string IMigrationMetadata.Id + { + get { return "202206131047556_AddDprReadModelLastUpdatedBy"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.cs b/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.cs new file mode 100644 index 0000000000..2022adf48a --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.cs @@ -0,0 +1,28 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddDprReadModelLastUpdatedBy : DbMigration + { + public override void Up() + { + AddColumn("dbo.DataProcessingRegistrationReadModels", "LastChangedById", c => c.Int()); + AddColumn("dbo.DataProcessingRegistrationReadModels", "LastChangedByName", c => c.String(maxLength: 100)); + AddColumn("dbo.DataProcessingRegistrationReadModels", "LastChangedAt", c => c.DateTime(nullable: false, precision: 7, storeType: "datetime2")); + CreateIndex("dbo.DataProcessingRegistrationReadModels", "LastChangedById", name: "DataProcessingRegistrationReadModel_Index_LastChangedById"); + CreateIndex("dbo.DataProcessingRegistrationReadModels", "LastChangedByName", name: "DataProcessingRegistrationReadModel_Index_LastChangedByName"); + CreateIndex("dbo.DataProcessingRegistrationReadModels", "LastChangedAt", name: "DataProcessingRegistrationReadModel_Index_LastChangedAt"); + } + + public override void Down() + { + DropIndex("dbo.DataProcessingRegistrationReadModels", "DataProcessingRegistrationReadModel_Index_LastChangedAt"); + DropIndex("dbo.DataProcessingRegistrationReadModels", "DataProcessingRegistrationReadModel_Index_LastChangedByName"); + DropIndex("dbo.DataProcessingRegistrationReadModels", "DataProcessingRegistrationReadModel_Index_LastChangedById"); + DropColumn("dbo.DataProcessingRegistrationReadModels", "LastChangedAt"); + DropColumn("dbo.DataProcessingRegistrationReadModels", "LastChangedByName"); + DropColumn("dbo.DataProcessingRegistrationReadModels", "LastChangedById"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.resx b/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.resx new file mode 100644 index 0000000000..eca9dd8025 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206131047556_AddDprReadModelLastUpdatedBy.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.Designer.cs b/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.Designer.cs new file mode 100644 index 0000000000..6b6b247a65 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class AddProcurmentInitiatedToItContract : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddProcurmentInitiatedToItContract)); + + string IMigrationMetadata.Id + { + get { return "202206221441060_AddProcurmentInitiatedToItContract"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.cs b/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.cs new file mode 100644 index 0000000000..7aa4d6136a --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.cs @@ -0,0 +1,20 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddProcurmentInitiatedToItContract : DbMigration + { + public override void Up() + { + AddColumn("dbo.ItContract", "ProcurementInitiated", c => c.Int()); + CreateIndex("dbo.ItContract", "ProcurementInitiated"); + } + + public override void Down() + { + DropIndex("dbo.ItContract", new[] { "ProcurementInitiated" }); + DropColumn("dbo.ItContract", "ProcurementInitiated"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.resx b/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.resx new file mode 100644 index 0000000000..508a51ea9f --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206221441060_AddProcurmentInitiatedToItContract.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.Designer.cs b/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.Designer.cs new file mode 100644 index 0000000000..ba13b74c47 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class AddCriticalityType : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddCriticalityType)); + + string IMigrationMetadata.Id + { + get { return "202206240625598_AddCriticalityType"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.cs b/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.cs new file mode 100644 index 0000000000..a253965d56 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.cs @@ -0,0 +1,79 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddCriticalityType : DbMigration + { + public override void Up() + { + CreateTable( + "dbo.CriticalityTypes", + c => new + { + Id = c.Int(nullable: false, identity: true), + Name = c.String(nullable: false, maxLength: 150), + IsLocallyAvailable = c.Boolean(nullable: false), + IsObligatory = c.Boolean(nullable: false), + Description = c.String(), + IsEnabled = c.Boolean(nullable: false), + Priority = c.Int(nullable: false), + Uuid = c.Guid(nullable: false), + ObjectOwnerId = c.Int(nullable: false), + LastChanged = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"), + LastChangedByUserId = c.Int(nullable: false), + }) + .PrimaryKey(t => t.Id) + .ForeignKey("dbo.User", t => t.LastChangedByUserId) + .ForeignKey("dbo.User", t => t.ObjectOwnerId) + .Index(t => t.Uuid, unique: true, name: "UX_Option_Uuid") + .Index(t => t.ObjectOwnerId) + .Index(t => t.LastChangedByUserId); + + CreateTable( + "dbo.LocalCriticalityTypes", + c => new + { + Id = c.Int(nullable: false, identity: true), + Description = c.String(), + OrganizationId = c.Int(nullable: false), + OptionId = c.Int(nullable: false), + IsActive = c.Boolean(nullable: false), + ObjectOwnerId = c.Int(), + LastChanged = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"), + LastChangedByUserId = c.Int(), + }) + .PrimaryKey(t => t.Id) + .ForeignKey("dbo.User", t => t.LastChangedByUserId) + .ForeignKey("dbo.User", t => t.ObjectOwnerId) + .ForeignKey("dbo.Organization", t => t.OrganizationId, cascadeDelete: true) + .Index(t => t.OrganizationId) + .Index(t => t.ObjectOwnerId) + .Index(t => t.LastChangedByUserId); + + AddColumn("dbo.ItContract", "CriticalityTypeId", c => c.Int()); + CreateIndex("dbo.ItContract", "CriticalityTypeId"); + AddForeignKey("dbo.ItContract", "CriticalityTypeId", "dbo.CriticalityTypes", "Id"); + } + + public override void Down() + { + DropForeignKey("dbo.LocalCriticalityTypes", "OrganizationId", "dbo.Organization"); + DropForeignKey("dbo.LocalCriticalityTypes", "ObjectOwnerId", "dbo.User"); + DropForeignKey("dbo.LocalCriticalityTypes", "LastChangedByUserId", "dbo.User"); + DropForeignKey("dbo.ItContract", "CriticalityTypeId", "dbo.CriticalityTypes"); + DropForeignKey("dbo.CriticalityTypes", "ObjectOwnerId", "dbo.User"); + DropForeignKey("dbo.CriticalityTypes", "LastChangedByUserId", "dbo.User"); + DropIndex("dbo.LocalCriticalityTypes", new[] { "LastChangedByUserId" }); + DropIndex("dbo.LocalCriticalityTypes", new[] { "ObjectOwnerId" }); + DropIndex("dbo.LocalCriticalityTypes", new[] { "OrganizationId" }); + DropIndex("dbo.CriticalityTypes", new[] { "LastChangedByUserId" }); + DropIndex("dbo.CriticalityTypes", new[] { "ObjectOwnerId" }); + DropIndex("dbo.CriticalityTypes", "UX_Option_Uuid"); + DropIndex("dbo.ItContract", new[] { "CriticalityTypeId" }); + DropColumn("dbo.ItContract", "CriticalityTypeId"); + DropTable("dbo.LocalCriticalityTypes"); + DropTable("dbo.CriticalityTypes"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.resx b/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.resx new file mode 100644 index 0000000000..ba7ef929df --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202206240625598_AddCriticalityType.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.Designer.cs b/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.Designer.cs new file mode 100644 index 0000000000..e5887e16c6 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class Rename_Criticality_fields_on_contract : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(Rename_Criticality_fields_on_contract)); + + string IMigrationMetadata.Id + { + get { return "202207060929536_Rename_Criticality_fields_on_contract"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.cs b/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.cs new file mode 100644 index 0000000000..324b99eba8 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.cs @@ -0,0 +1,20 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class Rename_Criticality_fields_on_contract : DbMigration + { + public override void Up() + { + RenameColumn(table: "dbo.ItContract", name: "CriticalityTypeId", newName: "CriticalityId"); + RenameIndex(table: "dbo.ItContract", name: "IX_CriticalityTypeId", newName: "IX_CriticalityId"); + } + + public override void Down() + { + RenameIndex(table: "dbo.ItContract", name: "IX_CriticalityId", newName: "IX_CriticalityTypeId"); + RenameColumn(table: "dbo.ItContract", name: "CriticalityId", newName: "CriticalityTypeId"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.resx b/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.resx new file mode 100644 index 0000000000..372e0379b9 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207060929536_Rename_Criticality_fields_on_contract.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.Designer.cs b/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.Designer.cs new file mode 100644 index 0000000000..91c33c6483 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class Remove_AccessModifier_From_Economystream : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(Remove_AccessModifier_From_Economystream)); + + string IMigrationMetadata.Id + { + get { return "202207080532355_Remove_AccessModifier_From_Economystream"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.cs b/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.cs new file mode 100644 index 0000000000..9eb4e81a1d --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.cs @@ -0,0 +1,20 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class Remove_AccessModifier_From_Economystream : DbMigration + { + public override void Up() + { + DropIndex("dbo.EconomyStream", "UX_AccessModifier"); + DropColumn("dbo.EconomyStream", "AccessModifier"); + } + + public override void Down() + { + AddColumn("dbo.EconomyStream", "AccessModifier", c => c.Int(nullable: false)); + CreateIndex("dbo.EconomyStream", "AccessModifier", name: "UX_AccessModifier"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.resx b/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.resx new file mode 100644 index 0000000000..f1e3727db8 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207080532355_Remove_AccessModifier_From_Economystream.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.Designer.cs b/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.Designer.cs new file mode 100644 index 0000000000..696d24d028 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class AddedUserCountUndecided : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddedUserCountUndecided)); + + string IMigrationMetadata.Id + { + get { return "202207120737229_AddedUserCountUndecided"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.cs b/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.cs new file mode 100644 index 0000000000..3eec108dc1 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.cs @@ -0,0 +1,26 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddedUserCountUndecided : DbMigration + { + public override void Up() + { + AlterColumn("dbo.ItSystemUsage", "UserCount", c => c.Int()); + Sql(@"UPDATE dbo.ItSystemUsage + SET UserCount = null + WHERE UserCount = 0" + ); + } + + public override void Down() + { + Sql(@"UPDATE dbo.ItSystemUsage + SET UserCount = 0 + WHERE UserCount IS NULL" + ); + AlterColumn("dbo.ItSystemUsage", "UserCount", c => c.Int(nullable: false)); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.resx b/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.resx new file mode 100644 index 0000000000..bf5897c5e2 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207120737229_AddedUserCountUndecided.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.Designer.cs b/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.Designer.cs new file mode 100644 index 0000000000..1f7927c1c0 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class RemovedHandoverTrialsAndPaymentMilestones : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(RemovedHandoverTrialsAndPaymentMilestones)); + + string IMigrationMetadata.Id + { + get { return "202207121044195_RemovedHandoverTrialsAndPaymentMilestones"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.cs b/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.cs new file mode 100644 index 0000000000..360d1de5bd --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.cs @@ -0,0 +1,133 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class RemovedHandoverTrialsAndPaymentMilestones : DbMigration + { + public override void Up() + { + DropForeignKey("dbo.HandoverTrialTypes", "LastChangedByUserId", "dbo.User"); + DropForeignKey("dbo.HandoverTrialTypes", "ObjectOwnerId", "dbo.User"); + DropForeignKey("dbo.HandoverTrial", "HandoverTrialTypeId", "dbo.HandoverTrialTypes"); + DropForeignKey("dbo.HandoverTrial", "ItContractId", "dbo.ItContract"); + DropForeignKey("dbo.HandoverTrial", "LastChangedByUserId", "dbo.User"); + DropForeignKey("dbo.HandoverTrial", "ObjectOwnerId", "dbo.User"); + DropForeignKey("dbo.PaymentMilestones", "ItContractId", "dbo.ItContract"); + DropForeignKey("dbo.PaymentMilestones", "LastChangedByUserId", "dbo.User"); + DropForeignKey("dbo.PaymentMilestones", "ObjectOwnerId", "dbo.User"); + DropForeignKey("dbo.LocalHandoverTrialTypes", "LastChangedByUserId", "dbo.User"); + DropForeignKey("dbo.LocalHandoverTrialTypes", "ObjectOwnerId", "dbo.User"); + DropForeignKey("dbo.LocalHandoverTrialTypes", "OrganizationId", "dbo.Organization"); + DropIndex("dbo.HandoverTrial", new[] { "ItContractId" }); + DropIndex("dbo.HandoverTrial", new[] { "HandoverTrialTypeId" }); + DropIndex("dbo.HandoverTrial", new[] { "ObjectOwnerId" }); + DropIndex("dbo.HandoverTrial", new[] { "LastChangedByUserId" }); + DropIndex("dbo.HandoverTrialTypes", "UX_Option_Uuid"); + DropIndex("dbo.HandoverTrialTypes", new[] { "ObjectOwnerId" }); + DropIndex("dbo.HandoverTrialTypes", new[] { "LastChangedByUserId" }); + DropIndex("dbo.PaymentMilestones", new[] { "ItContractId" }); + DropIndex("dbo.PaymentMilestones", new[] { "ObjectOwnerId" }); + DropIndex("dbo.PaymentMilestones", new[] { "LastChangedByUserId" }); + DropIndex("dbo.LocalHandoverTrialTypes", new[] { "OrganizationId" }); + DropIndex("dbo.LocalHandoverTrialTypes", new[] { "ObjectOwnerId" }); + DropIndex("dbo.LocalHandoverTrialTypes", new[] { "LastChangedByUserId" }); + DropTable("dbo.HandoverTrial"); + DropTable("dbo.HandoverTrialTypes"); + DropTable("dbo.PaymentMilestones"); + DropTable("dbo.LocalHandoverTrialTypes"); + } + + public override void Down() + { + CreateTable( + "dbo.LocalHandoverTrialTypes", + c => new + { + Id = c.Int(nullable: false, identity: true), + Description = c.String(), + OrganizationId = c.Int(nullable: false), + OptionId = c.Int(nullable: false), + IsActive = c.Boolean(nullable: false), + ObjectOwnerId = c.Int(), + LastChanged = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"), + LastChangedByUserId = c.Int(), + }) + .PrimaryKey(t => t.Id); + + CreateTable( + "dbo.PaymentMilestones", + c => new + { + Id = c.Int(nullable: false, identity: true), + Title = c.String(), + Expected = c.DateTime(precision: 7, storeType: "datetime2"), + Approved = c.DateTime(precision: 7, storeType: "datetime2"), + ItContractId = c.Int(nullable: false), + ObjectOwnerId = c.Int(), + LastChanged = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"), + LastChangedByUserId = c.Int(), + }) + .PrimaryKey(t => t.Id); + + CreateTable( + "dbo.HandoverTrialTypes", + c => new + { + Id = c.Int(nullable: false, identity: true), + Name = c.String(nullable: false, maxLength: 150), + IsLocallyAvailable = c.Boolean(nullable: false), + IsObligatory = c.Boolean(nullable: false), + Description = c.String(), + IsEnabled = c.Boolean(nullable: false), + Priority = c.Int(nullable: false), + Uuid = c.Guid(nullable: false), + ObjectOwnerId = c.Int(nullable: false), + LastChanged = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"), + LastChangedByUserId = c.Int(nullable: false), + }) + .PrimaryKey(t => t.Id); + + CreateTable( + "dbo.HandoverTrial", + c => new + { + Id = c.Int(nullable: false, identity: true), + Expected = c.DateTime(precision: 7, storeType: "datetime2"), + Approved = c.DateTime(precision: 7, storeType: "datetime2"), + ItContractId = c.Int(nullable: false), + HandoverTrialTypeId = c.Int(), + ObjectOwnerId = c.Int(nullable: false), + LastChanged = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"), + LastChangedByUserId = c.Int(nullable: false), + }) + .PrimaryKey(t => t.Id); + + CreateIndex("dbo.LocalHandoverTrialTypes", "LastChangedByUserId"); + CreateIndex("dbo.LocalHandoverTrialTypes", "ObjectOwnerId"); + CreateIndex("dbo.LocalHandoverTrialTypes", "OrganizationId"); + CreateIndex("dbo.PaymentMilestones", "LastChangedByUserId"); + CreateIndex("dbo.PaymentMilestones", "ObjectOwnerId"); + CreateIndex("dbo.PaymentMilestones", "ItContractId"); + CreateIndex("dbo.HandoverTrialTypes", "LastChangedByUserId"); + CreateIndex("dbo.HandoverTrialTypes", "ObjectOwnerId"); + CreateIndex("dbo.HandoverTrialTypes", "Uuid", unique: true, name: "UX_Option_Uuid"); + CreateIndex("dbo.HandoverTrial", "LastChangedByUserId"); + CreateIndex("dbo.HandoverTrial", "ObjectOwnerId"); + CreateIndex("dbo.HandoverTrial", "HandoverTrialTypeId"); + CreateIndex("dbo.HandoverTrial", "ItContractId"); + AddForeignKey("dbo.LocalHandoverTrialTypes", "OrganizationId", "dbo.Organization", "Id", cascadeDelete: true); + AddForeignKey("dbo.LocalHandoverTrialTypes", "ObjectOwnerId", "dbo.User", "Id"); + AddForeignKey("dbo.LocalHandoverTrialTypes", "LastChangedByUserId", "dbo.User", "Id"); + AddForeignKey("dbo.PaymentMilestones", "ObjectOwnerId", "dbo.User", "Id"); + AddForeignKey("dbo.PaymentMilestones", "LastChangedByUserId", "dbo.User", "Id"); + AddForeignKey("dbo.PaymentMilestones", "ItContractId", "dbo.ItContract", "Id", cascadeDelete: true); + AddForeignKey("dbo.HandoverTrial", "ObjectOwnerId", "dbo.User", "Id"); + AddForeignKey("dbo.HandoverTrial", "LastChangedByUserId", "dbo.User", "Id"); + AddForeignKey("dbo.HandoverTrial", "ItContractId", "dbo.ItContract", "Id", cascadeDelete: true); + AddForeignKey("dbo.HandoverTrial", "HandoverTrialTypeId", "dbo.HandoverTrialTypes", "Id"); + AddForeignKey("dbo.HandoverTrialTypes", "ObjectOwnerId", "dbo.User", "Id"); + AddForeignKey("dbo.HandoverTrialTypes", "LastChangedByUserId", "dbo.User", "Id"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.resx b/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.resx new file mode 100644 index 0000000000..867b880fb7 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207121044195_RemovedHandoverTrialsAndPaymentMilestones.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.Designer.cs b/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.Designer.cs new file mode 100644 index 0000000000..1b50a70e73 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class AddedSystemUuidsAsCsvToDPRReadModel : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(AddedSystemUuidsAsCsvToDPRReadModel)); + + string IMigrationMetadata.Id + { + get { return "202207130738458_AddedSystemUuidsAsCsvToDPRReadModel"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.cs b/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.cs new file mode 100644 index 0000000000..4b6a5686a7 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.cs @@ -0,0 +1,18 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class AddedSystemUuidsAsCsvToDPRReadModel : DbMigration + { + public override void Up() + { + AddColumn("dbo.DataProcessingRegistrationReadModels", "SystemUuidsAsCsv", c => c.String()); + } + + public override void Down() + { + DropColumn("dbo.DataProcessingRegistrationReadModels", "SystemUuidsAsCsv"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.resx b/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.resx new file mode 100644 index 0000000000..1a7db190f7 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207130738458_AddedSystemUuidsAsCsvToDPRReadModel.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.Designer.cs b/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.Designer.cs new file mode 100644 index 0000000000..e0f9aa445e --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class fixArchiveSupplier : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(fixArchiveSupplier)); + + string IMigrationMetadata.Id + { + get { return "202207270956038_fixArchiveSupplier"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.cs b/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.cs new file mode 100644 index 0000000000..c3c4c26936 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.cs @@ -0,0 +1,29 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class fixArchiveSupplier : DbMigration + { + public override void Up() + { + Sql(@"UPDATE ItSystemUsage + SET SupplierId = NULL + WHERE SupplierId not in (SELECT Id from Organization);" + ); + + RenameColumn("dbo.ItSystemUsage", "SupplierId", "ArchiveSupplierId"); + CreateIndex("dbo.ItSystemUsage", "ArchiveSupplierId"); + AddForeignKey("dbo.ItSystemUsage", "ArchiveSupplierId", "dbo.Organization", "Id"); + DropColumn("dbo.ItSystemUsage", "ArchiveSupplier"); + } + + public override void Down() + { + RenameColumn("dbo.ItSystemUsage", "ArchiveSupplierId", "SupplierId"); + AddColumn("dbo.ItSystemUsage", "ArchiveSupplier", c => c.String()); + DropForeignKey("dbo.ItSystemUsage", "ArchiveSupplierId", "dbo.Organization"); + DropIndex("dbo.ItSystemUsage", new[] { "ArchiveSupplierId" }); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.resx b/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.resx new file mode 100644 index 0000000000..a8bc951eb4 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202207270956038_fixArchiveSupplier.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.Designer.cs b/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.Designer.cs new file mode 100644 index 0000000000..a3ee3f43c4 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Infrastructure.DataAccess.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.4.4")] + public sealed partial class fix_advice_role_relations : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(fix_advice_role_relations)); + + string IMigrationMetadata.Id + { + get { return "202208211025538_fix_advice_role_relations"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.cs b/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.cs new file mode 100644 index 0000000000..618a92c728 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.cs @@ -0,0 +1,79 @@ +namespace Infrastructure.DataAccess.Migrations +{ + using System; + using Infrastructure.DataAccess.Tools; + using System.Data.Entity.Migrations; + + public partial class fix_advice_role_relations : DbMigration + { + public override void Up() + { + DropIndex("dbo.AdviceUserRelations", new[] { "ObjectOwnerId" }); + DropIndex("dbo.AdviceUserRelations", new[] { "LastChangedByUserId" }); + AddColumn("dbo.AdviceUserRelations", "ItContractRoleId", c => c.Int()); + AddColumn("dbo.AdviceUserRelations", "ItProjectRoleId", c => c.Int()); + AddColumn("dbo.AdviceUserRelations", "ItSystemRoleId", c => c.Int()); + AddColumn("dbo.AdviceUserRelations", "DataProcessingRegistrationRoleId", c => c.Int()); + AddColumn("dbo.AdviceUserRelations", "Email", c => c.String()); + + //Migrate all names to the email column + Sql(@"UPDATE dbo.AdviceUserRelations + SET Email = Name;" + ); + + //Add missing owner and lastChanged to GlobalAdmin (1) + Sql(@"UPDATE dbo.AdviceUserRelations + SET ObjectOwnerId = 1 where ObjectOwnerId is null;" + ); + Sql(@"UPDATE dbo.AdviceUserRelations + SET LastChangedByUserId = 1 where LastChangedByUserId is null;" + ); + + AlterColumn("dbo.AdviceUserRelations", "ObjectOwnerId", c => c.Int(nullable: false)); + AlterColumn("dbo.AdviceUserRelations", "LastChangedByUserId", c => c.Int(nullable: false)); + CreateIndex("dbo.AdviceUserRelations", "ItContractRoleId"); + CreateIndex("dbo.AdviceUserRelations", "ItProjectRoleId"); + CreateIndex("dbo.AdviceUserRelations", "ItSystemRoleId"); + CreateIndex("dbo.AdviceUserRelations", "DataProcessingRegistrationRoleId"); + CreateIndex("dbo.AdviceUserRelations", "ObjectOwnerId"); + CreateIndex("dbo.AdviceUserRelations", "LastChangedByUserId"); + AddForeignKey("dbo.AdviceUserRelations", "DataProcessingRegistrationRoleId", "dbo.DataProcessingRegistrationRoles", "Id"); + AddForeignKey("dbo.AdviceUserRelations", "ItContractRoleId", "dbo.ItContractRoles", "Id"); + AddForeignKey("dbo.AdviceUserRelations", "ItProjectRoleId", "dbo.ItProjectRoles", "Id"); + AddForeignKey("dbo.AdviceUserRelations", "ItSystemRoleId", "dbo.ItSystemRoles", "Id"); + DropColumn("dbo.Advice", "ReceiverId"); + DropColumn("dbo.Advice", "CarbonCopyReceiverId"); + DropColumn("dbo.AdviceUserRelations", "Name"); + + // Migrate to role FKs and cleanup orphans + SqlResource(SqlMigrationScriptRepository.GetResourceName("Migrate_AdviceUserRelations_Role_Relationships.sql")); + + } + + public override void Down() + { + AddColumn("dbo.AdviceUserRelations", "Name", c => c.String()); + AddColumn("dbo.Advice", "CarbonCopyReceiverId", c => c.Int()); + AddColumn("dbo.Advice", "ReceiverId", c => c.Int()); + DropForeignKey("dbo.AdviceUserRelations", "ItSystemRoleId", "dbo.ItSystemRoles"); + DropForeignKey("dbo.AdviceUserRelations", "ItProjectRoleId", "dbo.ItProjectRoles"); + DropForeignKey("dbo.AdviceUserRelations", "ItContractRoleId", "dbo.ItContractRoles"); + DropForeignKey("dbo.AdviceUserRelations", "DataProcessingRegistrationRoleId", "dbo.DataProcessingRegistrationRoles"); + DropIndex("dbo.AdviceUserRelations", new[] { "LastChangedByUserId" }); + DropIndex("dbo.AdviceUserRelations", new[] { "ObjectOwnerId" }); + DropIndex("dbo.AdviceUserRelations", new[] { "DataProcessingRegistrationRoleId" }); + DropIndex("dbo.AdviceUserRelations", new[] { "ItSystemRoleId" }); + DropIndex("dbo.AdviceUserRelations", new[] { "ItProjectRoleId" }); + DropIndex("dbo.AdviceUserRelations", new[] { "ItContractRoleId" }); + AlterColumn("dbo.AdviceUserRelations", "LastChangedByUserId", c => c.Int()); + AlterColumn("dbo.AdviceUserRelations", "ObjectOwnerId", c => c.Int()); + DropColumn("dbo.AdviceUserRelations", "Email"); + DropColumn("dbo.AdviceUserRelations", "DataProcessingRegistrationRoleId"); + DropColumn("dbo.AdviceUserRelations", "ItSystemRoleId"); + DropColumn("dbo.AdviceUserRelations", "ItProjectRoleId"); + DropColumn("dbo.AdviceUserRelations", "ItContractRoleId"); + CreateIndex("dbo.AdviceUserRelations", "LastChangedByUserId"); + CreateIndex("dbo.AdviceUserRelations", "ObjectOwnerId"); + } + } +} diff --git a/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.resx b/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.resx new file mode 100644 index 0000000000..491bf38e11 --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/202208211025538_fix_advice_role_relations.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Infrastructure.DataAccess/Migrations/Configuration.cs b/Infrastructure.DataAccess/Migrations/Configuration.cs index 809ed73eff..b3305bc034 100644 --- a/Infrastructure.DataAccess/Migrations/Configuration.cs +++ b/Infrastructure.DataAccess/Migrations/Configuration.cs @@ -90,6 +90,8 @@ protected override void Seed(KitosContext context) AddOptions(context.PurchaseFormTypes, globalAdmin, "SKI", "SKI 02.18", "SKI 02.19", "Udbud", "EU udbud", "Direkte tildeling", "Annoncering"); + AddOptions(context.CriticalityTypes, globalAdmin, "Kritikalitet 1", "Kritikalitet 2"); + AddOptions(context.PaymentModelTypes, globalAdmin, "Licens", "icens - flatrate", "Licens - forbrug", "Licens - indbyggere", "Licens - pr. sag", "Gebyr", "Engangsydelse"); AddOptions(context.AgreementElementTypes, globalAdmin, @@ -106,8 +108,6 @@ protected override void Seed(KitosContext context) AddOptions(context.TerminationDeadlineTypes, globalAdmin, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"); - AddOptions(context.HandoverTrialTypes, globalAdmin, "Funktionsprøve", "Driftovertagelsesprøve"); - AddOptions(context.ItSystemCategories, globalAdmin, "Offentlige data", "Interne data", "Fortrolige data", "Hemmelige data"); AddOptions(context.ArchiveTestLocation, globalAdmin, "TestLocation1", "TestLocation2"); diff --git a/Infrastructure.DataAccess/Migrations/SQLScripts/Migrate_AdviceUserRelations_Role_Relationships.sql b/Infrastructure.DataAccess/Migrations/SQLScripts/Migrate_AdviceUserRelations_Role_Relationships.sql new file mode 100644 index 0000000000..99b2c7cdbd --- /dev/null +++ b/Infrastructure.DataAccess/Migrations/SQLScripts/Migrate_AdviceUserRelations_Role_Relationships.sql @@ -0,0 +1,78 @@ +/* +User story reference: + https://os2web.atlassian.net/browse/KITOSUDV-1882 + +Content: + Adds FK bindings to the different roles and fixes the old issue of losing track of roles because bindings were by name. +*/ + +--------------- +--- SYSTEM ADVICES +--------------- +UPDATE AdviceUserRelations +SET ItSystemRoleId = ItSystemRoles.Id + +FROM + AdviceUserRelations INNER JOIN + ItSystemRoles ON AdviceUserRelations.Email = ItSystemRoles.Name INNER JOIN + Advice ON AdviceUserRelations.AdviceId = Advice.Id +WHERE + Advice.Type = 1 AND --Itsystem Advice + AdviceUserRelations.RecpientType = 0 --Role receiver + +-------------------- +--- CONTRACT ADVICES +-------------------- +UPDATE AdviceUserRelations +SET ItContractRoleId = ItContractRoles.Id + +FROM + AdviceUserRelations INNER JOIN + ItContractRoles ON AdviceUserRelations.Email = ItContractRoles.Name INNER JOIN + Advice ON AdviceUserRelations.AdviceId = Advice.Id +WHERE + Advice.Type = 0 AND --ItContract Advice + AdviceUserRelations.RecpientType = 0 --Role receiver + +-------------------- +--- PROJECT ADVICES +-------------------- +UPDATE AdviceUserRelations +SET ItProjectRoleId = ItProjectRoles.Id + +FROM + AdviceUserRelations INNER JOIN + ItProjectRoles ON AdviceUserRelations.Email = ItProjectRoles.Name INNER JOIN + Advice ON AdviceUserRelations.AdviceId = Advice.Id +WHERE + Advice.Type = 2 AND --ITProject Advice + AdviceUserRelations.RecpientType = 0 --Role receiver + + +--------------- +--- DPR ADVICES +--------------- +UPDATE AdviceUserRelations +SET DataProcessingRegistrationRoleId = DataProcessingRegistrationRoles.Id + +FROM + AdviceUserRelations INNER JOIN + DataProcessingRegistrationRoles ON AdviceUserRelations.Email = DataProcessingRegistrationRoles.Name INNER JOIN + Advice ON AdviceUserRelations.AdviceId = Advice.Id +WHERE + Advice.Type = 4 AND --DPR Advice + AdviceUserRelations.RecpientType = 0 --Role receiver + +-- Delete orphans +delete from dbo.[AdviceUserRelations] +where + RecpientType = 0 and + ItContractRoleId is null and + ItProjectRoleId is null and + ItSystemRoleId is null and + DataProcessingRegistrationRoleId is null; + +-- Update email column on role fields +UPDATE dbo.AdviceUserRelations +SET Email = NULL +WHERE RecpientType = 0; \ No newline at end of file diff --git a/Infrastructure.OpenXML/app.config b/Infrastructure.OpenXML/app.config index eabc9fcd20..e4a5341198 100644 --- a/Infrastructure.OpenXML/app.config +++ b/Infrastructure.OpenXML/app.config @@ -6,10 +6,6 @@ - - - - diff --git a/Infrastructure.STS.Common/Factories/BasicHttpBindingFactory.cs b/Infrastructure.STS.Common/Factories/BasicHttpBindingFactory.cs new file mode 100644 index 0000000000..286d90e3bb --- /dev/null +++ b/Infrastructure.STS.Common/Factories/BasicHttpBindingFactory.cs @@ -0,0 +1,25 @@ +using System; +using System.ServiceModel; + +namespace Infrastructure.STS.Common.Factories +{ + public static class BasicHttpBindingFactory + { + public static BasicHttpBinding CreateHttpBinding() + { + return new BasicHttpBinding + { + Security = + { + Mode = BasicHttpSecurityMode.Transport, + Transport = {ClientCredentialType = HttpClientCredentialType.Certificate} + }, + MaxReceivedMessageSize = int.MaxValue, + OpenTimeout = new TimeSpan(0, 3, 0), + CloseTimeout = new TimeSpan(0, 3, 0), + ReceiveTimeout = new TimeSpan(0, 3, 0), + SendTimeout = new TimeSpan(0, 3, 0) + }; + } + } +} diff --git a/Infrastructure.STS.Common/Factories/X509CertificateClientCertificateFactory.cs b/Infrastructure.STS.Common/Factories/X509CertificateClientCertificateFactory.cs new file mode 100644 index 0000000000..00c193c337 --- /dev/null +++ b/Infrastructure.STS.Common/Factories/X509CertificateClientCertificateFactory.cs @@ -0,0 +1,31 @@ +using System; +using System.Security.Cryptography.X509Certificates; + +namespace Infrastructure.STS.Common.Factories +{ + public static class X509CertificateClientCertificateFactory + { + public static X509Certificate2 GetClientCertificate(string thumbprint, StoreName storeName = StoreName.My, StoreLocation storeLocation = StoreLocation.LocalMachine) + { + using (var store = new X509Store(storeName, storeLocation)) + { + store.Open(OpenFlags.ReadOnly); + X509Certificate2 result; + try + { + var results = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false); + if (results.Count == 0) + { + throw new Exception("Unable to find certificate!"); + } + result = results[0]; + } + finally + { + store.Close(); + } + return result; + } + } + } +} diff --git a/Infrastructure.STS.Common/Infrastructure.STS.Common.csproj b/Infrastructure.STS.Common/Infrastructure.STS.Common.csproj new file mode 100644 index 0000000000..76993849ab --- /dev/null +++ b/Infrastructure.STS.Common/Infrastructure.STS.Common.csproj @@ -0,0 +1,59 @@ + + + + + Debug + AnyCPU + {423D7522-4882-4438-94F4-7B3F5778C83F} + Library + Properties + Infrastructure.STS.Common + Infrastructure.STS.Common + v4.8 + 512 + true + latest + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + {BD8C90E7-52C7-4AD0-935D-98A2AA89E449} + Core.Abstractions + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Common/Model/StsError.cs b/Infrastructure.STS.Common/Model/StsError.cs new file mode 100644 index 0000000000..1ffd86e2bc --- /dev/null +++ b/Infrastructure.STS.Common/Model/StsError.cs @@ -0,0 +1,9 @@ +namespace Infrastructure.STS.Common.Model +{ + public enum StsError + { + NotFound, + BadInput, + Unknown + } +} diff --git a/Infrastructure.STS.Common/Model/StsErrorParser.cs b/Infrastructure.STS.Common/Model/StsErrorParser.cs new file mode 100644 index 0000000000..b01380d06e --- /dev/null +++ b/Infrastructure.STS.Common/Model/StsErrorParser.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; +using Core.Abstractions.Types; + +namespace Infrastructure.STS.Common.Model +{ + public static class StsErrorParser + { + private static readonly IReadOnlyDictionary KnownErrors = new Dictionary + { + { "44", StsError.NotFound }, + { "40", StsError.BadInput } + }; + public static Maybe ParseStsError(this string resultCode) + { + if (resultCode == "20") + { + return Maybe.None; + } + + return KnownErrors.TryGetValue(resultCode, out var knownError) ? knownError : StsError.Unknown; + } + } +} diff --git a/Infrastructure.STS.Common/Properties/AssemblyInfo.cs b/Infrastructure.STS.Common/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..5baf45232c --- /dev/null +++ b/Infrastructure.STS.Common/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Infrastructure.STS.Common")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Infrastructure.STS.Common")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("423d7522-4882-4438-94f4-7b3f5778c83f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/AuthorityContext_1.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/AuthorityContext_1.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/AuthorityContext_1.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/AuthorityContext_1.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/CallContext_1.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/CallContext_1.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/CallContext_1.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/CallContext_1.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/GenerelleDefinitioner.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/GenerelleDefinitioner.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/GenerelleDefinitioner.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/GenerelleDefinitioner.xsd diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.ImporterResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.ImporterResponseType.datasource new file mode 100644 index 0000000000..8b2081347f --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.ImporterResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.ImporterResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.LaesResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.LaesResponseType.datasource new file mode 100644 index 0000000000..ee66aea259 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.LaesResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.LaesResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.ListResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.ListResponseType.datasource new file mode 100644 index 0000000000..fd30a4cdf0 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.ListResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.ListResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.OpretResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.OpretResponseType.datasource new file mode 100644 index 0000000000..d183f625bf --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.OpretResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.OpretResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.PassiverResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.PassiverResponseType.datasource new file mode 100644 index 0000000000..e63ab89a31 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.PassiverResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.PassiverResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.RequestHeaderType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.RequestHeaderType.datasource new file mode 100644 index 0000000000..4c6d22177c --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.RequestHeaderType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.RequestHeaderType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.RetResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.RetResponseType.datasource new file mode 100644 index 0000000000..3f7833015b --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.RetResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.RetResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.SletResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.SletResponseType.datasource new file mode 100644 index 0000000000..f63b4ef2f9 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.SletResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.SletResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.SoegResponseType.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.SoegResponseType.datasource new file mode 100644 index 0000000000..113525b4fa --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.SoegResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.SoegResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.importerResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.importerResponse.datasource new file mode 100644 index 0000000000..a4d7032623 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.importerResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.importerResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.laesResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.laesResponse.datasource new file mode 100644 index 0000000000..4e60f2d82f --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.laesResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.laesResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.listResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.listResponse.datasource new file mode 100644 index 0000000000..52ce551214 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.listResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.listResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.opretResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.opretResponse.datasource new file mode 100644 index 0000000000..8dc2bac6d0 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.opretResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.opretResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.passiverResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.passiverResponse.datasource new file mode 100644 index 0000000000..9e5a8048eb --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.passiverResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.passiverResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.retResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.retResponse.datasource new file mode 100644 index 0000000000..89592104c6 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.retResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.retResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.sletResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.sletResponse.datasource new file mode 100644 index 0000000000..a782a59d4a --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.sletResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.sletResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.soegResponse.datasource b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.soegResponse.datasource new file mode 100644 index 0000000000..1d772d94de --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Infrastructure.STS.Company.ServiceReference.soegResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Company.ServiceReference.soegResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/Part.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/Part.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/Part.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/Part.xsd diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Reference.cs b/Infrastructure.STS.Company/Connected Services/ServiceReference/Reference.cs new file mode 100644 index 0000000000..4e05692e29 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Reference.cs @@ -0,0 +1,3267 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Infrastructure.STS.Company.ServiceReference { + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + public partial class ServiceplatformFaultType : object, System.ComponentModel.INotifyPropertyChanged { + + private ErrorType[] errorListField; + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=0)] + [System.Xml.Serialization.XmlArrayItemAttribute("Error", IsNullable=false)] + public ErrorType[] ErrorList { + get { + return this.errorListField; + } + set { + this.errorListField = value; + this.RaisePropertyChanged("ErrorList"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + public partial class ErrorType : object, System.ComponentModel.INotifyPropertyChanged { + + private string errorCodeField; + + private string errorTextField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string ErrorCode { + get { + return this.errorCodeField; + } + set { + this.errorCodeField = value; + this.RaisePropertyChanged("ErrorCode"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string ErrorText { + get { + return this.errorTextField; + } + set { + this.errorTextField = value; + this.RaisePropertyChanged("ErrorText"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistreringType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RegistreringType : object, System.ComponentModel.INotifyPropertyChanged { + + private string noteTekstField; + + private System.DateTime tidspunktField; + + private bool tidspunktFieldSpecified; + + private LivscyklusKodeType livscyklusKodeField; + + private bool livscyklusKodeFieldSpecified; + + private UnikIdType brugerRefField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public System.DateTime Tidspunkt { + get { + return this.tidspunktField; + } + set { + this.tidspunktField = value; + this.RaisePropertyChanged("Tidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TidspunktSpecified { + get { + return this.tidspunktFieldSpecified; + } + set { + this.tidspunktFieldSpecified = value; + this.RaisePropertyChanged("TidspunktSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public LivscyklusKodeType LivscyklusKode { + get { + return this.livscyklusKodeField; + } + set { + this.livscyklusKodeField = value; + this.RaisePropertyChanged("LivscyklusKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LivscyklusKodeSpecified { + get { + return this.livscyklusKodeFieldSpecified; + } + set { + this.livscyklusKodeFieldSpecified = value; + this.RaisePropertyChanged("LivscyklusKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public UnikIdType BrugerRef { + get { + return this.brugerRefField; + } + set { + this.brugerRefField = value; + this.RaisePropertyChanged("BrugerRef"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public enum LivscyklusKodeType { + + /// + Opstaaet, + + /// + Importeret, + + /// + Passiveret, + + /// + Slettet, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UnikIdType : object, System.ComponentModel.INotifyPropertyChanged { + + private string itemField; + + private ItemChoiceType itemElementNameField; + + /// + [System.Xml.Serialization.XmlElementAttribute("URNIdentifikator", typeof(string), Order=0)] + [System.Xml.Serialization.XmlElementAttribute("UUIDIdentifikator", typeof(string), Order=0)] + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")] + public string Item { + get { + return this.itemField; + } + set { + this.itemField = value; + this.RaisePropertyChanged("Item"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + [System.Xml.Serialization.XmlIgnoreAttribute()] + public ItemChoiceType ItemElementName { + get { + return this.itemElementNameField; + } + set { + this.itemElementNameField = value; + this.RaisePropertyChanged("ItemElementName"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0", IncludeInSchema=false)] + public enum ItemChoiceType { + + /// + URNIdentifikator, + + /// + UUIDIdentifikator, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="RegistreringType", Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class RegistreringType1 : RegistreringType { + + private EgenskabType[] attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=0)] + [System.Xml.Serialization.XmlArrayItemAttribute("Egenskab", IsNullable=false)] + public EgenskabType[] AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class EgenskabType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private string brugervendtNoegleTekstField; + + private string cVRNummerTekstField; + + private string sENummerTekstField; + + private string pNummerTekstField; + + private string navnTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public string BrugervendtNoegleTekst { + get { + return this.brugervendtNoegleTekstField; + } + set { + this.brugervendtNoegleTekstField = value; + this.RaisePropertyChanged("BrugervendtNoegleTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("CVR-NummerTekst", Namespace="urn:oio:sts:1.1.3.0", Order=2)] + public string CVRNummerTekst { + get { + return this.cVRNummerTekstField; + } + set { + this.cVRNummerTekstField = value; + this.RaisePropertyChanged("CVRNummerTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("SE-NummerTekst", Namespace="urn:oio:sts:1.1.3.0", Order=3)] + public string SENummerTekst { + get { + return this.sENummerTekstField; + } + set { + this.sENummerTekstField = value; + this.RaisePropertyChanged("SENummerTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("P-NummerTekst", Namespace="urn:oio:sts:1.1.3.0", Order=4)] + public string PNummerTekst { + get { + return this.pNummerTekstField; + } + set { + this.pNummerTekstField = value; + this.RaisePropertyChanged("PNummerTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:1.1.3.0", Order=5)] + public string NavnTekst { + get { + return this.navnTekstField; + } + set { + this.navnTekstField = value; + this.RaisePropertyChanged("NavnTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class VirkningType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private UnikIdType aktoerRefField; + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public UnikIdType AktoerRef { + get { + return this.aktoerRefField; + } + set { + this.aktoerRefField = value; + this.RaisePropertyChanged("AktoerRef"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class TidspunktType : object, System.ComponentModel.INotifyPropertyChanged { + + private object itemField; + + /// + [System.Xml.Serialization.XmlElementAttribute("GraenseIndikator", typeof(bool), Order=0)] + [System.Xml.Serialization.XmlElementAttribute("TidsstempelDatoTid", typeof(System.DateTime), Order=0)] + public object Item { + get { + return this.itemField; + } + set { + this.itemField = value; + this.RaisePropertyChanged("Item"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public enum AktoerTypeKodeType { + + /// + Organisation, + + /// + OrganisationEnhed, + + /// + OrganisationFunktion, + + /// + Bruger, + + /// + ItSystem, + + /// + Interessefaellesskab, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class TilstandListeType : object, System.ComponentModel.INotifyPropertyChanged { + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class RelationListeType : object, System.ComponentModel.INotifyPropertyChanged { + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(VirksomhedType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LaesFiltreretOutputType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SagDokObjektType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(VirksomhedType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:part:1.1.3.0")] + public partial class PartType : SagDokObjektType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class VirksomhedType : PartType { + + private RegistreringType1[] registreringField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Registrering", Order=0)] + public RegistreringType1[] Registrering { + get { + return this.registreringField; + } + set { + this.registreringField = value; + this.RaisePropertyChanged("Registrering"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LaesFiltreretOutputType : SagDokObjektType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class FiltreretOejebliksbilledeType : object, System.ComponentModel.INotifyPropertyChanged { + + private SagDokObjektType objektTypeField; + + private RegistreringType1[] registreringField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public SagDokObjektType ObjektType { + get { + return this.objektTypeField; + } + set { + this.objektTypeField = value; + this.RaisePropertyChanged("ObjektType"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("Registrering", Order=1)] + public RegistreringType1[] Registrering { + get { + return this.registreringField; + } + set { + this.registreringField = value; + this.RaisePropertyChanged("Registrering"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnikReturType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class StandardReturType : object, System.ComponentModel.INotifyPropertyChanged { + + private string statusKodeField; + + private string fejlbeskedTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)] + public string StatusKode { + get { + return this.statusKodeField; + } + set { + this.statusKodeField = value; + this.RaisePropertyChanged("StatusKode"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string FejlbeskedTekst { + get { + return this.fejlbeskedTekstField; + } + set { + this.fejlbeskedTekstField = value; + this.RaisePropertyChanged("FejlbeskedTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UnikReturType : StandardReturType { + + private string typeField; + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string Type { + get { + return this.typeField; + } + set { + this.typeField = value; + this.RaisePropertyChanged("Type"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OpretOutputType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ListOutputType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LaesOutputType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class BasicOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OpretOutputType : BasicOutputType { + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class ListOutputType : BasicOutputType { + + private FiltreretOejebliksbilledeType[] filtreretOejebliksbilledeField; + + /// + [System.Xml.Serialization.XmlElementAttribute("FiltreretOejebliksbillede", Order=0)] + public FiltreretOejebliksbilledeType[] FiltreretOejebliksbillede { + get { + return this.filtreretOejebliksbilledeField; + } + set { + this.filtreretOejebliksbilledeField = value; + this.RaisePropertyChanged("FiltreretOejebliksbillede"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class LaesOutputType : BasicOutputType { + + private FiltreretOejebliksbilledeType filtreretOejebliksbilledeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public FiltreretOejebliksbilledeType FiltreretOejebliksbillede { + get { + return this.filtreretOejebliksbilledeField; + } + set { + this.filtreretOejebliksbilledeField = value; + this.RaisePropertyChanged("FiltreretOejebliksbillede"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class OpretResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private OpretOutputType opretOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public OpretOutputType OpretOutput { + get { + return this.opretOutputField; + } + set { + this.opretOutputField = value; + this.RaisePropertyChanged("OpretOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OpretInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OpretInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="OpretInputType", Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class OpretInputType1 : OpretInputType { + + private EgenskabType[] attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=0)] + [System.Xml.Serialization.XmlArrayItemAttribute("Egenskab", IsNullable=false)] + public EgenskabType[] AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/")] + public partial class AuthorityContextType : object, System.ComponentModel.INotifyPropertyChanged { + + private string municipalityCVRField; + + /// + public string MunicipalityCVR { + get { + return this.municipalityCVRField; + } + set { + this.municipalityCVRField = value; + this.RaisePropertyChanged("MunicipalityCVR"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/")] + public partial class CallContextType : object, System.ComponentModel.INotifyPropertyChanged { + + private string onBehalfOfUserField; + + private string callersServiceCallIdentifierField; + + private string accountingInfoField; + + /// + public string OnBehalfOfUser { + get { + return this.onBehalfOfUserField; + } + set { + this.onBehalfOfUserField = value; + this.RaisePropertyChanged("OnBehalfOfUser"); + } + } + + /// + public string CallersServiceCallIdentifier { + get { + return this.callersServiceCallIdentifierField; + } + set { + this.callersServiceCallIdentifierField = value; + this.RaisePropertyChanged("CallersServiceCallIdentifier"); + } + } + + /// + public string AccountingInfo { + get { + return this.accountingInfoField; + } + set { + this.accountingInfoField = value; + this.RaisePropertyChanged("AccountingInfo"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class OpretRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private OpretInputType1 opretInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public OpretInputType1 OpretInput { + get { + return this.opretInputField; + } + set { + this.opretInputField = value; + this.RaisePropertyChanged("OpretInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ServiceModel.ServiceContractAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", ConfigurationName="ServiceReference.VirksomhedPortType")] + public interface VirksomhedPortType { + + // CODEGEN: Generating message contract since the operation opret is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/opret", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/opret", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.opretResponse opret(Infrastructure.STS.Company.ServiceReference.opretRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/opret", ReplyAction="*")] + System.Threading.Tasks.Task opretAsync(Infrastructure.STS.Company.ServiceReference.opretRequest request); + + // CODEGEN: Generating message contract since the operation importer is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/importer", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/importer", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.importerResponse importer(Infrastructure.STS.Company.ServiceReference.importerRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/importer", ReplyAction="*")] + System.Threading.Tasks.Task importerAsync(Infrastructure.STS.Company.ServiceReference.importerRequest request); + + // CODEGEN: Generating message contract since the operation passiver is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/passiver", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/passiver", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.passiverResponse passiver(Infrastructure.STS.Company.ServiceReference.passiverRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/passiver", ReplyAction="*")] + System.Threading.Tasks.Task passiverAsync(Infrastructure.STS.Company.ServiceReference.passiverRequest request); + + // CODEGEN: Generating message contract since the operation laes is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/laes", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/laes", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.laesResponse laes(Infrastructure.STS.Company.ServiceReference.laesRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/laes", ReplyAction="*")] + System.Threading.Tasks.Task laesAsync(Infrastructure.STS.Company.ServiceReference.laesRequest request); + + // CODEGEN: Generating message contract since the operation ret is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/ret", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/ret", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.retResponse ret(Infrastructure.STS.Company.ServiceReference.retRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/ret", ReplyAction="*")] + System.Threading.Tasks.Task retAsync(Infrastructure.STS.Company.ServiceReference.retRequest request); + + // CODEGEN: Generating message contract since the operation slet is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/slet", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/slet", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.sletResponse slet(Infrastructure.STS.Company.ServiceReference.sletRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/slet", ReplyAction="*")] + System.Threading.Tasks.Task sletAsync(Infrastructure.STS.Company.ServiceReference.sletRequest request); + + // CODEGEN: Generating message contract since the operation soeg is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/soeg", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/soeg", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.soegResponse soeg(Infrastructure.STS.Company.ServiceReference.soegRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/soeg", ReplyAction="*")] + System.Threading.Tasks.Task soegAsync(Infrastructure.STS.Company.ServiceReference.soegRequest request); + + // CODEGEN: Generating message contract since the operation list is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/list", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Company.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/list", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Company.ServiceReference.listResponse list(Infrastructure.STS.Company.ServiceReference.listRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/list", ReplyAction="*")] + System.Threading.Tasks.Task listAsync(Infrastructure.STS.Company.ServiceReference.listRequest request); + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public partial class RequestHeaderType : object, System.ComponentModel.INotifyPropertyChanged { + + private string transactionUUIDField; + + /// + public string TransactionUUID { + get { + return this.transactionUUIDField; + } + set { + this.transactionUUIDField = value; + this.RaisePropertyChanged("TransactionUUID"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class opretRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="OpretRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.OpretRequestType OpretRequest1; + + public opretRequest() { + } + + public opretRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.OpretRequestType OpretRequest1) { + this.RequestHeader = RequestHeader; + this.OpretRequest1 = OpretRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class opretResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="OpretResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.OpretResponseType OpretResponse1; + + public opretResponse() { + } + + public opretResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.OpretResponseType OpretResponse1) { + this.RequestHeader = RequestHeader; + this.OpretResponse1 = OpretResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class ImporterRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private ImportInputType importInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public ImportInputType ImportInput { + get { + return this.importInputField; + } + set { + this.importInputField = value; + this.RaisePropertyChanged("ImportInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class ImportInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirksomhedType virksomhedField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public VirksomhedType Virksomhed { + get { + return this.virksomhedField; + } + set { + this.virksomhedField = value; + this.RaisePropertyChanged("Virksomhed"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class ImporterResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType importOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public BasicOutputType ImportOutput { + get { + return this.importOutputField; + } + set { + this.importOutputField = value; + this.RaisePropertyChanged("ImportOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class importerRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ImporterRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.ImporterRequestType ImporterRequest1; + + public importerRequest() { + } + + public importerRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ImporterRequestType ImporterRequest1) { + this.RequestHeader = RequestHeader; + this.ImporterRequest1 = ImporterRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class importerResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ImporterResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.ImporterResponseType ImporterResponse1; + + public importerResponse() { + } + + public importerResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ImporterResponseType ImporterResponse1) { + this.RequestHeader = RequestHeader; + this.ImporterResponse1 = ImporterResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class PassiverRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private UuidNoteInputType passiverInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public UuidNoteInputType PassiverInput { + get { + return this.passiverInputField; + } + set { + this.passiverInputField = value; + this.RaisePropertyChanged("PassiverInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UuidNoteInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class PassiverResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType passiverOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public BasicOutputType PassiverOutput { + get { + return this.passiverOutputField; + } + set { + this.passiverOutputField = value; + this.RaisePropertyChanged("PassiverOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class passiverRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="PassiverRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.PassiverRequestType PassiverRequest1; + + public passiverRequest() { + } + + public passiverRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.PassiverRequestType PassiverRequest1) { + this.RequestHeader = RequestHeader; + this.PassiverRequest1 = PassiverRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class passiverResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="PassiverResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.PassiverResponseType PassiverResponse1; + + public passiverResponse() { + } + + public passiverResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.PassiverResponseType PassiverResponse1) { + this.RequestHeader = RequestHeader; + this.PassiverResponse1 = PassiverResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class LaesRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private LaesInputType laesInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public LaesInputType LaesInput { + get { + return this.laesInputField; + } + set { + this.laesInputField = value; + this.RaisePropertyChanged("LaesInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LaesInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private TidspunktType virkningFraFilterField; + + private TidspunktType virkningTilFilterField; + + private TidspunktType registreringFraFilterField; + + private TidspunktType registreringTilFilterField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType VirkningFraFilter { + get { + return this.virkningFraFilterField; + } + set { + this.virkningFraFilterField = value; + this.RaisePropertyChanged("VirkningFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public TidspunktType VirkningTilFilter { + get { + return this.virkningTilFilterField; + } + set { + this.virkningTilFilterField = value; + this.RaisePropertyChanged("VirkningTilFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public TidspunktType RegistreringFraFilter { + get { + return this.registreringFraFilterField; + } + set { + this.registreringFraFilterField = value; + this.RaisePropertyChanged("RegistreringFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public TidspunktType RegistreringTilFilter { + get { + return this.registreringTilFilterField; + } + set { + this.registreringTilFilterField = value; + this.RaisePropertyChanged("RegistreringTilFilter"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class LaesResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private LaesOutputType laesOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public LaesOutputType LaesOutput { + get { + return this.laesOutputField; + } + set { + this.laesOutputField = value; + this.RaisePropertyChanged("LaesOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class laesRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="LaesRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.LaesRequestType LaesRequest1; + + public laesRequest() { + } + + public laesRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.LaesRequestType LaesRequest1) { + this.RequestHeader = RequestHeader; + this.LaesRequest1 = LaesRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class laesResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="LaesResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.LaesResponseType LaesResponse1; + + public laesResponse() { + } + + public laesResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.LaesResponseType LaesResponse1) { + this.RequestHeader = RequestHeader; + this.LaesResponse1 = LaesResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class RetRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private RetInputType1 retInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public RetInputType1 RetInput { + get { + return this.retInputField; + } + set { + this.retInputField = value; + this.RaisePropertyChanged("RetInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="RetInputType", Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class RetInputType1 : RetInputType { + + private EgenskabType[] attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=0)] + [System.Xml.Serialization.XmlArrayItemAttribute("Egenskab", IsNullable=false)] + public EgenskabType[] AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RetInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RetInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class RetResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType retOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public BasicOutputType RetOutput { + get { + return this.retOutputField; + } + set { + this.retOutputField = value; + this.RaisePropertyChanged("RetOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class retRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="RetRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.RetRequestType RetRequest1; + + public retRequest() { + } + + public retRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.RetRequestType RetRequest1) { + this.RequestHeader = RequestHeader; + this.RetRequest1 = RetRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class retResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="RetResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.RetResponseType RetResponse1; + + public retResponse() { + } + + public retResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.RetResponseType RetResponse1) { + this.RequestHeader = RequestHeader; + this.RetResponse1 = RetResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class SletRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private UuidNoteInputType sletInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public UuidNoteInputType SletInput { + get { + return this.sletInputField; + } + set { + this.sletInputField = value; + this.RaisePropertyChanged("SletInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class SletResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType sletOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public BasicOutputType SletOutput { + get { + return this.sletOutputField; + } + set { + this.sletOutputField = value; + this.RaisePropertyChanged("SletOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class sletRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SletRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.SletRequestType SletRequest1; + + public sletRequest() { + } + + public sletRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SletRequestType SletRequest1) { + this.RequestHeader = RequestHeader; + this.SletRequest1 = SletRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class sletResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SletResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.SletResponseType SletResponse1; + + public sletResponse() { + } + + public sletResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SletResponseType SletResponse1) { + this.RequestHeader = RequestHeader; + this.SletResponse1 = SletResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class SoegRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private SoegInputType1 soegInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public SoegInputType1 SoegInput { + get { + return this.soegInputField; + } + set { + this.soegInputField = value; + this.RaisePropertyChanged("SoegInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="SoegInputType", Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0")] + public partial class SoegInputType1 : SoegInputType { + + private EgenskabType[] attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=0)] + [System.Xml.Serialization.XmlArrayItemAttribute("Egenskab", IsNullable=false)] + public EgenskabType[] AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SoegInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string foersteResultatReferenceField; + + private string maksimalAntalKvantitetField; + + private SoegRegistreringType soegRegistreringField; + + private SoegVirkningType soegVirkningField; + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)] + public string FoersteResultatReference { + get { + return this.foersteResultatReferenceField; + } + set { + this.foersteResultatReferenceField = value; + this.RaisePropertyChanged("FoersteResultatReference"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=1)] + public string MaksimalAntalKvantitet { + get { + return this.maksimalAntalKvantitetField; + } + set { + this.maksimalAntalKvantitetField = value; + this.RaisePropertyChanged("MaksimalAntalKvantitet"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public SoegRegistreringType SoegRegistrering { + get { + return this.soegRegistreringField; + } + set { + this.soegRegistreringField = value; + this.RaisePropertyChanged("SoegRegistrering"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public SoegVirkningType SoegVirkning { + get { + return this.soegVirkningField; + } + set { + this.soegVirkningField = value; + this.RaisePropertyChanged("SoegVirkning"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegRegistreringType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private LivscyklusKodeType livscyklusKodeField; + + private bool livscyklusKodeFieldSpecified; + + private UnikIdType brugerRefField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public LivscyklusKodeType LivscyklusKode { + get { + return this.livscyklusKodeField; + } + set { + this.livscyklusKodeField = value; + this.RaisePropertyChanged("LivscyklusKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LivscyklusKodeSpecified { + get { + return this.livscyklusKodeFieldSpecified; + } + set { + this.livscyklusKodeFieldSpecified = value; + this.RaisePropertyChanged("LivscyklusKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public UnikIdType BrugerRef { + get { + return this.brugerRefField; + } + set { + this.brugerRefField = value; + this.RaisePropertyChanged("BrugerRef"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegVirkningType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private UnikIdType aktoerRefField; + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public UnikIdType AktoerRef { + get { + return this.aktoerRefField; + } + set { + this.aktoerRefField = value; + this.RaisePropertyChanged("AktoerRef"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class SoegResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private SoegOutputType soegOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public SoegOutputType SoegOutput { + get { + return this.soegOutputField; + } + set { + this.soegOutputField = value; + this.RaisePropertyChanged("SoegOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + private string[] idListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=1)] + [System.Xml.Serialization.XmlArrayItemAttribute("UUIDIdentifikator", IsNullable=false)] + public string[] IdListe { + get { + return this.idListeField; + } + set { + this.idListeField = value; + this.RaisePropertyChanged("IdListe"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class soegRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SoegRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.SoegRequestType SoegRequest1; + + public soegRequest() { + } + + public soegRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SoegRequestType SoegRequest1) { + this.RequestHeader = RequestHeader; + this.SoegRequest1 = SoegRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class soegResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SoegResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.SoegResponseType SoegResponse1; + + public soegResponse() { + } + + public soegResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SoegResponseType SoegResponse1) { + this.RequestHeader = RequestHeader; + this.SoegResponse1 = SoegResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class ListRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private ListInputType listInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=2)] + public ListInputType ListInput { + get { + return this.listInputField; + } + set { + this.listInputField = value; + this.RaisePropertyChanged("ListInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ListInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string[] uUIDIdentifikatorField; + + private TidspunktType virkningFraFilterField; + + private TidspunktType virkningTilFilterField; + + private TidspunktType registreringFraFilterField; + + private TidspunktType registreringTilFilterField; + + /// + [System.Xml.Serialization.XmlElementAttribute("UUIDIdentifikator", Order=0)] + public string[] UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType VirkningFraFilter { + get { + return this.virkningFraFilterField; + } + set { + this.virkningFraFilterField = value; + this.RaisePropertyChanged("VirkningFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public TidspunktType VirkningTilFilter { + get { + return this.virkningTilFilterField; + } + set { + this.virkningTilFilterField = value; + this.RaisePropertyChanged("VirkningTilFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public TidspunktType RegistreringFraFilter { + get { + return this.registreringFraFilterField; + } + set { + this.registreringFraFilterField = value; + this.RaisePropertyChanged("RegistreringFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public TidspunktType RegistreringTilFilter { + get { + return this.registreringTilFilterField; + } + set { + this.registreringTilFilterField = value; + this.RaisePropertyChanged("RegistreringTilFilter"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/")] + public partial class ListResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private ListOutputType listOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:virksomhed:1.1.3.0", Order=0)] + public ListOutputType ListOutput { + get { + return this.listOutputField; + } + set { + this.listOutputField = value; + this.RaisePropertyChanged("ListOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class listRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ListRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.ListRequestType ListRequest1; + + public listRequest() { + } + + public listRequest(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ListRequestType ListRequest1) { + this.RequestHeader = RequestHeader; + this.ListRequest1 = ListRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class listResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ListResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Virksomhed/5/", Order=0)] + public Infrastructure.STS.Company.ServiceReference.ListResponseType ListResponse1; + + public listResponse() { + } + + public listResponse(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ListResponseType ListResponse1) { + this.RequestHeader = RequestHeader; + this.ListResponse1 = ListResponse1; + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public interface VirksomhedPortTypeChannel : Infrastructure.STS.Company.ServiceReference.VirksomhedPortType, System.ServiceModel.IClientChannel { + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public partial class VirksomhedPortTypeClient : System.ServiceModel.ClientBase, Infrastructure.STS.Company.ServiceReference.VirksomhedPortType { + + public VirksomhedPortTypeClient() { + } + + public VirksomhedPortTypeClient(string endpointConfigurationName) : + base(endpointConfigurationName) { + } + + public VirksomhedPortTypeClient(string endpointConfigurationName, string remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public VirksomhedPortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public VirksomhedPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : + base(binding, remoteAddress) { + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.opretResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.opret(Infrastructure.STS.Company.ServiceReference.opretRequest request) { + return base.Channel.opret(request); + } + + public Infrastructure.STS.Company.ServiceReference.OpretResponseType opret(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.OpretRequestType OpretRequest1) { + Infrastructure.STS.Company.ServiceReference.opretRequest inValue = new Infrastructure.STS.Company.ServiceReference.opretRequest(); + inValue.RequestHeader = RequestHeader; + inValue.OpretRequest1 = OpretRequest1; + Infrastructure.STS.Company.ServiceReference.opretResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).opret(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.OpretResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.opretAsync(Infrastructure.STS.Company.ServiceReference.opretRequest request) { + return base.Channel.opretAsync(request); + } + + public System.Threading.Tasks.Task opretAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.OpretRequestType OpretRequest1) { + Infrastructure.STS.Company.ServiceReference.opretRequest inValue = new Infrastructure.STS.Company.ServiceReference.opretRequest(); + inValue.RequestHeader = RequestHeader; + inValue.OpretRequest1 = OpretRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).opretAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.importerResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.importer(Infrastructure.STS.Company.ServiceReference.importerRequest request) { + return base.Channel.importer(request); + } + + public Infrastructure.STS.Company.ServiceReference.ImporterResponseType importer(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ImporterRequestType ImporterRequest1) { + Infrastructure.STS.Company.ServiceReference.importerRequest inValue = new Infrastructure.STS.Company.ServiceReference.importerRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ImporterRequest1 = ImporterRequest1; + Infrastructure.STS.Company.ServiceReference.importerResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).importer(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.ImporterResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.importerAsync(Infrastructure.STS.Company.ServiceReference.importerRequest request) { + return base.Channel.importerAsync(request); + } + + public System.Threading.Tasks.Task importerAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ImporterRequestType ImporterRequest1) { + Infrastructure.STS.Company.ServiceReference.importerRequest inValue = new Infrastructure.STS.Company.ServiceReference.importerRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ImporterRequest1 = ImporterRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).importerAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.passiverResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.passiver(Infrastructure.STS.Company.ServiceReference.passiverRequest request) { + return base.Channel.passiver(request); + } + + public Infrastructure.STS.Company.ServiceReference.PassiverResponseType passiver(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.PassiverRequestType PassiverRequest1) { + Infrastructure.STS.Company.ServiceReference.passiverRequest inValue = new Infrastructure.STS.Company.ServiceReference.passiverRequest(); + inValue.RequestHeader = RequestHeader; + inValue.PassiverRequest1 = PassiverRequest1; + Infrastructure.STS.Company.ServiceReference.passiverResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).passiver(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.PassiverResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.passiverAsync(Infrastructure.STS.Company.ServiceReference.passiverRequest request) { + return base.Channel.passiverAsync(request); + } + + public System.Threading.Tasks.Task passiverAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.PassiverRequestType PassiverRequest1) { + Infrastructure.STS.Company.ServiceReference.passiverRequest inValue = new Infrastructure.STS.Company.ServiceReference.passiverRequest(); + inValue.RequestHeader = RequestHeader; + inValue.PassiverRequest1 = PassiverRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).passiverAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.laesResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.laes(Infrastructure.STS.Company.ServiceReference.laesRequest request) { + return base.Channel.laes(request); + } + + public Infrastructure.STS.Company.ServiceReference.LaesResponseType laes(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.LaesRequestType LaesRequest1) { + Infrastructure.STS.Company.ServiceReference.laesRequest inValue = new Infrastructure.STS.Company.ServiceReference.laesRequest(); + inValue.RequestHeader = RequestHeader; + inValue.LaesRequest1 = LaesRequest1; + Infrastructure.STS.Company.ServiceReference.laesResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).laes(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.LaesResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.laesAsync(Infrastructure.STS.Company.ServiceReference.laesRequest request) { + return base.Channel.laesAsync(request); + } + + public System.Threading.Tasks.Task laesAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.LaesRequestType LaesRequest1) { + Infrastructure.STS.Company.ServiceReference.laesRequest inValue = new Infrastructure.STS.Company.ServiceReference.laesRequest(); + inValue.RequestHeader = RequestHeader; + inValue.LaesRequest1 = LaesRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).laesAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.retResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.ret(Infrastructure.STS.Company.ServiceReference.retRequest request) { + return base.Channel.ret(request); + } + + public Infrastructure.STS.Company.ServiceReference.RetResponseType ret(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.RetRequestType RetRequest1) { + Infrastructure.STS.Company.ServiceReference.retRequest inValue = new Infrastructure.STS.Company.ServiceReference.retRequest(); + inValue.RequestHeader = RequestHeader; + inValue.RetRequest1 = RetRequest1; + Infrastructure.STS.Company.ServiceReference.retResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).ret(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.RetResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.retAsync(Infrastructure.STS.Company.ServiceReference.retRequest request) { + return base.Channel.retAsync(request); + } + + public System.Threading.Tasks.Task retAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.RetRequestType RetRequest1) { + Infrastructure.STS.Company.ServiceReference.retRequest inValue = new Infrastructure.STS.Company.ServiceReference.retRequest(); + inValue.RequestHeader = RequestHeader; + inValue.RetRequest1 = RetRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).retAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.sletResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.slet(Infrastructure.STS.Company.ServiceReference.sletRequest request) { + return base.Channel.slet(request); + } + + public Infrastructure.STS.Company.ServiceReference.SletResponseType slet(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SletRequestType SletRequest1) { + Infrastructure.STS.Company.ServiceReference.sletRequest inValue = new Infrastructure.STS.Company.ServiceReference.sletRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SletRequest1 = SletRequest1; + Infrastructure.STS.Company.ServiceReference.sletResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).slet(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.SletResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.sletAsync(Infrastructure.STS.Company.ServiceReference.sletRequest request) { + return base.Channel.sletAsync(request); + } + + public System.Threading.Tasks.Task sletAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SletRequestType SletRequest1) { + Infrastructure.STS.Company.ServiceReference.sletRequest inValue = new Infrastructure.STS.Company.ServiceReference.sletRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SletRequest1 = SletRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).sletAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.soegResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.soeg(Infrastructure.STS.Company.ServiceReference.soegRequest request) { + return base.Channel.soeg(request); + } + + public Infrastructure.STS.Company.ServiceReference.SoegResponseType soeg(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SoegRequestType SoegRequest1) { + Infrastructure.STS.Company.ServiceReference.soegRequest inValue = new Infrastructure.STS.Company.ServiceReference.soegRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SoegRequest1 = SoegRequest1; + Infrastructure.STS.Company.ServiceReference.soegResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).soeg(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.SoegResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.soegAsync(Infrastructure.STS.Company.ServiceReference.soegRequest request) { + return base.Channel.soegAsync(request); + } + + public System.Threading.Tasks.Task soegAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.SoegRequestType SoegRequest1) { + Infrastructure.STS.Company.ServiceReference.soegRequest inValue = new Infrastructure.STS.Company.ServiceReference.soegRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SoegRequest1 = SoegRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).soegAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Company.ServiceReference.listResponse Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.list(Infrastructure.STS.Company.ServiceReference.listRequest request) { + return base.Channel.list(request); + } + + public Infrastructure.STS.Company.ServiceReference.ListResponseType list(ref Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ListRequestType ListRequest1) { + Infrastructure.STS.Company.ServiceReference.listRequest inValue = new Infrastructure.STS.Company.ServiceReference.listRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ListRequest1 = ListRequest1; + Infrastructure.STS.Company.ServiceReference.listResponse retVal = ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).list(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.ListResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Company.ServiceReference.VirksomhedPortType.listAsync(Infrastructure.STS.Company.ServiceReference.listRequest request) { + return base.Channel.listAsync(request); + } + + public System.Threading.Tasks.Task listAsync(Infrastructure.STS.Company.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Company.ServiceReference.ListRequestType ListRequest1) { + Infrastructure.STS.Company.ServiceReference.listRequest inValue = new Infrastructure.STS.Company.ServiceReference.listRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ListRequest1 = ListRequest1; + return ((Infrastructure.STS.Company.ServiceReference.VirksomhedPortType)(this)).listAsync(inValue); + } + } +} diff --git a/Infrastructure.STS.Company/Connected Services/ServiceReference/Reference.svcmap b/Infrastructure.STS.Company/Connected Services/ServiceReference/Reference.svcmap new file mode 100644 index 0000000000..84da77c783 --- /dev/null +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/Reference.svcmap @@ -0,0 +1,43 @@ + + + + false + true + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/RequestHeader.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/RequestHeader.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/RequestHeader.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/RequestHeader.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/SagDokObjekt.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/SagDokObjekt.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/SagDokObjekt.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/SagDokObjekt.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/ServiceplatformFaultMessage.wsdl b/Infrastructure.STS.Company/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/ServiceplatformFaultMessage.wsdl rename to Infrastructure.STS.Company/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/ServiceplatformFault_1.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/ServiceplatformFault_1.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/ServiceplatformFault_1.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/ServiceplatformFault_1.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/Virksomhed.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/Virksomhed.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/Virksomhed.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/Virksomhed.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/VirksomhedOperationer.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/VirksomhedOperationer.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/VirksomhedOperationer.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/VirksomhedOperationer.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/VirksomhedService.wsdl b/Infrastructure.STS.Company/Connected Services/ServiceReference/VirksomhedService.wsdl similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/VirksomhedService.wsdl rename to Infrastructure.STS.Company/Connected Services/ServiceReference/VirksomhedService.wsdl diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/VirksomhedServiceMsg.xsd b/Infrastructure.STS.Company/Connected Services/ServiceReference/VirksomhedServiceMsg.xsd similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/VirksomhedServiceMsg.xsd rename to Infrastructure.STS.Company/Connected Services/ServiceReference/VirksomhedServiceMsg.xsd diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/configuration.svcinfo b/Infrastructure.STS.Company/Connected Services/ServiceReference/configuration.svcinfo similarity index 71% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/configuration.svcinfo rename to Infrastructure.STS.Company/Connected Services/ServiceReference/configuration.svcinfo index 559c06c5d4..aab9a2333d 100644 --- a/Infrastructure.Soap/Connected Services/STSVriksomhed/configuration.svcinfo +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/configuration.svcinfo @@ -6,6 +6,6 @@ - + \ No newline at end of file diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/configuration91.svcinfo b/Infrastructure.STS.Company/Connected Services/ServiceReference/configuration91.svcinfo similarity index 98% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/configuration91.svcinfo rename to Infrastructure.STS.Company/Connected Services/ServiceReference/configuration91.svcinfo index 2e0e1dc6d3..4cd57071ab 100644 --- a/Infrastructure.Soap/Connected Services/STSVriksomhed/configuration91.svcinfo +++ b/Infrastructure.STS.Company/Connected Services/ServiceReference/configuration91.svcinfo @@ -1,5 +1,5 @@ - + @@ -221,7 +221,7 @@ - + https://localhost:8080/service/Organisation/Virksomhed/5 @@ -236,7 +236,7 @@ VirksomhedBinding - STSVriksomhed.VirksomhedPortType + ServiceReference.VirksomhedPortType System.ServiceModel.Configuration.AddressHeaderCollectionElement diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/policies.wsdl b/Infrastructure.STS.Company/Connected Services/ServiceReference/policies.wsdl similarity index 100% rename from Infrastructure.Soap/Connected Services/STSVriksomhed/policies.wsdl rename to Infrastructure.STS.Company/Connected Services/ServiceReference/policies.wsdl diff --git a/Infrastructure.STS.Company/DomainServices/StsOrganizationCompanyLookupService.cs b/Infrastructure.STS.Company/DomainServices/StsOrganizationCompanyLookupService.cs new file mode 100644 index 0000000000..7dbc92e70c --- /dev/null +++ b/Infrastructure.STS.Company/DomainServices/StsOrganizationCompanyLookupService.cs @@ -0,0 +1,95 @@ +using System; +using System.Linq; +using System.Security.Cryptography.X509Certificates; +using System.ServiceModel; +using Core.Abstractions.Types; +using Core.DomainModel.Organization; +using Core.DomainServices.Organizations; +using Core.DomainServices.SSO; +using Infrastructure.STS.Common.Factories; +using Infrastructure.STS.Common.Model; +using Infrastructure.STS.Company.ServiceReference; + +namespace Infrastructure.STS.Company.DomainServices +{ + public class StsOrganizationCompanyLookupService : IStsOrganizationCompanyLookupService + { + private readonly string _certificateThumbprint; + private readonly string _serviceRoot; + + public StsOrganizationCompanyLookupService(StsOrganisationIntegrationConfiguration configuration) + { + _certificateThumbprint = configuration.CertificateThumbprint; + _serviceRoot = $"https://{configuration.EndpointHost}/service/Organisation/Virksomhed/5"; + } + + public Result ResolveStsOrganizationCompanyUuid(Organization organization) + { + if (organization == null) + { + throw new ArgumentNullException(nameof(organization)); + } + using var clientCertificate = X509CertificateClientCertificateFactory.GetClientCertificate(_certificateThumbprint); + using var organizationPortTypeClient = CreateClient(BasicHttpBindingFactory.CreateHttpBinding(), _serviceRoot, clientCertificate); + + var channel = organizationPortTypeClient.ChannelFactory.CreateChannel(); + var request = CreateSearchByCvrRequest(organization); + var response = channel.soeg(request); + + var statusResult = response.SoegResponse1.SoegOutput.StandardRetur; + var stsError = statusResult.StatusKode.ParseStsError(); + if (stsError.HasValue) + { + return new OperationError($"Error resolving the organization company from STS:{statusResult.StatusKode}:{statusResult.FejlbeskedTekst}", OperationFailure.UnknownError); + } + + var ids = response.SoegResponse1.SoegOutput.IdListe; + if (ids.Length != 1) + { + return new OperationError($"Error resolving the organization company from STS. Expected a single UUID but got:{string.Join(",", ids)}", OperationFailure.UnknownError); + } + + return new Guid(ids.Single()); + } + + private static soegRequest CreateSearchByCvrRequest(Organization organization) + { + return new soegRequest + { + SoegRequest1 = new SoegRequestType + { + AuthorityContext = new AuthorityContextType + { + MunicipalityCVR = organization.Cvr + }, + SoegInput = new SoegInputType1() + { + RelationListe = new RelationListeType(), + FoersteResultatReference = "0", + MaksimalAntalKvantitet = "2", + SoegRegistrering = new SoegRegistreringType(), + TilstandListe = new TilstandListeType(), + AttributListe = new[]{new EgenskabType + { + CVRNummerTekst = organization.Cvr + }} + } + } + }; + } + + private static VirksomhedPortTypeClient CreateClient(BasicHttpBinding binding, string urlServicePlatformService, X509Certificate2 certificate) + { + return new VirksomhedPortTypeClient(binding, new EndpointAddress(urlServicePlatformService)) + { + ClientCredentials = + { + ClientCertificate = + { + Certificate = certificate + } + } + }; + } + } +} diff --git a/Infrastructure.STS.Company/Infrastructure.STS.Company.csproj b/Infrastructure.STS.Company/Infrastructure.STS.Company.csproj new file mode 100644 index 0000000000..4fb2ba0d04 --- /dev/null +++ b/Infrastructure.STS.Company/Infrastructure.STS.Company.csproj @@ -0,0 +1,180 @@ + + + + + Debug + AnyCPU + {09A799FA-3781-419B-AB54-3C76219FD2DE} + Library + Properties + Infrastructure.STS.Company + Infrastructure.STS.Company + v4.8 + 512 + true + latest + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + True + True + Reference.svcmap + + + + + + + + Designer + + + Designer + + + Designer + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Designer + + + + Designer + + + Designer + + + + Designer + + + Designer + + + Designer + + + + Designer + + + + + + + + + + + + + + + + + + WCF Proxy Generator + Reference.cs + + + + + {BD8C90E7-52C7-4AD0-935D-98A2AA89E449} + Core.Abstractions + + + {A76A8E41-74F7-4443-A5F3-059B5414D83B} + Core.DomainModel + + + {ADCACC1D-F538-464C-9102-F4C1D6FA35D3} + Core.DomainServices + + + {423D7522-4882-4438-94F4-7B3F5778C83F} + Infrastructure.STS.Common + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Company/Properties/AssemblyInfo.cs b/Infrastructure.STS.Company/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..c1630fdad1 --- /dev/null +++ b/Infrastructure.STS.Company/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Infrastructure.STS.Company")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Infrastructure.STS.Company")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("09a799fa-3781-419b-ab54-3c76219fd2de")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Infrastructure.STS.Company/Readme.md b/Infrastructure.STS.Company/Readme.md new file mode 100644 index 0000000000..c259f8b94d --- /dev/null +++ b/Infrastructure.STS.Company/Readme.md @@ -0,0 +1,3 @@ +"ServiceContract" is generated based on service contract downloaded from this: https://www.serviceplatformen.dk/administration/serviceOverview/show?uuid=9fdac538-fae1-494d-b326-23898eeb182c + +Web service proxy is generated based on `ServiceContract\wsdl\context\VirksomhedService.wsdl` \ No newline at end of file diff --git a/Infrastructure.STS.Company/app.config b/Infrastructure.STS.Company/app.config new file mode 100644 index 0000000000..5ed36f2464 --- /dev/null +++ b/Infrastructure.STS.Company/app.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/AuthorityContext_1.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/AuthorityContext_1.xsd new file mode 100644 index 0000000000..c4b7c49243 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/AuthorityContext_1.xsd @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/CallContext_1.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/CallContext_1.xsd new file mode 100644 index 0000000000..b8fe8f6901 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/CallContext_1.xsd @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.ImporterResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.ImporterResponseType.datasource new file mode 100644 index 0000000000..a2f7cd7e06 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.ImporterResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.ImporterResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.LaesResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.LaesResponseType.datasource new file mode 100644 index 0000000000..46944fe8bd --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.LaesResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.LaesResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.ListResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.ListResponseType.datasource new file mode 100644 index 0000000000..029d843a5e --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.ListResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.ListResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.OpretResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.OpretResponseType.datasource new file mode 100644 index 0000000000..1f2691f71f --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.OpretResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.OpretResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.PassiverResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.PassiverResponseType.datasource new file mode 100644 index 0000000000..955acaaf92 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.PassiverResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.PassiverResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.RequestHeaderType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.RequestHeaderType.datasource new file mode 100644 index 0000000000..2f7fb6c4bc --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.RequestHeaderType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.RequestHeaderType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.RetResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.RetResponseType.datasource new file mode 100644 index 0000000000..01294f6a59 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.RetResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.RetResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.SletResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.SletResponseType.datasource new file mode 100644 index 0000000000..fc26a2b6eb --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.SletResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.SletResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.SoegResponseType.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.SoegResponseType.datasource new file mode 100644 index 0000000000..55fb5c4601 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.SoegResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.SoegResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.importerResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.importerResponse.datasource new file mode 100644 index 0000000000..3cac56e525 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.importerResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.importerResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.laesResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.laesResponse.datasource new file mode 100644 index 0000000000..2ecf02b532 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.laesResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.laesResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.listResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.listResponse.datasource new file mode 100644 index 0000000000..8f6357d8ea --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.listResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.listResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.opretResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.opretResponse.datasource new file mode 100644 index 0000000000..e1cf5110bd --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.opretResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.opretResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.passiverResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.passiverResponse.datasource new file mode 100644 index 0000000000..a115018630 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.passiverResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.passiverResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.retResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.retResponse.datasource new file mode 100644 index 0000000000..ad0abeb7c5 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.retResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.retResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.sletResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.sletResponse.datasource new file mode 100644 index 0000000000..9f6bf356fc --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.sletResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.sletResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.soegResponse.datasource b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.soegResponse.datasource new file mode 100644 index 0000000000..53330b7884 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Infrastructure.STS.Organization.ServiceReference.soegResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.Organization.ServiceReference.soegResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Organisation.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Organisation.xsd new file mode 100644 index 0000000000..851b0076d6 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Organisation.xsd @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationFaelles.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationFaelles.xsd new file mode 100644 index 0000000000..18c70764b2 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationFaelles.xsd @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationOperationer.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationOperationer.xsd new file mode 100644 index 0000000000..f61a6d5d52 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationOperationer.xsd @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationService.wsdl b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationService.wsdl new file mode 100644 index 0000000000..fc2c3f5e55 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationService.wsdl @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationServiceMsg.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationServiceMsg.xsd new file mode 100644 index 0000000000..401db5738e --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/OrganisationServiceMsg.xsd @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Part.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Part.xsd new file mode 100644 index 0000000000..2ce9ea4273 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Part.xsd @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Reference.cs b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Reference.cs new file mode 100644 index 0000000000..53b6b869ad --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Reference.cs @@ -0,0 +1,4152 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Infrastructure.STS.Organization.ServiceReference { + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + public partial class ServiceplatformFaultType : object, System.ComponentModel.INotifyPropertyChanged { + + private ErrorType[] errorListField; + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=0)] + [System.Xml.Serialization.XmlArrayItemAttribute("Error", IsNullable=false)] + public ErrorType[] ErrorList { + get { + return this.errorListField; + } + set { + this.errorListField = value; + this.RaisePropertyChanged("ErrorList"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + public partial class ErrorType : object, System.ComponentModel.INotifyPropertyChanged { + + private string errorCodeField; + + private string errorTextField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string ErrorCode { + get { + return this.errorCodeField; + } + set { + this.errorCodeField = value; + this.RaisePropertyChanged("ErrorCode"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string ErrorText { + get { + return this.errorTextField; + } + set { + this.errorTextField = value; + this.RaisePropertyChanged("ErrorText"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistreringType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RegistreringType : object, System.ComponentModel.INotifyPropertyChanged { + + private string noteTekstField; + + private System.DateTime tidspunktField; + + private bool tidspunktFieldSpecified; + + private LivscyklusKodeType livscyklusKodeField; + + private bool livscyklusKodeFieldSpecified; + + private UnikIdType brugerRefField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public System.DateTime Tidspunkt { + get { + return this.tidspunktField; + } + set { + this.tidspunktField = value; + this.RaisePropertyChanged("Tidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TidspunktSpecified { + get { + return this.tidspunktFieldSpecified; + } + set { + this.tidspunktFieldSpecified = value; + this.RaisePropertyChanged("TidspunktSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public LivscyklusKodeType LivscyklusKode { + get { + return this.livscyklusKodeField; + } + set { + this.livscyklusKodeField = value; + this.RaisePropertyChanged("LivscyklusKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LivscyklusKodeSpecified { + get { + return this.livscyklusKodeFieldSpecified; + } + set { + this.livscyklusKodeFieldSpecified = value; + this.RaisePropertyChanged("LivscyklusKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public UnikIdType BrugerRef { + get { + return this.brugerRefField; + } + set { + this.brugerRefField = value; + this.RaisePropertyChanged("BrugerRef"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public enum LivscyklusKodeType { + + /// + Opstaaet, + + /// + Importeret, + + /// + Passiveret, + + /// + Slettet, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UnikIdType : object, System.ComponentModel.INotifyPropertyChanged { + + private string itemField; + + private ItemChoiceType itemElementNameField; + + /// + [System.Xml.Serialization.XmlElementAttribute("URNIdentifikator", typeof(string), Order=0)] + [System.Xml.Serialization.XmlElementAttribute("UUIDIdentifikator", typeof(string), Order=0)] + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")] + public string Item { + get { + return this.itemField; + } + set { + this.itemField = value; + this.RaisePropertyChanged("Item"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + [System.Xml.Serialization.XmlIgnoreAttribute()] + public ItemChoiceType ItemElementName { + get { + return this.itemElementNameField; + } + set { + this.itemElementNameField = value; + this.RaisePropertyChanged("ItemElementName"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0", IncludeInSchema=false)] + public enum ItemChoiceType { + + /// + URNIdentifikator, + + /// + UUIDIdentifikator, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="RegistreringType", Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class RegistreringType1 : RegistreringType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class AttributListeType : object, System.ComponentModel.INotifyPropertyChanged { + + private EgenskabType[] egenskabField; + + private LokalUdvidelseType lokalUdvidelseField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Egenskab", Order=0)] + public EgenskabType[] Egenskab { + get { + return this.egenskabField; + } + set { + this.egenskabField = value; + this.RaisePropertyChanged("Egenskab"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public LokalUdvidelseType LokalUdvidelse { + get { + return this.lokalUdvidelseField; + } + set { + this.lokalUdvidelseField = value; + this.RaisePropertyChanged("LokalUdvidelse"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class EgenskabType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private string brugervendtNoegleTekstField; + + private string organisationNavnField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public string BrugervendtNoegleTekst { + get { + return this.brugervendtNoegleTekstField; + } + set { + this.brugervendtNoegleTekstField = value; + this.RaisePropertyChanged("BrugervendtNoegleTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=2)] + public string OrganisationNavn { + get { + return this.organisationNavnField; + } + set { + this.organisationNavnField = value; + this.RaisePropertyChanged("OrganisationNavn"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class VirkningType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private UnikIdType aktoerRefField; + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public UnikIdType AktoerRef { + get { + return this.aktoerRefField; + } + set { + this.aktoerRefField = value; + this.RaisePropertyChanged("AktoerRef"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class TidspunktType : object, System.ComponentModel.INotifyPropertyChanged { + + private object itemField; + + /// + [System.Xml.Serialization.XmlElementAttribute("GraenseIndikator", typeof(bool), Order=0)] + [System.Xml.Serialization.XmlElementAttribute("TidsstempelDatoTid", typeof(System.DateTime), Order=0)] + public object Item { + get { + return this.itemField; + } + set { + this.itemField = value; + this.RaisePropertyChanged("Item"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public enum AktoerTypeKodeType { + + /// + Organisation, + + /// + OrganisationEnhed, + + /// + OrganisationFunktion, + + /// + Bruger, + + /// + ItSystem, + + /// + Interessefaellesskab, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LokalUdvidelseType : object, System.ComponentModel.INotifyPropertyChanged { + + private System.Xml.XmlElement[] anyField; + + /// + [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)] + public System.Xml.XmlElement[] Any { + get { + return this.anyField; + } + set { + this.anyField = value; + this.RaisePropertyChanged("Any"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class TilstandListeType : object, System.ComponentModel.INotifyPropertyChanged { + + private GyldighedType[] gyldighedField; + + private LokalUdvidelseType lokalUdvidelseField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Gyldighed", Namespace="urn:oio:sts:organisation:1.1.3.0", Order=0)] + public GyldighedType[] Gyldighed { + get { + return this.gyldighedField; + } + set { + this.gyldighedField = value; + this.RaisePropertyChanged("Gyldighed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public LokalUdvidelseType LokalUdvidelse { + get { + return this.lokalUdvidelseField; + } + set { + this.lokalUdvidelseField = value; + this.RaisePropertyChanged("LokalUdvidelse"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:1.1.3.0")] + public partial class GyldighedType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private GyldighedStatusKodeType gyldighedStatusKodeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public GyldighedStatusKodeType GyldighedStatusKode { + get { + return this.gyldighedStatusKodeField; + } + set { + this.gyldighedStatusKodeField = value; + this.RaisePropertyChanged("GyldighedStatusKode"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:1.1.3.0")] + public enum GyldighedStatusKodeType { + + /// + Aktiv, + + /// + Inaktiv, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class RelationListeType : object, System.ComponentModel.INotifyPropertyChanged { + + private AdresseFlerRelationType[] adresserField; + + private PersonFlerRelationType[] ansatteField; + + private KlasseRelationType brancheField; + + private KlasseRelationType organisationstypeField; + + private MyndighedRelationType myndighedField; + + private KlasseRelationType myndighedstypeField; + + private KlasseFlerRelationType[] opgaverField; + + private OrganisationEnhedRelationType overordnetField; + + private VirksomhedRelationType produktionsenhedField; + + private VirksomhedRelationType skatteenhedField; + + private OrganisationRelationType tilhoererField; + + private BrugerFlerRelationType[] tilknyttedeBrugereField; + + private OrganisationEnhedFlerRelationType[] tilknyttedeEnhederField; + + private OrganisationFunktionFlerRelationType[] tilknyttedeFunktionerField; + + private InteressefaellesskabFlerRelationType[] tilknyttedeInteressefaellesskaberField; + + private OrganisationFlerRelationType[] tilknyttedeOrganisationerField; + + private PersonFlerRelationType[] tilknyttedePersonerField; + + private ItSystemFlerRelationType[] tilknyttedeItSystemerField; + + private VirksomhedRelationType virksomhedField; + + private KlasseRelationType virksomhedstypeField; + + private LokalUdvidelseType lokalUdvidelseField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Adresser", Namespace="urn:oio:sagdok:3.0.0", Order=0)] + public AdresseFlerRelationType[] Adresser { + get { + return this.adresserField; + } + set { + this.adresserField = value; + this.RaisePropertyChanged("Adresser"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("Ansatte", Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public PersonFlerRelationType[] Ansatte { + get { + return this.ansatteField; + } + set { + this.ansatteField = value; + this.RaisePropertyChanged("Ansatte"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=2)] + public KlasseRelationType Branche { + get { + return this.brancheField; + } + set { + this.brancheField = value; + this.RaisePropertyChanged("Branche"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=3)] + public KlasseRelationType Organisationstype { + get { + return this.organisationstypeField; + } + set { + this.organisationstypeField = value; + this.RaisePropertyChanged("Organisationstype"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=4)] + public MyndighedRelationType Myndighed { + get { + return this.myndighedField; + } + set { + this.myndighedField = value; + this.RaisePropertyChanged("Myndighed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=5)] + public KlasseRelationType Myndighedstype { + get { + return this.myndighedstypeField; + } + set { + this.myndighedstypeField = value; + this.RaisePropertyChanged("Myndighedstype"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("Opgaver", Namespace="urn:oio:sagdok:3.0.0", Order=6)] + public KlasseFlerRelationType[] Opgaver { + get { + return this.opgaverField; + } + set { + this.opgaverField = value; + this.RaisePropertyChanged("Opgaver"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=7)] + public OrganisationEnhedRelationType Overordnet { + get { + return this.overordnetField; + } + set { + this.overordnetField = value; + this.RaisePropertyChanged("Overordnet"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=8)] + public VirksomhedRelationType Produktionsenhed { + get { + return this.produktionsenhedField; + } + set { + this.produktionsenhedField = value; + this.RaisePropertyChanged("Produktionsenhed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=9)] + public VirksomhedRelationType Skatteenhed { + get { + return this.skatteenhedField; + } + set { + this.skatteenhedField = value; + this.RaisePropertyChanged("Skatteenhed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=10)] + public OrganisationRelationType Tilhoerer { + get { + return this.tilhoererField; + } + set { + this.tilhoererField = value; + this.RaisePropertyChanged("Tilhoerer"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeBrugere", Namespace="urn:oio:sagdok:3.0.0", Order=11)] + public BrugerFlerRelationType[] TilknyttedeBrugere { + get { + return this.tilknyttedeBrugereField; + } + set { + this.tilknyttedeBrugereField = value; + this.RaisePropertyChanged("TilknyttedeBrugere"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeEnheder", Namespace="urn:oio:sagdok:3.0.0", Order=12)] + public OrganisationEnhedFlerRelationType[] TilknyttedeEnheder { + get { + return this.tilknyttedeEnhederField; + } + set { + this.tilknyttedeEnhederField = value; + this.RaisePropertyChanged("TilknyttedeEnheder"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeFunktioner", Namespace="urn:oio:sagdok:3.0.0", Order=13)] + public OrganisationFunktionFlerRelationType[] TilknyttedeFunktioner { + get { + return this.tilknyttedeFunktionerField; + } + set { + this.tilknyttedeFunktionerField = value; + this.RaisePropertyChanged("TilknyttedeFunktioner"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeInteressefaellesskaber", Namespace="urn:oio:sagdok:3.0.0", Order=14)] + public InteressefaellesskabFlerRelationType[] TilknyttedeInteressefaellesskaber { + get { + return this.tilknyttedeInteressefaellesskaberField; + } + set { + this.tilknyttedeInteressefaellesskaberField = value; + this.RaisePropertyChanged("TilknyttedeInteressefaellesskaber"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeOrganisationer", Namespace="urn:oio:sagdok:3.0.0", Order=15)] + public OrganisationFlerRelationType[] TilknyttedeOrganisationer { + get { + return this.tilknyttedeOrganisationerField; + } + set { + this.tilknyttedeOrganisationerField = value; + this.RaisePropertyChanged("TilknyttedeOrganisationer"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedePersoner", Namespace="urn:oio:sagdok:3.0.0", Order=16)] + public PersonFlerRelationType[] TilknyttedePersoner { + get { + return this.tilknyttedePersonerField; + } + set { + this.tilknyttedePersonerField = value; + this.RaisePropertyChanged("TilknyttedePersoner"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeItSystemer", Namespace="urn:oio:sagdok:3.0.0", Order=17)] + public ItSystemFlerRelationType[] TilknyttedeItSystemer { + get { + return this.tilknyttedeItSystemerField; + } + set { + this.tilknyttedeItSystemerField = value; + this.RaisePropertyChanged("TilknyttedeItSystemer"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=18)] + public VirksomhedRelationType Virksomhed { + get { + return this.virksomhedField; + } + set { + this.virksomhedField = value; + this.RaisePropertyChanged("Virksomhed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=19)] + public KlasseRelationType Virksomhedstype { + get { + return this.virksomhedstypeField; + } + set { + this.virksomhedstypeField = value; + this.RaisePropertyChanged("Virksomhedstype"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=20)] + public LokalUdvidelseType LokalUdvidelse { + get { + return this.lokalUdvidelseField; + } + set { + this.lokalUdvidelseField = value; + this.RaisePropertyChanged("LokalUdvidelse"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class AdresseFlerRelationType : FlerRelationType { + + private UnikIdType rolleField; + + private UnikIdType typeField; + + private string indeksField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public UnikIdType Rolle { + get { + return this.rolleField; + } + set { + this.rolleField = value; + this.RaisePropertyChanged("Rolle"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public UnikIdType Type { + get { + return this.typeField; + } + set { + this.typeField = value; + this.RaisePropertyChanged("Type"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public string Indeks { + get { + return this.indeksField; + } + set { + this.indeksField = value; + this.RaisePropertyChanged("Indeks"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArkivFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DokumentFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SagFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ItSystemFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(InteressefaellesskabFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationFunktionFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationEnhedFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(BrugerFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(KlasseFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AdresseFlerRelationType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class FlerRelationType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private UnikIdType referenceIDField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public UnikIdType ReferenceID { + get { + return this.referenceIDField; + } + set { + this.referenceIDField = value; + this.RaisePropertyChanged("ReferenceID"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ArkivFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class DokumentFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class PartFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SagFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class AktoerFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ItSystemFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class InteressefaellesskabFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationFunktionFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationEnhedFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class BrugerFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class KlasseFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class PersonFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class KlasseRelationType : RelationType { + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(KlassifikationRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FacetRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DokumentRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SagRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArkivRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(VirksomhedRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationEnhedRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(MyndighedRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(KlasseRelationType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RelationType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private UnikIdType referenceIDField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public UnikIdType ReferenceID { + get { + return this.referenceIDField; + } + set { + this.referenceIDField = value; + this.RaisePropertyChanged("ReferenceID"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class KlassifikationRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class FacetRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class DokumentRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SagRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ArkivRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class AktoerRelationType : RelationType { + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class VirksomhedRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationEnhedRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class MyndighedRelationType : RelationType { + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LaesFiltreretOutputType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SagDokObjektType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LaesFiltreretOutputType : SagDokObjektType { + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:part:1.1.3.0")] + public partial class PartType : SagDokObjektType { + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:1.1.3.0")] + public partial class AktoerType : PartType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class OrganisationType : AktoerType { + + private RegistreringType1[] registreringField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Registrering", Order=0)] + public RegistreringType1[] Registrering { + get { + return this.registreringField; + } + set { + this.registreringField = value; + this.RaisePropertyChanged("Registrering"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class FiltreretOejebliksbilledeType : object, System.ComponentModel.INotifyPropertyChanged { + + private SagDokObjektType objektTypeField; + + private RegistreringType1[] registreringField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public SagDokObjektType ObjektType { + get { + return this.objektTypeField; + } + set { + this.objektTypeField = value; + this.RaisePropertyChanged("ObjektType"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("Registrering", Order=1)] + public RegistreringType1[] Registrering { + get { + return this.registreringField; + } + set { + this.registreringField = value; + this.RaisePropertyChanged("Registrering"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnikReturType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class StandardReturType : object, System.ComponentModel.INotifyPropertyChanged { + + private string statusKodeField; + + private string fejlbeskedTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)] + public string StatusKode { + get { + return this.statusKodeField; + } + set { + this.statusKodeField = value; + this.RaisePropertyChanged("StatusKode"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string FejlbeskedTekst { + get { + return this.fejlbeskedTekstField; + } + set { + this.fejlbeskedTekstField = value; + this.RaisePropertyChanged("FejlbeskedTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UnikReturType : StandardReturType { + + private string typeField; + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string Type { + get { + return this.typeField; + } + set { + this.typeField = value; + this.RaisePropertyChanged("Type"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OpretOutputType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LaesOutputType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class BasicOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OpretOutputType : BasicOutputType { + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class LaesOutputType : BasicOutputType { + + private FiltreretOejebliksbilledeType filtreretOejebliksbilledeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public FiltreretOejebliksbilledeType FiltreretOejebliksbillede { + get { + return this.filtreretOejebliksbilledeField; + } + set { + this.filtreretOejebliksbilledeField = value; + this.RaisePropertyChanged("FiltreretOejebliksbillede"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class OpretResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private OpretOutputType opretOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public OpretOutputType OpretOutput { + get { + return this.opretOutputField; + } + set { + this.opretOutputField = value; + this.RaisePropertyChanged("OpretOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OpretInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OpretInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="OpretInputType", Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class OpretInputType1 : OpretInputType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/")] + public partial class AuthorityContextType : object, System.ComponentModel.INotifyPropertyChanged { + + private string municipalityCVRField; + + /// + public string MunicipalityCVR { + get { + return this.municipalityCVRField; + } + set { + this.municipalityCVRField = value; + this.RaisePropertyChanged("MunicipalityCVR"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/")] + public partial class CallContextType : object, System.ComponentModel.INotifyPropertyChanged { + + private string onBehalfOfUserField; + + private string callersServiceCallIdentifierField; + + private string accountingInfoField; + + /// + public string OnBehalfOfUser { + get { + return this.onBehalfOfUserField; + } + set { + this.onBehalfOfUserField = value; + this.RaisePropertyChanged("OnBehalfOfUser"); + } + } + + /// + public string CallersServiceCallIdentifier { + get { + return this.callersServiceCallIdentifierField; + } + set { + this.callersServiceCallIdentifierField = value; + this.RaisePropertyChanged("CallersServiceCallIdentifier"); + } + } + + /// + public string AccountingInfo { + get { + return this.accountingInfoField; + } + set { + this.accountingInfoField = value; + this.RaisePropertyChanged("AccountingInfo"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class OpretRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private OpretInputType1 opretInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public OpretInputType1 OpretInput { + get { + return this.opretInputField; + } + set { + this.opretInputField = value; + this.RaisePropertyChanged("OpretInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ServiceModel.ServiceContractAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", ConfigurationName="ServiceReference.OrganisationPortType")] + public interface OrganisationPortType { + + // CODEGEN: Generating message contract since the operation opret is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/opret", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/opret", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.opretResponse opret(Infrastructure.STS.Organization.ServiceReference.opretRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/opret", ReplyAction="*")] + System.Threading.Tasks.Task opretAsync(Infrastructure.STS.Organization.ServiceReference.opretRequest request); + + // CODEGEN: Generating message contract since the operation importer is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/importer", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/importer", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.importerResponse importer(Infrastructure.STS.Organization.ServiceReference.importerRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/importer", ReplyAction="*")] + System.Threading.Tasks.Task importerAsync(Infrastructure.STS.Organization.ServiceReference.importerRequest request); + + // CODEGEN: Generating message contract since the operation passiver is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/passiver", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/passiver", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.passiverResponse passiver(Infrastructure.STS.Organization.ServiceReference.passiverRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/passiver", ReplyAction="*")] + System.Threading.Tasks.Task passiverAsync(Infrastructure.STS.Organization.ServiceReference.passiverRequest request); + + // CODEGEN: Generating message contract since the operation laes is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/laes", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/laes", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.laesResponse laes(Infrastructure.STS.Organization.ServiceReference.laesRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/laes", ReplyAction="*")] + System.Threading.Tasks.Task laesAsync(Infrastructure.STS.Organization.ServiceReference.laesRequest request); + + // CODEGEN: Generating message contract since the operation ret is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/ret", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/ret", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.retResponse ret(Infrastructure.STS.Organization.ServiceReference.retRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/ret", ReplyAction="*")] + System.Threading.Tasks.Task retAsync(Infrastructure.STS.Organization.ServiceReference.retRequest request); + + // CODEGEN: Generating message contract since the operation slet is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/slet", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/slet", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.sletResponse slet(Infrastructure.STS.Organization.ServiceReference.sletRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/slet", ReplyAction="*")] + System.Threading.Tasks.Task sletAsync(Infrastructure.STS.Organization.ServiceReference.sletRequest request); + + // CODEGEN: Generating message contract since the operation soeg is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/soeg", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/soeg", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.soegResponse soeg(Infrastructure.STS.Organization.ServiceReference.soegRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/soeg", ReplyAction="*")] + System.Threading.Tasks.Task soegAsync(Infrastructure.STS.Organization.ServiceReference.soegRequest request); + + // CODEGEN: Generating message contract since the operation list is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/list", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.Organization.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/list", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.Organization.ServiceReference.listResponse list(Infrastructure.STS.Organization.ServiceReference.listRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/list", ReplyAction="*")] + System.Threading.Tasks.Task listAsync(Infrastructure.STS.Organization.ServiceReference.listRequest request); + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public partial class RequestHeaderType : object, System.ComponentModel.INotifyPropertyChanged { + + private string transactionUUIDField; + + /// + public string TransactionUUID { + get { + return this.transactionUUIDField; + } + set { + this.transactionUUIDField = value; + this.RaisePropertyChanged("TransactionUUID"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class opretRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="OpretRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.OpretRequestType OpretRequest1; + + public opretRequest() { + } + + public opretRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.OpretRequestType OpretRequest1) { + this.RequestHeader = RequestHeader; + this.OpretRequest1 = OpretRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class opretResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="OpretResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.OpretResponseType OpretResponse1; + + public opretResponse() { + } + + public opretResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.OpretResponseType OpretResponse1) { + this.RequestHeader = RequestHeader; + this.OpretResponse1 = OpretResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class ImporterRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private ImportInputType importInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public ImportInputType ImportInput { + get { + return this.importInputField; + } + set { + this.importInputField = value; + this.RaisePropertyChanged("ImportInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class ImportInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private OrganisationType organisationField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public OrganisationType Organisation { + get { + return this.organisationField; + } + set { + this.organisationField = value; + this.RaisePropertyChanged("Organisation"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class ImporterResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType importOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public BasicOutputType ImportOutput { + get { + return this.importOutputField; + } + set { + this.importOutputField = value; + this.RaisePropertyChanged("ImportOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class importerRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ImporterRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.ImporterRequestType ImporterRequest1; + + public importerRequest() { + } + + public importerRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ImporterRequestType ImporterRequest1) { + this.RequestHeader = RequestHeader; + this.ImporterRequest1 = ImporterRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class importerResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ImporterResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.ImporterResponseType ImporterResponse1; + + public importerResponse() { + } + + public importerResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ImporterResponseType ImporterResponse1) { + this.RequestHeader = RequestHeader; + this.ImporterResponse1 = ImporterResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class PassiverRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private UuidNoteInputType passiverInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public UuidNoteInputType PassiverInput { + get { + return this.passiverInputField; + } + set { + this.passiverInputField = value; + this.RaisePropertyChanged("PassiverInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UuidNoteInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class PassiverResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType passiverOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public BasicOutputType PassiverOutput { + get { + return this.passiverOutputField; + } + set { + this.passiverOutputField = value; + this.RaisePropertyChanged("PassiverOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class passiverRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="PassiverRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.PassiverRequestType PassiverRequest1; + + public passiverRequest() { + } + + public passiverRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.PassiverRequestType PassiverRequest1) { + this.RequestHeader = RequestHeader; + this.PassiverRequest1 = PassiverRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class passiverResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="PassiverResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.PassiverResponseType PassiverResponse1; + + public passiverResponse() { + } + + public passiverResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.PassiverResponseType PassiverResponse1) { + this.RequestHeader = RequestHeader; + this.PassiverResponse1 = PassiverResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class LaesRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private LaesInputType laesInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public LaesInputType LaesInput { + get { + return this.laesInputField; + } + set { + this.laesInputField = value; + this.RaisePropertyChanged("LaesInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LaesInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private TidspunktType virkningFraFilterField; + + private TidspunktType virkningTilFilterField; + + private TidspunktType registreringFraFilterField; + + private TidspunktType registreringTilFilterField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType VirkningFraFilter { + get { + return this.virkningFraFilterField; + } + set { + this.virkningFraFilterField = value; + this.RaisePropertyChanged("VirkningFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public TidspunktType VirkningTilFilter { + get { + return this.virkningTilFilterField; + } + set { + this.virkningTilFilterField = value; + this.RaisePropertyChanged("VirkningTilFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public TidspunktType RegistreringFraFilter { + get { + return this.registreringFraFilterField; + } + set { + this.registreringFraFilterField = value; + this.RaisePropertyChanged("RegistreringFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public TidspunktType RegistreringTilFilter { + get { + return this.registreringTilFilterField; + } + set { + this.registreringTilFilterField = value; + this.RaisePropertyChanged("RegistreringTilFilter"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class LaesResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private LaesOutputType laesOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public LaesOutputType LaesOutput { + get { + return this.laesOutputField; + } + set { + this.laesOutputField = value; + this.RaisePropertyChanged("LaesOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class laesRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="LaesRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.LaesRequestType LaesRequest1; + + public laesRequest() { + } + + public laesRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.LaesRequestType LaesRequest1) { + this.RequestHeader = RequestHeader; + this.LaesRequest1 = LaesRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class laesResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="LaesResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.LaesResponseType LaesResponse1; + + public laesResponse() { + } + + public laesResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.LaesResponseType LaesResponse1) { + this.RequestHeader = RequestHeader; + this.LaesResponse1 = LaesResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class RetRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private RetInputType1 retInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public RetInputType1 RetInput { + get { + return this.retInputField; + } + set { + this.retInputField = value; + this.RaisePropertyChanged("RetInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="RetInputType", Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class RetInputType1 : RetInputType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RetInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RetInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class RetResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType retOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public BasicOutputType RetOutput { + get { + return this.retOutputField; + } + set { + this.retOutputField = value; + this.RaisePropertyChanged("RetOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class retRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="RetRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.RetRequestType RetRequest1; + + public retRequest() { + } + + public retRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.RetRequestType RetRequest1) { + this.RequestHeader = RequestHeader; + this.RetRequest1 = RetRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class retResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="RetResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.RetResponseType RetResponse1; + + public retResponse() { + } + + public retResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.RetResponseType RetResponse1) { + this.RequestHeader = RequestHeader; + this.RetResponse1 = RetResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class SletRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private UuidNoteInputType sletInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public UuidNoteInputType SletInput { + get { + return this.sletInputField; + } + set { + this.sletInputField = value; + this.RaisePropertyChanged("SletInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class SletResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType sletOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public BasicOutputType SletOutput { + get { + return this.sletOutputField; + } + set { + this.sletOutputField = value; + this.RaisePropertyChanged("SletOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class sletRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SletRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.SletRequestType SletRequest1; + + public sletRequest() { + } + + public sletRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SletRequestType SletRequest1) { + this.RequestHeader = RequestHeader; + this.SletRequest1 = SletRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class sletResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SletResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.SletResponseType SletResponse1; + + public sletResponse() { + } + + public sletResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SletResponseType SletResponse1) { + this.RequestHeader = RequestHeader; + this.SletResponse1 = SletResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class SoegRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private SoegInputType1 soegInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public SoegInputType1 SoegInput { + get { + return this.soegInputField; + } + set { + this.soegInputField = value; + this.RaisePropertyChanged("SoegInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="SoegInputType", Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class SoegInputType1 : SoegInputType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SoegInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string foersteResultatReferenceField; + + private string maksimalAntalKvantitetField; + + private SoegRegistreringType soegRegistreringField; + + private SoegVirkningType soegVirkningField; + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)] + public string FoersteResultatReference { + get { + return this.foersteResultatReferenceField; + } + set { + this.foersteResultatReferenceField = value; + this.RaisePropertyChanged("FoersteResultatReference"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=1)] + public string MaksimalAntalKvantitet { + get { + return this.maksimalAntalKvantitetField; + } + set { + this.maksimalAntalKvantitetField = value; + this.RaisePropertyChanged("MaksimalAntalKvantitet"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public SoegRegistreringType SoegRegistrering { + get { + return this.soegRegistreringField; + } + set { + this.soegRegistreringField = value; + this.RaisePropertyChanged("SoegRegistrering"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public SoegVirkningType SoegVirkning { + get { + return this.soegVirkningField; + } + set { + this.soegVirkningField = value; + this.RaisePropertyChanged("SoegVirkning"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegRegistreringType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private LivscyklusKodeType livscyklusKodeField; + + private bool livscyklusKodeFieldSpecified; + + private UnikIdType brugerRefField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public LivscyklusKodeType LivscyklusKode { + get { + return this.livscyklusKodeField; + } + set { + this.livscyklusKodeField = value; + this.RaisePropertyChanged("LivscyklusKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LivscyklusKodeSpecified { + get { + return this.livscyklusKodeFieldSpecified; + } + set { + this.livscyklusKodeFieldSpecified = value; + this.RaisePropertyChanged("LivscyklusKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public UnikIdType BrugerRef { + get { + return this.brugerRefField; + } + set { + this.brugerRefField = value; + this.RaisePropertyChanged("BrugerRef"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegVirkningType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private UnikIdType aktoerRefField; + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public UnikIdType AktoerRef { + get { + return this.aktoerRefField; + } + set { + this.aktoerRefField = value; + this.RaisePropertyChanged("AktoerRef"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class SoegResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private SoegOutputType soegOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public SoegOutputType SoegOutput { + get { + return this.soegOutputField; + } + set { + this.soegOutputField = value; + this.RaisePropertyChanged("SoegOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + private string[] idListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=1)] + [System.Xml.Serialization.XmlArrayItemAttribute("UUIDIdentifikator", IsNullable=false)] + public string[] IdListe { + get { + return this.idListeField; + } + set { + this.idListeField = value; + this.RaisePropertyChanged("IdListe"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class soegRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SoegRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.SoegRequestType SoegRequest1; + + public soegRequest() { + } + + public soegRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SoegRequestType SoegRequest1) { + this.RequestHeader = RequestHeader; + this.SoegRequest1 = SoegRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class soegResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SoegResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.SoegResponseType SoegResponse1; + + public soegResponse() { + } + + public soegResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SoegResponseType SoegResponse1) { + this.RequestHeader = RequestHeader; + this.SoegResponse1 = SoegResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class ListRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private ListInputType listInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=2)] + public ListInputType ListInput { + get { + return this.listInputField; + } + set { + this.listInputField = value; + this.RaisePropertyChanged("ListInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ListInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string[] uUIDIdentifikatorField; + + private TidspunktType virkningFraFilterField; + + private TidspunktType virkningTilFilterField; + + private TidspunktType registreringFraFilterField; + + private TidspunktType registreringTilFilterField; + + /// + [System.Xml.Serialization.XmlElementAttribute("UUIDIdentifikator", Order=0)] + public string[] UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType VirkningFraFilter { + get { + return this.virkningFraFilterField; + } + set { + this.virkningFraFilterField = value; + this.RaisePropertyChanged("VirkningFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public TidspunktType VirkningTilFilter { + get { + return this.virkningTilFilterField; + } + set { + this.virkningTilFilterField = value; + this.RaisePropertyChanged("VirkningTilFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public TidspunktType RegistreringFraFilter { + get { + return this.registreringFraFilterField; + } + set { + this.registreringFraFilterField = value; + this.RaisePropertyChanged("RegistreringFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public TidspunktType RegistreringTilFilter { + get { + return this.registreringTilFilterField; + } + set { + this.registreringTilFilterField = value; + this.RaisePropertyChanged("RegistreringTilFilter"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/")] + public partial class ListResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private ListOutputType1 listOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisation:1.1.3.0", Order=0)] + public ListOutputType1 ListOutput { + get { + return this.listOutputField; + } + set { + this.listOutputField = value; + this.RaisePropertyChanged("ListOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="ListOutputType", Namespace="urn:oio:sts:organisation:organisation:1.1.3.0")] + public partial class ListOutputType1 : ListOutputType { + + private FiltreretOejebliksbilledeType[] filtreretOejebliksbilledeField; + + /// + [System.Xml.Serialization.XmlElementAttribute("FiltreretOejebliksbillede", Order=0)] + public FiltreretOejebliksbilledeType[] FiltreretOejebliksbillede { + get { + return this.filtreretOejebliksbilledeField; + } + set { + this.filtreretOejebliksbilledeField = value; + this.RaisePropertyChanged("FiltreretOejebliksbillede"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ListOutputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ListOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class listRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ListRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.ListRequestType ListRequest1; + + public listRequest() { + } + + public listRequest(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ListRequestType ListRequest1) { + this.RequestHeader = RequestHeader; + this.ListRequest1 = ListRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class listResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ListResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/Organisation/5/", Order=0)] + public Infrastructure.STS.Organization.ServiceReference.ListResponseType ListResponse1; + + public listResponse() { + } + + public listResponse(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ListResponseType ListResponse1) { + this.RequestHeader = RequestHeader; + this.ListResponse1 = ListResponse1; + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public interface OrganisationPortTypeChannel : Infrastructure.STS.Organization.ServiceReference.OrganisationPortType, System.ServiceModel.IClientChannel { + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public partial class OrganisationPortTypeClient : System.ServiceModel.ClientBase, Infrastructure.STS.Organization.ServiceReference.OrganisationPortType { + + public OrganisationPortTypeClient() { + } + + public OrganisationPortTypeClient(string endpointConfigurationName) : + base(endpointConfigurationName) { + } + + public OrganisationPortTypeClient(string endpointConfigurationName, string remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public OrganisationPortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public OrganisationPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : + base(binding, remoteAddress) { + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.opretResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.opret(Infrastructure.STS.Organization.ServiceReference.opretRequest request) { + return base.Channel.opret(request); + } + + public Infrastructure.STS.Organization.ServiceReference.OpretResponseType opret(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.OpretRequestType OpretRequest1) { + Infrastructure.STS.Organization.ServiceReference.opretRequest inValue = new Infrastructure.STS.Organization.ServiceReference.opretRequest(); + inValue.RequestHeader = RequestHeader; + inValue.OpretRequest1 = OpretRequest1; + Infrastructure.STS.Organization.ServiceReference.opretResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).opret(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.OpretResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.opretAsync(Infrastructure.STS.Organization.ServiceReference.opretRequest request) { + return base.Channel.opretAsync(request); + } + + public System.Threading.Tasks.Task opretAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.OpretRequestType OpretRequest1) { + Infrastructure.STS.Organization.ServiceReference.opretRequest inValue = new Infrastructure.STS.Organization.ServiceReference.opretRequest(); + inValue.RequestHeader = RequestHeader; + inValue.OpretRequest1 = OpretRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).opretAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.importerResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.importer(Infrastructure.STS.Organization.ServiceReference.importerRequest request) { + return base.Channel.importer(request); + } + + public Infrastructure.STS.Organization.ServiceReference.ImporterResponseType importer(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ImporterRequestType ImporterRequest1) { + Infrastructure.STS.Organization.ServiceReference.importerRequest inValue = new Infrastructure.STS.Organization.ServiceReference.importerRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ImporterRequest1 = ImporterRequest1; + Infrastructure.STS.Organization.ServiceReference.importerResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).importer(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.ImporterResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.importerAsync(Infrastructure.STS.Organization.ServiceReference.importerRequest request) { + return base.Channel.importerAsync(request); + } + + public System.Threading.Tasks.Task importerAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ImporterRequestType ImporterRequest1) { + Infrastructure.STS.Organization.ServiceReference.importerRequest inValue = new Infrastructure.STS.Organization.ServiceReference.importerRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ImporterRequest1 = ImporterRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).importerAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.passiverResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.passiver(Infrastructure.STS.Organization.ServiceReference.passiverRequest request) { + return base.Channel.passiver(request); + } + + public Infrastructure.STS.Organization.ServiceReference.PassiverResponseType passiver(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.PassiverRequestType PassiverRequest1) { + Infrastructure.STS.Organization.ServiceReference.passiverRequest inValue = new Infrastructure.STS.Organization.ServiceReference.passiverRequest(); + inValue.RequestHeader = RequestHeader; + inValue.PassiverRequest1 = PassiverRequest1; + Infrastructure.STS.Organization.ServiceReference.passiverResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).passiver(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.PassiverResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.passiverAsync(Infrastructure.STS.Organization.ServiceReference.passiverRequest request) { + return base.Channel.passiverAsync(request); + } + + public System.Threading.Tasks.Task passiverAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.PassiverRequestType PassiverRequest1) { + Infrastructure.STS.Organization.ServiceReference.passiverRequest inValue = new Infrastructure.STS.Organization.ServiceReference.passiverRequest(); + inValue.RequestHeader = RequestHeader; + inValue.PassiverRequest1 = PassiverRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).passiverAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.laesResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.laes(Infrastructure.STS.Organization.ServiceReference.laesRequest request) { + return base.Channel.laes(request); + } + + public Infrastructure.STS.Organization.ServiceReference.LaesResponseType laes(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.LaesRequestType LaesRequest1) { + Infrastructure.STS.Organization.ServiceReference.laesRequest inValue = new Infrastructure.STS.Organization.ServiceReference.laesRequest(); + inValue.RequestHeader = RequestHeader; + inValue.LaesRequest1 = LaesRequest1; + Infrastructure.STS.Organization.ServiceReference.laesResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).laes(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.LaesResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.laesAsync(Infrastructure.STS.Organization.ServiceReference.laesRequest request) { + return base.Channel.laesAsync(request); + } + + public System.Threading.Tasks.Task laesAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.LaesRequestType LaesRequest1) { + Infrastructure.STS.Organization.ServiceReference.laesRequest inValue = new Infrastructure.STS.Organization.ServiceReference.laesRequest(); + inValue.RequestHeader = RequestHeader; + inValue.LaesRequest1 = LaesRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).laesAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.retResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.ret(Infrastructure.STS.Organization.ServiceReference.retRequest request) { + return base.Channel.ret(request); + } + + public Infrastructure.STS.Organization.ServiceReference.RetResponseType ret(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.RetRequestType RetRequest1) { + Infrastructure.STS.Organization.ServiceReference.retRequest inValue = new Infrastructure.STS.Organization.ServiceReference.retRequest(); + inValue.RequestHeader = RequestHeader; + inValue.RetRequest1 = RetRequest1; + Infrastructure.STS.Organization.ServiceReference.retResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).ret(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.RetResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.retAsync(Infrastructure.STS.Organization.ServiceReference.retRequest request) { + return base.Channel.retAsync(request); + } + + public System.Threading.Tasks.Task retAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.RetRequestType RetRequest1) { + Infrastructure.STS.Organization.ServiceReference.retRequest inValue = new Infrastructure.STS.Organization.ServiceReference.retRequest(); + inValue.RequestHeader = RequestHeader; + inValue.RetRequest1 = RetRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).retAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.sletResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.slet(Infrastructure.STS.Organization.ServiceReference.sletRequest request) { + return base.Channel.slet(request); + } + + public Infrastructure.STS.Organization.ServiceReference.SletResponseType slet(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SletRequestType SletRequest1) { + Infrastructure.STS.Organization.ServiceReference.sletRequest inValue = new Infrastructure.STS.Organization.ServiceReference.sletRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SletRequest1 = SletRequest1; + Infrastructure.STS.Organization.ServiceReference.sletResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).slet(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.SletResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.sletAsync(Infrastructure.STS.Organization.ServiceReference.sletRequest request) { + return base.Channel.sletAsync(request); + } + + public System.Threading.Tasks.Task sletAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SletRequestType SletRequest1) { + Infrastructure.STS.Organization.ServiceReference.sletRequest inValue = new Infrastructure.STS.Organization.ServiceReference.sletRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SletRequest1 = SletRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).sletAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.soegResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.soeg(Infrastructure.STS.Organization.ServiceReference.soegRequest request) { + return base.Channel.soeg(request); + } + + public Infrastructure.STS.Organization.ServiceReference.SoegResponseType soeg(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SoegRequestType SoegRequest1) { + Infrastructure.STS.Organization.ServiceReference.soegRequest inValue = new Infrastructure.STS.Organization.ServiceReference.soegRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SoegRequest1 = SoegRequest1; + Infrastructure.STS.Organization.ServiceReference.soegResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).soeg(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.SoegResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.soegAsync(Infrastructure.STS.Organization.ServiceReference.soegRequest request) { + return base.Channel.soegAsync(request); + } + + public System.Threading.Tasks.Task soegAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.SoegRequestType SoegRequest1) { + Infrastructure.STS.Organization.ServiceReference.soegRequest inValue = new Infrastructure.STS.Organization.ServiceReference.soegRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SoegRequest1 = SoegRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).soegAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.Organization.ServiceReference.listResponse Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.list(Infrastructure.STS.Organization.ServiceReference.listRequest request) { + return base.Channel.list(request); + } + + public Infrastructure.STS.Organization.ServiceReference.ListResponseType list(ref Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ListRequestType ListRequest1) { + Infrastructure.STS.Organization.ServiceReference.listRequest inValue = new Infrastructure.STS.Organization.ServiceReference.listRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ListRequest1 = ListRequest1; + Infrastructure.STS.Organization.ServiceReference.listResponse retVal = ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).list(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.ListResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.Organization.ServiceReference.OrganisationPortType.listAsync(Infrastructure.STS.Organization.ServiceReference.listRequest request) { + return base.Channel.listAsync(request); + } + + public System.Threading.Tasks.Task listAsync(Infrastructure.STS.Organization.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.Organization.ServiceReference.ListRequestType ListRequest1) { + Infrastructure.STS.Organization.ServiceReference.listRequest inValue = new Infrastructure.STS.Organization.ServiceReference.listRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ListRequest1 = ListRequest1; + return ((Infrastructure.STS.Organization.ServiceReference.OrganisationPortType)(this)).listAsync(inValue); + } + } +} diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/Reference.svcmap b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Reference.svcmap new file mode 100644 index 0000000000..1d66fa040b --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/Reference.svcmap @@ -0,0 +1,43 @@ + + + + false + true + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/RequestHeader.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/RequestHeader.xsd new file mode 100644 index 0000000000..86cc4c8882 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/RequestHeader.xsd @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/SagDokObjekt.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/SagDokObjekt.xsd new file mode 100644 index 0000000000..7d028a840d --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/SagDokObjekt.xsd @@ -0,0 +1,803 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl b/Infrastructure.STS.Organization/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl new file mode 100644 index 0000000000..7b2666e388 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/ServiceplatformFault_1.xsd b/Infrastructure.STS.Organization/Connected Services/ServiceReference/ServiceplatformFault_1.xsd new file mode 100644 index 0000000000..b0b7ce41e9 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/ServiceplatformFault_1.xsd @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/configuration.svcinfo b/Infrastructure.STS.Organization/Connected Services/ServiceReference/configuration.svcinfo new file mode 100644 index 0000000000..a82aa108ac --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/configuration.svcinfo @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/configuration91.svcinfo b/Infrastructure.STS.Organization/Connected Services/ServiceReference/configuration91.svcinfo new file mode 100644 index 0000000000..07d93dba81 --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/configuration91.svcinfo @@ -0,0 +1,310 @@ + + + + + + + OrganisationBinding + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + Transport + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + OrganisationBinding1 + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + + + https://localhost:8080/service/Organisation/Organisation/5 + + + + + + basicHttpBinding + + + OrganisationBinding + + + ServiceReference.OrganisationPortType + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + OrganisationPort + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Connected Services/ServiceReference/policies.wsdl b/Infrastructure.STS.Organization/Connected Services/ServiceReference/policies.wsdl new file mode 100644 index 0000000000..ff60ad349b --- /dev/null +++ b/Infrastructure.STS.Organization/Connected Services/ServiceReference/policies.wsdl @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/DomainServices/StsOrganizationService.cs b/Infrastructure.STS.Organization/DomainServices/StsOrganizationService.cs new file mode 100644 index 0000000000..eee0b7998f --- /dev/null +++ b/Infrastructure.STS.Organization/DomainServices/StsOrganizationService.cs @@ -0,0 +1,145 @@ +using System; +using System.Linq; +using System.Security.Cryptography.X509Certificates; +using System.ServiceModel; +using Core.Abstractions.Types; +using Core.DomainServices.Extensions; +using Core.DomainServices.Model.StsOrganization; +using Core.DomainServices.Organizations; +using Core.DomainServices.Repositories.Organization; +using Core.DomainServices.SSO; +using Infrastructure.STS.Common.Factories; +using Infrastructure.STS.Common.Model; +using Infrastructure.STS.Organization.ServiceReference; +using Serilog; + +namespace Infrastructure.STS.Organization.DomainServices +{ + public class StsOrganizationService : IStsOrganizationService + { + private readonly IStsOrganizationCompanyLookupService _companyLookupService; + private readonly IStsOrganizationIdentityRepository _stsOrganizationIdentityRepository; + private readonly ILogger _logger; + private readonly string _certificateThumbprint; + private readonly string _serviceRoot; + + public StsOrganizationService( + StsOrganisationIntegrationConfiguration configuration, + IStsOrganizationCompanyLookupService companyLookupService, + IStsOrganizationIdentityRepository stsOrganizationIdentityRepository, + ILogger logger) + { + _companyLookupService = companyLookupService; + _stsOrganizationIdentityRepository = stsOrganizationIdentityRepository; + _logger = logger; + _certificateThumbprint = configuration.CertificateThumbprint; + _serviceRoot = $"https://{configuration.EndpointHost}/service/Organisation/Organisation/5"; + } + + public Result> ResolveStsOrganizationUuid(Core.DomainModel.Organization.Organization organization) + { + if (organization == null) + { + throw new ArgumentNullException(nameof(organization)); + } + + //If an FK identity already exists, reuse it + var fkOrgIdentity = organization.StsOrganizationIdentities.FirstOrDefault(); + if (fkOrgIdentity != null) + { + return fkOrgIdentity.ExternalUuid; + } + + if (organization.IsCvrInvalid()) + { + return new DetailedOperationError(OperationFailure.BadState, ResolveOrganizationUuidError.InvalidCvrOnOrganization); + } + + //Resolve the associated company uuid + var companyUuid = _companyLookupService.ResolveStsOrganizationCompanyUuid(organization); + if (companyUuid.Failed) + { + _logger.Error("Error {error} while resolving company uuid for organization with id {id}", companyUuid.Error.ToString(), organization.Id); + return new DetailedOperationError(OperationFailure.UnknownError, ResolveOrganizationUuidError.FailedToLookupOrganizationCompany); + } + + //Search for the organization based on the resolved company (all organizations are tied to a company) + using var clientCertificate = X509CertificateClientCertificateFactory.GetClientCertificate(_certificateThumbprint); + using var organizationPortTypeClient = CreateOrganizationPortTypeClient(BasicHttpBindingFactory.CreateHttpBinding(), _serviceRoot, clientCertificate); + + var searchRequest = CreateSearchForOrganizationRequest(organization, companyUuid.Value); + var channel = organizationPortTypeClient.ChannelFactory.CreateChannel(); + var response = channel.soeg(searchRequest); + var statusResult = response.SoegResponse1.SoegOutput.StandardRetur; + var stsError = statusResult.StatusKode.ParseStsError(); + if (stsError.HasValue) + { + _logger.Error("Failed to search for organization ({id}) by company uuid {uuid}. Failed with {stsError} {code} and {message}", organization.Id, companyUuid.Value, stsError.Value, statusResult.StatusKode, statusResult.FejlbeskedTekst); + return new DetailedOperationError(OperationFailure.UnknownError, ResolveOrganizationUuidError.FailedToSearchForOrganizationByCompanyUuid); + } + + var ids = response.SoegResponse1.SoegOutput.IdListe; + if (ids.Length != 1) + { + _logger.Error("Failed to search for organization ({id}) by company uuid {uuid}. Expected 1 result but got {resultsCsv}", organization.Id, companyUuid.Value, string.Join(",", ids)); + return new DetailedOperationError(OperationFailure.UnknownError, ResolveOrganizationUuidError.DuplicateOrganizationResults); + } + + var uuid = new Guid(ids.Single()); + + var result = _stsOrganizationIdentityRepository.AddNew(organization, uuid); + if (result.Failed) + { + _logger.Error("Failed save uuid for organization ({id}) with uuid {uuid}. Repository responded with {error}", organization.Id, companyUuid.Value, result.Error.ToString()); + return new DetailedOperationError(OperationFailure.UnknownError, ResolveOrganizationUuidError.FailedToSaveUuidOnKitosOrganization); + } + + return uuid; + } + + private static soegRequest CreateSearchForOrganizationRequest(Core.DomainModel.Organization.Organization organization, Guid companyUuid) + { + return new soegRequest + { + SoegRequest1 = new SoegRequestType + { + AuthorityContext = new AuthorityContextType + { + MunicipalityCVR = organization.Cvr + }, + SoegInput = new SoegInputType1 + { + MaksimalAntalKvantitet = "2", //We expect only one match so get 2 as max to see if something is off + AttributListe = new AttributListeType(), //Required by the schema even if it is not used + TilstandListe = new TilstandListeType(), //Required by the schema even if it is not used + RelationListe = new RelationListeType + { + Virksomhed = new VirksomhedRelationType + { + ReferenceID = new UnikIdType + { + ItemElementName = ItemChoiceType.UUIDIdentifikator, + Item = companyUuid.ToString("D") + } + } + } + } + } + }; + } + + private static OrganisationPortTypeClient CreateOrganizationPortTypeClient(BasicHttpBinding binding, string urlServicePlatformService, X509Certificate2 certificate) + { + return new OrganisationPortTypeClient(binding, new EndpointAddress(urlServicePlatformService)) + { + ClientCredentials = + { + ClientCertificate = + { + Certificate = certificate + } + } + }; + } + } +} diff --git a/Infrastructure.STS.Organization/Infrastructure.STS.Organization.csproj b/Infrastructure.STS.Organization/Infrastructure.STS.Organization.csproj new file mode 100644 index 0000000000..102e896d0e --- /dev/null +++ b/Infrastructure.STS.Organization/Infrastructure.STS.Organization.csproj @@ -0,0 +1,188 @@ + + + + + Debug + AnyCPU + {3DC91665-93BB-442D-B186-7E90C7CD6E32} + Library + Properties + Infrastructure.STS.Organization + Infrastructure.STS.Organization + v4.8 + 512 + true + latest + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Serilog.2.9.0\lib\net46\Serilog.dll + + + + + + + + + + + + + + + True + True + Reference.svcmap + + + + + + + + Designer + + + Designer + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Designer + + + Designer + + + Designer + + + + Designer + + + Designer + + + + Designer + + + Designer + + + + Designer + + + + + + + + + + + + + + + + + + + WCF Proxy Generator + Reference.cs + + + + + {bd8c90e7-52c7-4ad0-935d-98a2aa89e449} + Core.Abstractions + + + {a76a8e41-74f7-4443-a5f3-059b5414d83b} + Core.DomainModel + + + {adcacc1d-f538-464c-9102-f4c1d6fa35d3} + Core.DomainServices + + + {0326CAE6-87A1-4D66-84AE-EB8CE0340E9F} + Infrastructure.Services + + + {423D7522-4882-4438-94F4-7B3F5778C83F} + Infrastructure.STS.Common + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/Properties/AssemblyInfo.cs b/Infrastructure.STS.Organization/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..ce0ed0eade --- /dev/null +++ b/Infrastructure.STS.Organization/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Infrastructure.STS.Organization")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Infrastructure.STS.Organization")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("3dc91665-93bb-442d-b186-7e90c7cd6e32")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Infrastructure.STS.Organization/Readme.md b/Infrastructure.STS.Organization/Readme.md new file mode 100644 index 0000000000..757663da05 --- /dev/null +++ b/Infrastructure.STS.Organization/Readme.md @@ -0,0 +1,3 @@ +"ServiceContract" is generated based on service contract downloaded from this: https://www.serviceplatformen.dk/administration/serviceOverview/show?uuid=4afb35be-7b7a-45b3-ab01-bd5017a8b182 + +Web service proxy is generated based on `ServiceContract\wsdl\context\OrganisationService.wsdl` \ No newline at end of file diff --git a/Infrastructure.STS.Organization/app.config b/Infrastructure.STS.Organization/app.config new file mode 100644 index 0000000000..89eb72b26f --- /dev/null +++ b/Infrastructure.STS.Organization/app.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.Organization/packages.config b/Infrastructure.STS.Organization/packages.config new file mode 100644 index 0000000000..5f94a3bbf7 --- /dev/null +++ b/Infrastructure.STS.Organization/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/AuthorityContext_1.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/AuthorityContext_1.xsd new file mode 100644 index 0000000000..c4b7c49243 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/AuthorityContext_1.xsd @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/CallContext_1.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/CallContext_1.xsd new file mode 100644 index 0000000000..b8fe8f6901 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/CallContext_1.xsd @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterResponseType.datasource new file mode 100644 index 0000000000..9b3ed45bdb --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.LaesResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.LaesResponseType.datasource new file mode 100644 index 0000000000..268a983f30 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.LaesResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.LaesResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.ListResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.ListResponseType.datasource new file mode 100644 index 0000000000..86f7822b7f --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.ListResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.ListResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.OpretResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.OpretResponseType.datasource new file mode 100644 index 0000000000..1c9feaeac5 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.OpretResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.OpretResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverResponseType.datasource new file mode 100644 index 0000000000..74b72b890e --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType.datasource new file mode 100644 index 0000000000..55a7b35c84 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.RetResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.RetResponseType.datasource new file mode 100644 index 0000000000..c8fb4f6382 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.RetResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.RetResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.SletResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.SletResponseType.datasource new file mode 100644 index 0000000000..0e3f656404 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.SletResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.SletResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.SoegResponseType.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.SoegResponseType.datasource new file mode 100644 index 0000000000..5a8c1de245 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.SoegResponseType.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.SoegResponseType, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.importerResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.importerResponse.datasource new file mode 100644 index 0000000000..4c040d29e4 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.importerResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.importerResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.laesResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.laesResponse.datasource new file mode 100644 index 0000000000..9c600b2cd5 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.laesResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.laesResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.listResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.listResponse.datasource new file mode 100644 index 0000000000..dc209e910f --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.listResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.listResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.opretResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.opretResponse.datasource new file mode 100644 index 0000000000..d446654cc8 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.opretResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.opretResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.passiverResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.passiverResponse.datasource new file mode 100644 index 0000000000..d23cbc6b88 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.passiverResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.passiverResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.retResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.retResponse.datasource new file mode 100644 index 0000000000..b26ea6cb67 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.retResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.retResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.sletResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.sletResponse.datasource new file mode 100644 index 0000000000..e0c4841e75 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.sletResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.sletResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.soegResponse.datasource b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.soegResponse.datasource new file mode 100644 index 0000000000..d9ded74760 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Infrastructure.STS.OrganizationUnit.ServiceReference.soegResponse.datasource @@ -0,0 +1,10 @@ + + + + Infrastructure.STS.OrganizationUnit.ServiceReference.soegResponse, Connected Services.ServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhed.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhed.xsd new file mode 100644 index 0000000000..36ceef0286 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhed.xsd @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedOperationer.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedOperationer.xsd new file mode 100644 index 0000000000..46274a48a9 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedOperationer.xsd @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedService.wsdl b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedService.wsdl new file mode 100644 index 0000000000..8a5857716a --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedService.wsdl @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedServiceMsg.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedServiceMsg.xsd new file mode 100644 index 0000000000..b5f266cfae --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationEnhedServiceMsg.xsd @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationFaelles.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationFaelles.xsd new file mode 100644 index 0000000000..18c70764b2 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/OrganisationFaelles.xsd @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Part.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Part.xsd new file mode 100644 index 0000000000..2ce9ea4273 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Part.xsd @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Reference.cs b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Reference.cs new file mode 100644 index 0000000000..dd174fe100 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Reference.cs @@ -0,0 +1,4117 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Infrastructure.STS.OrganizationUnit.ServiceReference { + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + public partial class ServiceplatformFaultType : object, System.ComponentModel.INotifyPropertyChanged { + + private ErrorType[] errorListField; + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=0)] + [System.Xml.Serialization.XmlArrayItemAttribute("Error", IsNullable=false)] + public ErrorType[] ErrorList { + get { + return this.errorListField; + } + set { + this.errorListField = value; + this.RaisePropertyChanged("ErrorList"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + public partial class ErrorType : object, System.ComponentModel.INotifyPropertyChanged { + + private string errorCodeField; + + private string errorTextField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string ErrorCode { + get { + return this.errorCodeField; + } + set { + this.errorCodeField = value; + this.RaisePropertyChanged("ErrorCode"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string ErrorText { + get { + return this.errorTextField; + } + set { + this.errorTextField = value; + this.RaisePropertyChanged("ErrorText"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistreringType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RegistreringType : object, System.ComponentModel.INotifyPropertyChanged { + + private string noteTekstField; + + private System.DateTime tidspunktField; + + private bool tidspunktFieldSpecified; + + private LivscyklusKodeType livscyklusKodeField; + + private bool livscyklusKodeFieldSpecified; + + private UnikIdType brugerRefField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public System.DateTime Tidspunkt { + get { + return this.tidspunktField; + } + set { + this.tidspunktField = value; + this.RaisePropertyChanged("Tidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TidspunktSpecified { + get { + return this.tidspunktFieldSpecified; + } + set { + this.tidspunktFieldSpecified = value; + this.RaisePropertyChanged("TidspunktSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public LivscyklusKodeType LivscyklusKode { + get { + return this.livscyklusKodeField; + } + set { + this.livscyklusKodeField = value; + this.RaisePropertyChanged("LivscyklusKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LivscyklusKodeSpecified { + get { + return this.livscyklusKodeFieldSpecified; + } + set { + this.livscyklusKodeFieldSpecified = value; + this.RaisePropertyChanged("LivscyklusKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public UnikIdType BrugerRef { + get { + return this.brugerRefField; + } + set { + this.brugerRefField = value; + this.RaisePropertyChanged("BrugerRef"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public enum LivscyklusKodeType { + + /// + Opstaaet, + + /// + Importeret, + + /// + Passiveret, + + /// + Slettet, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UnikIdType : object, System.ComponentModel.INotifyPropertyChanged { + + private string itemField; + + private ItemChoiceType itemElementNameField; + + /// + [System.Xml.Serialization.XmlElementAttribute("URNIdentifikator", typeof(string), Order=0)] + [System.Xml.Serialization.XmlElementAttribute("UUIDIdentifikator", typeof(string), Order=0)] + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")] + public string Item { + get { + return this.itemField; + } + set { + this.itemField = value; + this.RaisePropertyChanged("Item"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + [System.Xml.Serialization.XmlIgnoreAttribute()] + public ItemChoiceType ItemElementName { + get { + return this.itemElementNameField; + } + set { + this.itemElementNameField = value; + this.RaisePropertyChanged("ItemElementName"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0", IncludeInSchema=false)] + public enum ItemChoiceType { + + /// + URNIdentifikator, + + /// + UUIDIdentifikator, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="RegistreringType", Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class RegistreringType1 : RegistreringType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class AttributListeType : object, System.ComponentModel.INotifyPropertyChanged { + + private EgenskabType[] egenskabField; + + private LokalUdvidelseType lokalUdvidelseField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Egenskab", Order=0)] + public EgenskabType[] Egenskab { + get { + return this.egenskabField; + } + set { + this.egenskabField = value; + this.RaisePropertyChanged("Egenskab"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public LokalUdvidelseType LokalUdvidelse { + get { + return this.lokalUdvidelseField; + } + set { + this.lokalUdvidelseField = value; + this.RaisePropertyChanged("LokalUdvidelse"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class EgenskabType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private string brugervendtNoegleTekstField; + + private string enhedNavnField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public string BrugervendtNoegleTekst { + get { + return this.brugervendtNoegleTekstField; + } + set { + this.brugervendtNoegleTekstField = value; + this.RaisePropertyChanged("BrugervendtNoegleTekst"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=2)] + public string EnhedNavn { + get { + return this.enhedNavnField; + } + set { + this.enhedNavnField = value; + this.RaisePropertyChanged("EnhedNavn"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class VirkningType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private UnikIdType aktoerRefField; + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public UnikIdType AktoerRef { + get { + return this.aktoerRefField; + } + set { + this.aktoerRefField = value; + this.RaisePropertyChanged("AktoerRef"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class TidspunktType : object, System.ComponentModel.INotifyPropertyChanged { + + private object itemField; + + /// + [System.Xml.Serialization.XmlElementAttribute("GraenseIndikator", typeof(bool), Order=0)] + [System.Xml.Serialization.XmlElementAttribute("TidsstempelDatoTid", typeof(System.DateTime), Order=0)] + public object Item { + get { + return this.itemField; + } + set { + this.itemField = value; + this.RaisePropertyChanged("Item"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public enum AktoerTypeKodeType { + + /// + Organisation, + + /// + OrganisationEnhed, + + /// + OrganisationFunktion, + + /// + Bruger, + + /// + ItSystem, + + /// + Interessefaellesskab, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LokalUdvidelseType : object, System.ComponentModel.INotifyPropertyChanged { + + private System.Xml.XmlElement[] anyField; + + /// + [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)] + public System.Xml.XmlElement[] Any { + get { + return this.anyField; + } + set { + this.anyField = value; + this.RaisePropertyChanged("Any"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class TilstandListeType : object, System.ComponentModel.INotifyPropertyChanged { + + private GyldighedType[] gyldighedField; + + private LokalUdvidelseType lokalUdvidelseField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Gyldighed", Namespace="urn:oio:sts:organisation:1.1.3.0", Order=0)] + public GyldighedType[] Gyldighed { + get { + return this.gyldighedField; + } + set { + this.gyldighedField = value; + this.RaisePropertyChanged("Gyldighed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public LokalUdvidelseType LokalUdvidelse { + get { + return this.lokalUdvidelseField; + } + set { + this.lokalUdvidelseField = value; + this.RaisePropertyChanged("LokalUdvidelse"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:1.1.3.0")] + public partial class GyldighedType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private GyldighedStatusKodeType gyldighedStatusKodeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public GyldighedStatusKodeType GyldighedStatusKode { + get { + return this.gyldighedStatusKodeField; + } + set { + this.gyldighedStatusKodeField = value; + this.RaisePropertyChanged("GyldighedStatusKode"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:1.1.3.0")] + public enum GyldighedStatusKodeType { + + /// + Aktiv, + + /// + Inaktiv, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class RelationListeType : object, System.ComponentModel.INotifyPropertyChanged { + + private AdresseFlerRelationType[] adresserField; + + private PersonFlerRelationType[] ansatteField; + + private KlasseRelationType brancheField; + + private KlasseRelationType enhedstypeField; + + private KlasseFlerRelationType[] opgaverField; + + private OrganisationEnhedRelationType overordnetField; + + private VirksomhedRelationType produktionsenhedField; + + private VirksomhedRelationType skatteenhedField; + + private OrganisationRelationType tilhoererField; + + private BrugerFlerRelationType[] tilknyttedeBrugereField; + + private OrganisationEnhedFlerRelationType[] tilknyttedeEnhederField; + + private OrganisationFunktionFlerRelationType[] tilknyttedeFunktionerField; + + private InteressefaellesskabFlerRelationType[] tilknyttedeInteressefaellesskaberField; + + private OrganisationFlerRelationType[] tilknyttedeOrganisationerField; + + private PersonFlerRelationType[] tilknyttedePersonerField; + + private ItSystemFlerRelationType[] tilknyttedeItSystemerField; + + private LokalUdvidelseType lokalUdvidelseField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Adresser", Namespace="urn:oio:sagdok:3.0.0", Order=0)] + public AdresseFlerRelationType[] Adresser { + get { + return this.adresserField; + } + set { + this.adresserField = value; + this.RaisePropertyChanged("Adresser"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("Ansatte", Namespace="urn:oio:sagdok:3.0.0", Order=1)] + public PersonFlerRelationType[] Ansatte { + get { + return this.ansatteField; + } + set { + this.ansatteField = value; + this.RaisePropertyChanged("Ansatte"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=2)] + public KlasseRelationType Branche { + get { + return this.brancheField; + } + set { + this.brancheField = value; + this.RaisePropertyChanged("Branche"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=3)] + public KlasseRelationType Enhedstype { + get { + return this.enhedstypeField; + } + set { + this.enhedstypeField = value; + this.RaisePropertyChanged("Enhedstype"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("Opgaver", Namespace="urn:oio:sagdok:3.0.0", Order=4)] + public KlasseFlerRelationType[] Opgaver { + get { + return this.opgaverField; + } + set { + this.opgaverField = value; + this.RaisePropertyChanged("Opgaver"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=5)] + public OrganisationEnhedRelationType Overordnet { + get { + return this.overordnetField; + } + set { + this.overordnetField = value; + this.RaisePropertyChanged("Overordnet"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=6)] + public VirksomhedRelationType Produktionsenhed { + get { + return this.produktionsenhedField; + } + set { + this.produktionsenhedField = value; + this.RaisePropertyChanged("Produktionsenhed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=7)] + public VirksomhedRelationType Skatteenhed { + get { + return this.skatteenhedField; + } + set { + this.skatteenhedField = value; + this.RaisePropertyChanged("Skatteenhed"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=8)] + public OrganisationRelationType Tilhoerer { + get { + return this.tilhoererField; + } + set { + this.tilhoererField = value; + this.RaisePropertyChanged("Tilhoerer"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeBrugere", Namespace="urn:oio:sagdok:3.0.0", Order=9)] + public BrugerFlerRelationType[] TilknyttedeBrugere { + get { + return this.tilknyttedeBrugereField; + } + set { + this.tilknyttedeBrugereField = value; + this.RaisePropertyChanged("TilknyttedeBrugere"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeEnheder", Namespace="urn:oio:sagdok:3.0.0", Order=10)] + public OrganisationEnhedFlerRelationType[] TilknyttedeEnheder { + get { + return this.tilknyttedeEnhederField; + } + set { + this.tilknyttedeEnhederField = value; + this.RaisePropertyChanged("TilknyttedeEnheder"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeFunktioner", Namespace="urn:oio:sagdok:3.0.0", Order=11)] + public OrganisationFunktionFlerRelationType[] TilknyttedeFunktioner { + get { + return this.tilknyttedeFunktionerField; + } + set { + this.tilknyttedeFunktionerField = value; + this.RaisePropertyChanged("TilknyttedeFunktioner"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeInteressefaellesskaber", Namespace="urn:oio:sagdok:3.0.0", Order=12)] + public InteressefaellesskabFlerRelationType[] TilknyttedeInteressefaellesskaber { + get { + return this.tilknyttedeInteressefaellesskaberField; + } + set { + this.tilknyttedeInteressefaellesskaberField = value; + this.RaisePropertyChanged("TilknyttedeInteressefaellesskaber"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeOrganisationer", Namespace="urn:oio:sagdok:3.0.0", Order=13)] + public OrganisationFlerRelationType[] TilknyttedeOrganisationer { + get { + return this.tilknyttedeOrganisationerField; + } + set { + this.tilknyttedeOrganisationerField = value; + this.RaisePropertyChanged("TilknyttedeOrganisationer"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedePersoner", Namespace="urn:oio:sagdok:3.0.0", Order=14)] + public PersonFlerRelationType[] TilknyttedePersoner { + get { + return this.tilknyttedePersonerField; + } + set { + this.tilknyttedePersonerField = value; + this.RaisePropertyChanged("TilknyttedePersoner"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("TilknyttedeItSystemer", Namespace="urn:oio:sagdok:3.0.0", Order=15)] + public ItSystemFlerRelationType[] TilknyttedeItSystemer { + get { + return this.tilknyttedeItSystemerField; + } + set { + this.tilknyttedeItSystemerField = value; + this.RaisePropertyChanged("TilknyttedeItSystemer"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sagdok:3.0.0", Order=16)] + public LokalUdvidelseType LokalUdvidelse { + get { + return this.lokalUdvidelseField; + } + set { + this.lokalUdvidelseField = value; + this.RaisePropertyChanged("LokalUdvidelse"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class AdresseFlerRelationType : FlerRelationType { + + private UnikIdType rolleField; + + private UnikIdType typeField; + + private string indeksField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public UnikIdType Rolle { + get { + return this.rolleField; + } + set { + this.rolleField = value; + this.RaisePropertyChanged("Rolle"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public UnikIdType Type { + get { + return this.typeField; + } + set { + this.typeField = value; + this.RaisePropertyChanged("Type"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public string Indeks { + get { + return this.indeksField; + } + set { + this.indeksField = value; + this.RaisePropertyChanged("Indeks"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArkivFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DokumentFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SagFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ItSystemFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(InteressefaellesskabFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationFunktionFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationEnhedFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(BrugerFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(KlasseFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonFlerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AdresseFlerRelationType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class FlerRelationType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private UnikIdType referenceIDField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public UnikIdType ReferenceID { + get { + return this.referenceIDField; + } + set { + this.referenceIDField = value; + this.RaisePropertyChanged("ReferenceID"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ArkivFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class DokumentFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class PartFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SagFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class AktoerFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ItSystemFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class InteressefaellesskabFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationFunktionFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationEnhedFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class BrugerFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class KlasseFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class PersonFlerRelationType : FlerRelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class KlasseRelationType : RelationType { + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(KlassifikationRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FacetRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DokumentRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SagRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArkivRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(VirksomhedRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationEnhedRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(MyndighedRelationType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(KlasseRelationType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RelationType : object, System.ComponentModel.INotifyPropertyChanged { + + private VirkningType virkningField; + + private UnikIdType referenceIDField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public VirkningType Virkning { + get { + return this.virkningField; + } + set { + this.virkningField = value; + this.RaisePropertyChanged("Virkning"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public UnikIdType ReferenceID { + get { + return this.referenceIDField; + } + set { + this.referenceIDField = value; + this.RaisePropertyChanged("ReferenceID"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class KlassifikationRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class FacetRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class DokumentRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SagRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ArkivRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class AktoerRelationType : RelationType { + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class VirksomhedRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OrganisationEnhedRelationType : RelationType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class MyndighedRelationType : RelationType { + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationEnhedType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LaesFiltreretOutputType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SagDokObjektType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AktoerType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationEnhedType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:part:1.1.3.0")] + public partial class PartType : SagDokObjektType { + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganisationEnhedType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:1.1.3.0")] + public partial class AktoerType : PartType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class OrganisationEnhedType : AktoerType { + + private RegistreringType1[] registreringField; + + /// + [System.Xml.Serialization.XmlElementAttribute("Registrering", Order=0)] + public RegistreringType1[] Registrering { + get { + return this.registreringField; + } + set { + this.registreringField = value; + this.RaisePropertyChanged("Registrering"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LaesFiltreretOutputType : SagDokObjektType { + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class FiltreretOejebliksbilledeType : object, System.ComponentModel.INotifyPropertyChanged { + + private SagDokObjektType objektTypeField; + + private RegistreringType1[] registreringField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public SagDokObjektType ObjektType { + get { + return this.objektTypeField; + } + set { + this.objektTypeField = value; + this.RaisePropertyChanged("ObjektType"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute("Registrering", Order=1)] + public RegistreringType1[] Registrering { + get { + return this.registreringField; + } + set { + this.registreringField = value; + this.RaisePropertyChanged("Registrering"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnikReturType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class StandardReturType : object, System.ComponentModel.INotifyPropertyChanged { + + private string statusKodeField; + + private string fejlbeskedTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)] + public string StatusKode { + get { + return this.statusKodeField; + } + set { + this.statusKodeField = value; + this.RaisePropertyChanged("StatusKode"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string FejlbeskedTekst { + get { + return this.fejlbeskedTekstField; + } + set { + this.fejlbeskedTekstField = value; + this.RaisePropertyChanged("FejlbeskedTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UnikReturType : StandardReturType { + + private string typeField; + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string Type { + get { + return this.typeField; + } + set { + this.typeField = value; + this.RaisePropertyChanged("Type"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LaesOutputType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OpretOutputType))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class BasicOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class LaesOutputType : BasicOutputType { + + private FiltreretOejebliksbilledeType filtreretOejebliksbilledeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public FiltreretOejebliksbilledeType FiltreretOejebliksbillede { + get { + return this.filtreretOejebliksbilledeField; + } + set { + this.filtreretOejebliksbilledeField = value; + this.RaisePropertyChanged("FiltreretOejebliksbillede"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OpretOutputType : BasicOutputType { + + private string uUIDIdentifikatorField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class OpretResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private OpretOutputType opretOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public OpretOutputType OpretOutput { + get { + return this.opretOutputField; + } + set { + this.opretOutputField = value; + this.RaisePropertyChanged("OpretOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OpretInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class OpretInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="OpretInputType", Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class OpretInputType1 : OpretInputType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/")] + public partial class AuthorityContextType : object, System.ComponentModel.INotifyPropertyChanged { + + private string municipalityCVRField; + + /// + public string MunicipalityCVR { + get { + return this.municipalityCVRField; + } + set { + this.municipalityCVRField = value; + this.RaisePropertyChanged("MunicipalityCVR"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/")] + public partial class CallContextType : object, System.ComponentModel.INotifyPropertyChanged { + + private string onBehalfOfUserField; + + private string callersServiceCallIdentifierField; + + private string accountingInfoField; + + /// + public string OnBehalfOfUser { + get { + return this.onBehalfOfUserField; + } + set { + this.onBehalfOfUserField = value; + this.RaisePropertyChanged("OnBehalfOfUser"); + } + } + + /// + public string CallersServiceCallIdentifier { + get { + return this.callersServiceCallIdentifierField; + } + set { + this.callersServiceCallIdentifierField = value; + this.RaisePropertyChanged("CallersServiceCallIdentifier"); + } + } + + /// + public string AccountingInfo { + get { + return this.accountingInfoField; + } + set { + this.accountingInfoField = value; + this.RaisePropertyChanged("AccountingInfo"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class OpretRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private OpretInputType1 opretInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public OpretInputType1 OpretInput { + get { + return this.opretInputField; + } + set { + this.opretInputField = value; + this.RaisePropertyChanged("OpretInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ServiceModel.ServiceContractAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", ConfigurationName="ServiceReference.OrganisationEnhedPortType")] + public interface OrganisationEnhedPortType { + + // CODEGEN: Generating message contract since the operation opret is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/opre" + + "t", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/opre" + + "t", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.opretResponse opret(Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/opre" + + "t", ReplyAction="*")] + System.Threading.Tasks.Task opretAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest request); + + // CODEGEN: Generating message contract since the operation importer is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/impo" + + "rter", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/impo" + + "rter", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.importerResponse importer(Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/impo" + + "rter", ReplyAction="*")] + System.Threading.Tasks.Task importerAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest request); + + // CODEGEN: Generating message contract since the operation passiver is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/pass" + + "iver", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/pass" + + "iver", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.passiverResponse passiver(Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/pass" + + "iver", ReplyAction="*")] + System.Threading.Tasks.Task passiverAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest request); + + // CODEGEN: Generating message contract since the operation laes is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/laes" + + "", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/laes" + + "", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.laesResponse laes(Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/laes" + + "", ReplyAction="*")] + System.Threading.Tasks.Task laesAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest request); + + // CODEGEN: Generating message contract since the operation ret is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/ret", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/ret", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.retResponse ret(Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/ret", ReplyAction="*")] + System.Threading.Tasks.Task retAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest request); + + // CODEGEN: Generating message contract since the operation slet is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/slet" + + "", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/slet" + + "", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.sletResponse slet(Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/slet" + + "", ReplyAction="*")] + System.Threading.Tasks.Task sletAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest request); + + // CODEGEN: Generating message contract since the operation soeg is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/soeg" + + "", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/soeg" + + "", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.soegResponse soeg(Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/soeg" + + "", ReplyAction="*")] + System.Threading.Tasks.Task soegAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest request); + + // CODEGEN: Generating message contract since the operation list is neither RPC nor document wrapped. + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/list" + + "", ReplyAction="*")] + [System.ServiceModel.FaultContractAttribute(typeof(Infrastructure.STS.OrganizationUnit.ServiceReference.ServiceplatformFaultType), Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/list" + + "", Name="ServiceplatformFault", Namespace="http://serviceplatformen.dk/xml/schemas/ServiceplatformFault/1/")] + [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistreringType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BasicOutputType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(FlerRelationType))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(OpretInputType))] + Infrastructure.STS.OrganizationUnit.ServiceReference.listResponse list(Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest request); + + [System.ServiceModel.OperationContractAttribute(Action="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/list" + + "", ReplyAction="*")] + System.Threading.Tasks.Task listAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest request); + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public partial class RequestHeaderType : object, System.ComponentModel.INotifyPropertyChanged { + + private string transactionUUIDField; + + /// + public string TransactionUUID { + get { + return this.transactionUUIDField; + } + set { + this.transactionUUIDField = value; + this.RaisePropertyChanged("TransactionUUID"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class opretRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="OpretRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.OpretRequestType OpretRequest1; + + public opretRequest() { + } + + public opretRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.OpretRequestType OpretRequest1) { + this.RequestHeader = RequestHeader; + this.OpretRequest1 = OpretRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class opretResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="OpretResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.OpretResponseType OpretResponse1; + + public opretResponse() { + } + + public opretResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.OpretResponseType OpretResponse1) { + this.RequestHeader = RequestHeader; + this.OpretResponse1 = OpretResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class ImporterRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private ImportInputType importInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public ImportInputType ImportInput { + get { + return this.importInputField; + } + set { + this.importInputField = value; + this.RaisePropertyChanged("ImportInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class ImportInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private OrganisationEnhedType organisationEnhedField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public OrganisationEnhedType OrganisationEnhed { + get { + return this.organisationEnhedField; + } + set { + this.organisationEnhedField = value; + this.RaisePropertyChanged("OrganisationEnhed"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class ImporterResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType importOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public BasicOutputType ImportOutput { + get { + return this.importOutputField; + } + set { + this.importOutputField = value; + this.RaisePropertyChanged("ImportOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class importerRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ImporterRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterRequestType ImporterRequest1; + + public importerRequest() { + } + + public importerRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterRequestType ImporterRequest1) { + this.RequestHeader = RequestHeader; + this.ImporterRequest1 = ImporterRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class importerResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ImporterResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterResponseType ImporterResponse1; + + public importerResponse() { + } + + public importerResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterResponseType ImporterResponse1) { + this.RequestHeader = RequestHeader; + this.ImporterResponse1 = ImporterResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class PassiverRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private UuidNoteInputType passiverInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public UuidNoteInputType PassiverInput { + get { + return this.passiverInputField; + } + set { + this.passiverInputField = value; + this.RaisePropertyChanged("PassiverInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class UuidNoteInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class PassiverResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType passiverOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public BasicOutputType PassiverOutput { + get { + return this.passiverOutputField; + } + set { + this.passiverOutputField = value; + this.RaisePropertyChanged("PassiverOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class passiverRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="PassiverRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverRequestType PassiverRequest1; + + public passiverRequest() { + } + + public passiverRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverRequestType PassiverRequest1) { + this.RequestHeader = RequestHeader; + this.PassiverRequest1 = PassiverRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class passiverResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="PassiverResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverResponseType PassiverResponse1; + + public passiverResponse() { + } + + public passiverResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverResponseType PassiverResponse1) { + this.RequestHeader = RequestHeader; + this.PassiverResponse1 = PassiverResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class LaesRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private LaesInputType laesInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public LaesInputType LaesInput { + get { + return this.laesInputField; + } + set { + this.laesInputField = value; + this.RaisePropertyChanged("LaesInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class LaesInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private TidspunktType virkningFraFilterField; + + private TidspunktType virkningTilFilterField; + + private TidspunktType registreringFraFilterField; + + private TidspunktType registreringTilFilterField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType VirkningFraFilter { + get { + return this.virkningFraFilterField; + } + set { + this.virkningFraFilterField = value; + this.RaisePropertyChanged("VirkningFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public TidspunktType VirkningTilFilter { + get { + return this.virkningTilFilterField; + } + set { + this.virkningTilFilterField = value; + this.RaisePropertyChanged("VirkningTilFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public TidspunktType RegistreringFraFilter { + get { + return this.registreringFraFilterField; + } + set { + this.registreringFraFilterField = value; + this.RaisePropertyChanged("RegistreringFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public TidspunktType RegistreringTilFilter { + get { + return this.registreringTilFilterField; + } + set { + this.registreringTilFilterField = value; + this.RaisePropertyChanged("RegistreringTilFilter"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class LaesResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private LaesOutputType laesOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public LaesOutputType LaesOutput { + get { + return this.laesOutputField; + } + set { + this.laesOutputField = value; + this.RaisePropertyChanged("LaesOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class laesRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="LaesRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.LaesRequestType LaesRequest1; + + public laesRequest() { + } + + public laesRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.LaesRequestType LaesRequest1) { + this.RequestHeader = RequestHeader; + this.LaesRequest1 = LaesRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class laesResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="LaesResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.LaesResponseType LaesResponse1; + + public laesResponse() { + } + + public laesResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.LaesResponseType LaesResponse1) { + this.RequestHeader = RequestHeader; + this.LaesResponse1 = LaesResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class RetRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private RetInputType1 retInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public RetInputType1 RetInput { + get { + return this.retInputField; + } + set { + this.retInputField = value; + this.RaisePropertyChanged("RetInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="RetInputType", Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class RetInputType1 : RetInputType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RetInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class RetInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string uUIDIdentifikatorField; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public string UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class RetResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType retOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public BasicOutputType RetOutput { + get { + return this.retOutputField; + } + set { + this.retOutputField = value; + this.RaisePropertyChanged("RetOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class retRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="RetRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RetRequestType RetRequest1; + + public retRequest() { + } + + public retRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.RetRequestType RetRequest1) { + this.RequestHeader = RequestHeader; + this.RetRequest1 = RetRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class retResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="RetResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RetResponseType RetResponse1; + + public retResponse() { + } + + public retResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.RetResponseType RetResponse1) { + this.RequestHeader = RequestHeader; + this.RetResponse1 = RetResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class SletRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private UuidNoteInputType sletInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public UuidNoteInputType SletInput { + get { + return this.sletInputField; + } + set { + this.sletInputField = value; + this.RaisePropertyChanged("SletInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class SletResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private BasicOutputType sletOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public BasicOutputType SletOutput { + get { + return this.sletOutputField; + } + set { + this.sletOutputField = value; + this.RaisePropertyChanged("SletOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class sletRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SletRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.SletRequestType SletRequest1; + + public sletRequest() { + } + + public sletRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SletRequestType SletRequest1) { + this.RequestHeader = RequestHeader; + this.SletRequest1 = SletRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class sletResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SletResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.SletResponseType SletResponse1; + + public sletResponse() { + } + + public sletResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SletResponseType SletResponse1) { + this.RequestHeader = RequestHeader; + this.SletResponse1 = SletResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class SoegRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private SoegInputType1 soegInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public SoegInputType1 SoegInput { + get { + return this.soegInputField; + } + set { + this.soegInputField = value; + this.RaisePropertyChanged("SoegInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="SoegInputType", Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class SoegInputType1 : SoegInputType { + + private AttributListeType attributListeField; + + private TilstandListeType tilstandListeField; + + private RelationListeType relationListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public AttributListeType AttributListe { + get { + return this.attributListeField; + } + set { + this.attributListeField = value; + this.RaisePropertyChanged("AttributListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TilstandListeType TilstandListe { + get { + return this.tilstandListeField; + } + set { + this.tilstandListeField = value; + this.RaisePropertyChanged("TilstandListe"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public RelationListeType RelationListe { + get { + return this.relationListeField; + } + set { + this.relationListeField = value; + this.RaisePropertyChanged("RelationListe"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SoegInputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string foersteResultatReferenceField; + + private string maksimalAntalKvantitetField; + + private SoegRegistreringType soegRegistreringField; + + private SoegVirkningType soegVirkningField; + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)] + public string FoersteResultatReference { + get { + return this.foersteResultatReferenceField; + } + set { + this.foersteResultatReferenceField = value; + this.RaisePropertyChanged("FoersteResultatReference"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=1)] + public string MaksimalAntalKvantitet { + get { + return this.maksimalAntalKvantitetField; + } + set { + this.maksimalAntalKvantitetField = value; + this.RaisePropertyChanged("MaksimalAntalKvantitet"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public SoegRegistreringType SoegRegistrering { + get { + return this.soegRegistreringField; + } + set { + this.soegRegistreringField = value; + this.RaisePropertyChanged("SoegRegistrering"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public SoegVirkningType SoegVirkning { + get { + return this.soegVirkningField; + } + set { + this.soegVirkningField = value; + this.RaisePropertyChanged("SoegVirkning"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegRegistreringType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private LivscyklusKodeType livscyklusKodeField; + + private bool livscyklusKodeFieldSpecified; + + private UnikIdType brugerRefField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public LivscyklusKodeType LivscyklusKode { + get { + return this.livscyklusKodeField; + } + set { + this.livscyklusKodeField = value; + this.RaisePropertyChanged("LivscyklusKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LivscyklusKodeSpecified { + get { + return this.livscyklusKodeFieldSpecified; + } + set { + this.livscyklusKodeFieldSpecified = value; + this.RaisePropertyChanged("LivscyklusKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public UnikIdType BrugerRef { + get { + return this.brugerRefField; + } + set { + this.brugerRefField = value; + this.RaisePropertyChanged("BrugerRef"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegVirkningType : object, System.ComponentModel.INotifyPropertyChanged { + + private TidspunktType fraTidspunktField; + + private TidspunktType tilTidspunktField; + + private UnikIdType aktoerRefField; + + private AktoerTypeKodeType aktoerTypeKodeField; + + private bool aktoerTypeKodeFieldSpecified; + + private string noteTekstField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public TidspunktType FraTidspunkt { + get { + return this.fraTidspunktField; + } + set { + this.fraTidspunktField = value; + this.RaisePropertyChanged("FraTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType TilTidspunkt { + get { + return this.tilTidspunktField; + } + set { + this.tilTidspunktField = value; + this.RaisePropertyChanged("TilTidspunkt"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public UnikIdType AktoerRef { + get { + return this.aktoerRefField; + } + set { + this.aktoerRefField = value; + this.RaisePropertyChanged("AktoerRef"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public AktoerTypeKodeType AktoerTypeKode { + get { + return this.aktoerTypeKodeField; + } + set { + this.aktoerTypeKodeField = value; + this.RaisePropertyChanged("AktoerTypeKode"); + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AktoerTypeKodeSpecified { + get { + return this.aktoerTypeKodeFieldSpecified; + } + set { + this.aktoerTypeKodeFieldSpecified = value; + this.RaisePropertyChanged("AktoerTypeKodeSpecified"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public string NoteTekst { + get { + return this.noteTekstField; + } + set { + this.noteTekstField = value; + this.RaisePropertyChanged("NoteTekst"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class SoegResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private SoegOutputType soegOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public SoegOutputType SoegOutput { + get { + return this.soegOutputField; + } + set { + this.soegOutputField = value; + this.RaisePropertyChanged("SoegOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class SoegOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + private string[] idListeField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + /// + [System.Xml.Serialization.XmlArrayAttribute(Order=1)] + [System.Xml.Serialization.XmlArrayItemAttribute("UUIDIdentifikator", IsNullable=false)] + public string[] IdListe { + get { + return this.idListeField; + } + set { + this.idListeField = value; + this.RaisePropertyChanged("IdListe"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class soegRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SoegRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.SoegRequestType SoegRequest1; + + public soegRequest() { + } + + public soegRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SoegRequestType SoegRequest1) { + this.RequestHeader = RequestHeader; + this.SoegRequest1 = SoegRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class soegResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="SoegResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.SoegResponseType SoegResponse1; + + public soegResponse() { + } + + public soegResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SoegResponseType SoegResponse1) { + this.RequestHeader = RequestHeader; + this.SoegResponse1 = SoegResponse1; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class ListRequestType : object, System.ComponentModel.INotifyPropertyChanged { + + private CallContextType callContextField; + + private AuthorityContextType authorityContextField; + + private ListInputType listInputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/CallContext/1/", Order=0)] + public CallContextType CallContext { + get { + return this.callContextField; + } + set { + this.callContextField = value; + this.RaisePropertyChanged("CallContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="http://serviceplatformen.dk/xml/schemas/AuthorityContext/1/", Order=1)] + public AuthorityContextType AuthorityContext { + get { + return this.authorityContextField; + } + set { + this.authorityContextField = value; + this.RaisePropertyChanged("AuthorityContext"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=2)] + public ListInputType ListInput { + get { + return this.listInputField; + } + set { + this.listInputField = value; + this.RaisePropertyChanged("ListInput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ListInputType : object, System.ComponentModel.INotifyPropertyChanged { + + private string[] uUIDIdentifikatorField; + + private TidspunktType virkningFraFilterField; + + private TidspunktType virkningTilFilterField; + + private TidspunktType registreringFraFilterField; + + private TidspunktType registreringTilFilterField; + + /// + [System.Xml.Serialization.XmlElementAttribute("UUIDIdentifikator", Order=0)] + public string[] UUIDIdentifikator { + get { + return this.uUIDIdentifikatorField; + } + set { + this.uUIDIdentifikatorField = value; + this.RaisePropertyChanged("UUIDIdentifikator"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=1)] + public TidspunktType VirkningFraFilter { + get { + return this.virkningFraFilterField; + } + set { + this.virkningFraFilterField = value; + this.RaisePropertyChanged("VirkningFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=2)] + public TidspunktType VirkningTilFilter { + get { + return this.virkningTilFilterField; + } + set { + this.virkningTilFilterField = value; + this.RaisePropertyChanged("VirkningTilFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=3)] + public TidspunktType RegistreringFraFilter { + get { + return this.registreringFraFilterField; + } + set { + this.registreringFraFilterField = value; + this.RaisePropertyChanged("RegistreringFraFilter"); + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=4)] + public TidspunktType RegistreringTilFilter { + get { + return this.registreringTilFilterField; + } + set { + this.registreringTilFilterField = value; + this.RaisePropertyChanged("RegistreringTilFilter"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/")] + public partial class ListResponseType : object, System.ComponentModel.INotifyPropertyChanged { + + private ListOutputType1 listOutputField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0", Order=0)] + public ListOutputType1 ListOutput { + get { + return this.listOutputField; + } + set { + this.listOutputField = value; + this.RaisePropertyChanged("ListOutput"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(TypeName="ListOutputType", Namespace="urn:oio:sts:organisation:organisationenhed:1.1.3.0")] + public partial class ListOutputType1 : ListOutputType { + + private FiltreretOejebliksbilledeType[] filtreretOejebliksbilledeField; + + /// + [System.Xml.Serialization.XmlElementAttribute("FiltreretOejebliksbillede", Order=0)] + public FiltreretOejebliksbilledeType[] FiltreretOejebliksbillede { + get { + return this.filtreretOejebliksbilledeField; + } + set { + this.filtreretOejebliksbilledeField = value; + this.RaisePropertyChanged("FiltreretOejebliksbillede"); + } + } + } + + /// + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ListOutputType1))] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oio:sagdok:3.0.0")] + public partial class ListOutputType : object, System.ComponentModel.INotifyPropertyChanged { + + private StandardReturType standardReturField; + + /// + [System.Xml.Serialization.XmlElementAttribute(Order=0)] + public StandardReturType StandardRetur { + get { + return this.standardReturField; + } + set { + this.standardReturField = value; + this.RaisePropertyChanged("StandardRetur"); + } + } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + protected void RaisePropertyChanged(string propertyName) { + System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; + if ((propertyChanged != null)) { + propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class listRequest { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ListRequest", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.ListRequestType ListRequest1; + + public listRequest() { + } + + public listRequest(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ListRequestType ListRequest1) { + this.RequestHeader = RequestHeader; + this.ListRequest1 = ListRequest1; + } + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] + public partial class listResponse { + + [System.ServiceModel.MessageHeaderAttribute(Namespace="http://kombit.dk/xml/schemas/RequestHeader/1/")] + public Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader; + + [System.ServiceModel.MessageBodyMemberAttribute(Name="ListResponse", Namespace="http://serviceplatformen.dk/xml/wsdl/soap11/Organisation/OrganisationEnhed/5/", Order=0)] + public Infrastructure.STS.OrganizationUnit.ServiceReference.ListResponseType ListResponse1; + + public listResponse() { + } + + public listResponse(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ListResponseType ListResponse1) { + this.RequestHeader = RequestHeader; + this.ListResponse1 = ListResponse1; + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public interface OrganisationEnhedPortTypeChannel : Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType, System.ServiceModel.IClientChannel { + } + + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] + public partial class OrganisationEnhedPortTypeClient : System.ServiceModel.ClientBase, Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType { + + public OrganisationEnhedPortTypeClient() { + } + + public OrganisationEnhedPortTypeClient(string endpointConfigurationName) : + base(endpointConfigurationName) { + } + + public OrganisationEnhedPortTypeClient(string endpointConfigurationName, string remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public OrganisationEnhedPortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : + base(endpointConfigurationName, remoteAddress) { + } + + public OrganisationEnhedPortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : + base(binding, remoteAddress) { + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.opretResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.opret(Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest request) { + return base.Channel.opret(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.OpretResponseType opret(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.OpretRequestType OpretRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest(); + inValue.RequestHeader = RequestHeader; + inValue.OpretRequest1 = OpretRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.opretResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).opret(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.OpretResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.opretAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest request) { + return base.Channel.opretAsync(request); + } + + public System.Threading.Tasks.Task opretAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.OpretRequestType OpretRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.opretRequest(); + inValue.RequestHeader = RequestHeader; + inValue.OpretRequest1 = OpretRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).opretAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.importerResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.importer(Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest request) { + return base.Channel.importer(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterResponseType importer(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterRequestType ImporterRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ImporterRequest1 = ImporterRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.importerResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).importer(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.ImporterResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.importerAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest request) { + return base.Channel.importerAsync(request); + } + + public System.Threading.Tasks.Task importerAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ImporterRequestType ImporterRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.importerRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ImporterRequest1 = ImporterRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).importerAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.passiverResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.passiver(Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest request) { + return base.Channel.passiver(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverResponseType passiver(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverRequestType PassiverRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest(); + inValue.RequestHeader = RequestHeader; + inValue.PassiverRequest1 = PassiverRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.passiverResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).passiver(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.PassiverResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.passiverAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest request) { + return base.Channel.passiverAsync(request); + } + + public System.Threading.Tasks.Task passiverAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.PassiverRequestType PassiverRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.passiverRequest(); + inValue.RequestHeader = RequestHeader; + inValue.PassiverRequest1 = PassiverRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).passiverAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.laesResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.laes(Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest request) { + return base.Channel.laes(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.LaesResponseType laes(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.LaesRequestType LaesRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest(); + inValue.RequestHeader = RequestHeader; + inValue.LaesRequest1 = LaesRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.laesResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).laes(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.LaesResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.laesAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest request) { + return base.Channel.laesAsync(request); + } + + public System.Threading.Tasks.Task laesAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.LaesRequestType LaesRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.laesRequest(); + inValue.RequestHeader = RequestHeader; + inValue.LaesRequest1 = LaesRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).laesAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.retResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.ret(Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest request) { + return base.Channel.ret(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.RetResponseType ret(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.RetRequestType RetRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest(); + inValue.RequestHeader = RequestHeader; + inValue.RetRequest1 = RetRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.retResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).ret(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.RetResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.retAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest request) { + return base.Channel.retAsync(request); + } + + public System.Threading.Tasks.Task retAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.RetRequestType RetRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.retRequest(); + inValue.RequestHeader = RequestHeader; + inValue.RetRequest1 = RetRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).retAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.sletResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.slet(Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest request) { + return base.Channel.slet(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.SletResponseType slet(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SletRequestType SletRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SletRequest1 = SletRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.sletResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).slet(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.SletResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.sletAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest request) { + return base.Channel.sletAsync(request); + } + + public System.Threading.Tasks.Task sletAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SletRequestType SletRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.sletRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SletRequest1 = SletRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).sletAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.soegResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.soeg(Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest request) { + return base.Channel.soeg(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.SoegResponseType soeg(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SoegRequestType SoegRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SoegRequest1 = SoegRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.soegResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).soeg(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.SoegResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.soegAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest request) { + return base.Channel.soegAsync(request); + } + + public System.Threading.Tasks.Task soegAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.SoegRequestType SoegRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.soegRequest(); + inValue.RequestHeader = RequestHeader; + inValue.SoegRequest1 = SoegRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).soegAsync(inValue); + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + Infrastructure.STS.OrganizationUnit.ServiceReference.listResponse Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.list(Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest request) { + return base.Channel.list(request); + } + + public Infrastructure.STS.OrganizationUnit.ServiceReference.ListResponseType list(ref Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ListRequestType ListRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ListRequest1 = ListRequest1; + Infrastructure.STS.OrganizationUnit.ServiceReference.listResponse retVal = ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).list(inValue); + RequestHeader = retVal.RequestHeader; + return retVal.ListResponse1; + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + System.Threading.Tasks.Task Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType.listAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest request) { + return base.Channel.listAsync(request); + } + + public System.Threading.Tasks.Task listAsync(Infrastructure.STS.OrganizationUnit.ServiceReference.RequestHeaderType RequestHeader, Infrastructure.STS.OrganizationUnit.ServiceReference.ListRequestType ListRequest1) { + Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest inValue = new Infrastructure.STS.OrganizationUnit.ServiceReference.listRequest(); + inValue.RequestHeader = RequestHeader; + inValue.ListRequest1 = ListRequest1; + return ((Infrastructure.STS.OrganizationUnit.ServiceReference.OrganisationEnhedPortType)(this)).listAsync(inValue); + } + } +} diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Reference.svcmap b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Reference.svcmap new file mode 100644 index 0000000000..b1681cf0a3 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/Reference.svcmap @@ -0,0 +1,43 @@ + + + + false + true + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/RequestHeader.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/RequestHeader.xsd new file mode 100644 index 0000000000..86cc4c8882 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/RequestHeader.xsd @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/SagDokObjekt.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/SagDokObjekt.xsd new file mode 100644 index 0000000000..7d028a840d --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/SagDokObjekt.xsd @@ -0,0 +1,803 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl new file mode 100644 index 0000000000..7b2666e388 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/ServiceplatformFaultMessage.wsdl @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/ServiceplatformFault_1.xsd b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/ServiceplatformFault_1.xsd new file mode 100644 index 0000000000..b0b7ce41e9 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/ServiceplatformFault_1.xsd @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/configuration.svcinfo b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/configuration.svcinfo new file mode 100644 index 0000000000..b20b0d4b49 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/configuration.svcinfo @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/configuration91.svcinfo b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/configuration91.svcinfo new file mode 100644 index 0000000000..9af0f9a02b --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/configuration91.svcinfo @@ -0,0 +1,310 @@ + + + + + + + OrganisationEnhedBinding + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + Transport + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + OrganisationEnhedBinding1 + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + + + https://localhost:8080/service/Organisation/OrganisationEnhed/5 + + + + + + basicHttpBinding + + + OrganisationEnhedBinding + + + ServiceReference.OrganisationEnhedPortType + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + OrganisationEnhedPort + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/policies.wsdl b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/policies.wsdl new file mode 100644 index 0000000000..ff60ad349b --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Connected Services/ServiceReference/policies.wsdl @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/DomainServices/StsOrganizationUnitService.cs b/Infrastructure.STS.OrganizationUnit/DomainServices/StsOrganizationUnitService.cs new file mode 100644 index 0000000000..6165947a6f --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/DomainServices/StsOrganizationUnitService.cs @@ -0,0 +1,256 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Cryptography.X509Certificates; +using System.ServiceModel; +using Core.Abstractions.Types; +using Core.DomainModel.Organization; +using Core.DomainServices.Model.StsOrganization; +using Core.DomainServices.Organizations; +using Core.DomainServices.SSO; +using Infrastructure.STS.Common.Factories; +using Infrastructure.STS.Common.Model; +using Infrastructure.STS.OrganizationUnit.ServiceReference; +using Serilog; + +namespace Infrastructure.STS.OrganizationUnit.DomainServices +{ + public class StsOrganizationUnitService : IStsOrganizationUnitService + { + private readonly IStsOrganizationService _organizationService; + private readonly ILogger _logger; + private readonly string _certificateThumbprint; + private readonly string _serviceRoot; + + public StsOrganizationUnitService(IStsOrganizationService organizationService, StsOrganisationIntegrationConfiguration configuration, ILogger logger) + { + _organizationService = organizationService; + _logger = logger; + _certificateThumbprint = configuration.CertificateThumbprint; + _serviceRoot = $"https://{configuration.EndpointHost}/service/Organisation/OrganisationEnhed/5"; + } + + public Result> ResolveOrganizationTree(Organization organization) + { + //Resolve the org uuid + var uuid = _organizationService.ResolveStsOrganizationUuid(organization); + if (uuid.Failed) + { + var error = uuid.Error; + _logger.Error("Loading sts organization uuid from org with id: {id} failed with {detailedError} {errorCode} {errorMessage}", organization.Id, error.Detail, error.FailureType, error.Message); + return new DetailedOperationError(error.FailureType, ResolveOrganizationTreeError.FailedResolvingUuid, $"{error.Detail}:{error.Message}"); + } + + //Search for org units by org uuid + using var clientCertificate = X509CertificateClientCertificateFactory.GetClientCertificate(_certificateThumbprint); + using var client = CreateClient(BasicHttpBindingFactory.CreateHttpBinding(), _serviceRoot, clientCertificate); + + var channel = client.ChannelFactory.CreateChannel(); + + const int pageSize = 100; + var totalIds = new List(); + var totalResults = new List<(Guid, RegistreringType1)>(); + var currentPage = new List(); + var organizationStsUuid = uuid.Value; + do + { + currentPage.Clear(); + var searchRequest = CreateSearchOrgUnitsByOrgUuidRequest(organization.Cvr, organizationStsUuid, pageSize, totalIds.Count); + var searchResponse = channel.soeg(searchRequest); + + var searchStatusResult = searchResponse.SoegResponse1.SoegOutput.StandardRetur; + var stsError = searchStatusResult.StatusKode.ParseStsError(); + if (stsError.HasValue) + { + _logger.Error("Failed to search for org units for org with sts uuid: {stsuuid} failed with {code} {message}", organizationStsUuid, searchStatusResult.StatusKode, searchStatusResult.FejlbeskedTekst); + return new DetailedOperationError(OperationFailure.UnknownError, ResolveOrganizationTreeError.FailedSearchingForOrgUnits); + + } + + currentPage = searchResponse.SoegResponse1.SoegOutput.IdListe.ToList(); + totalIds.AddRange(currentPage); + + var listRequest = CreateListOrgUnitsRequest(organization.Cvr, currentPage.ToArray()); + var listResponse = channel.list(listRequest); + + + var listStatusResult = listResponse.ListResponse1.ListOutput.StandardRetur; + var listStsError = listStatusResult.StatusKode.ParseStsError(); + if (listStsError.HasValue) + { + _logger.Error("Failed to list units for org units for org with sts uuid: {stsuuid} and unit uuids: {uuids} failed with {code} {message}", organizationStsUuid, string.Join(",", currentPage), listStatusResult.StatusKode, listStatusResult.FejlbeskedTekst); + return new DetailedOperationError(OperationFailure.UnknownError, ResolveOrganizationTreeError.FailedLoadingOrgUnits); + + } + + var units = listResponse + .ListResponse1 + .ListOutput + .FiltreretOejebliksbillede + .Select(snapshot => (new Guid(snapshot.ObjektType.UUIDIdentifikator), snapshot.Registrering.OrderByDescending(x => x.Tidspunkt).FirstOrDefault())) + .Where(x => x.Item2 != null); + + totalResults.AddRange(units); + + } while (currentPage.Count == pageSize); + + // Prepare conversion to import tree + var unitsByUuid = totalResults.ToDictionary(unit => unit.Item1); + var unitsByParent = totalResults + .Where(x => x.Item2.RelationListe.Overordnet != null) // exclude the root + .GroupBy(unit => new Guid(unit.Item2.RelationListe.Overordnet.ReferenceID.Item)) + .ToDictionary(grouping => grouping.Key, grouping => grouping.ToList()); + var roots = totalResults.Where(x => x.Item2.RelationListe.Overordnet == null).ToList(); + if (roots.Count != 1) + { + _logger.Error("Failed validating units for org with sts uuid: {stsuuid}. Expected one root but found: {roots}", organizationStsUuid, string.Join(",", roots.Select(x => x.Item1.ToString("D")).ToList())); + return new DetailedOperationError(OperationFailure.UnknownError, ResolveOrganizationTreeError.OrgTreeHasMultipleRoots); + } + + // Process the tree info from sts org in order to generate the import tree + var parentIdToConvertedChildren = new Dictionary>(); + var idToConvertedChildren = new Dictionary(); + var root = roots.Single(); + + var processingStack = CreateOrgUnitConversionStack(root, unitsByParent); + + while (processingStack.Any()) + { + var currentUnitUuid = processingStack.Pop(); + (Guid, RegistreringType1) unit = unitsByUuid[currentUnitUuid]; + + var egenskabType = unit.Item2.AttributListe.Egenskab.First(x => string.IsNullOrEmpty(x.EnhedNavn) == false); + var unitUuid = unit.Item1; + var organizationUnit = new StsOrganizationUnit(unitUuid, egenskabType.EnhedNavn, egenskabType.BrugervendtNoegleTekst, parentIdToConvertedChildren.ContainsKey(unitUuid) ? parentIdToConvertedChildren[unitUuid] : new List(0)); + idToConvertedChildren[organizationUnit.Uuid] = organizationUnit; + var parentUnit = unit.Item2.RelationListe.Overordnet; + if (parentUnit != null) + { + var parentId = new Guid(parentUnit.ReferenceID.Item); + if (!parentIdToConvertedChildren.TryGetValue(parentId, out var parentToChildrenList)) + { + parentToChildrenList = new List(); + parentIdToConvertedChildren[parentId] = parentToChildrenList; + } + parentToChildrenList.Add(organizationUnit); + } + } + + return idToConvertedChildren[root.Item1]; + + } + + private static Stack CreateOrgUnitConversionStack((Guid, RegistreringType1) root, Dictionary> unitsByParent) + { + var processingStack = new Stack(); + processingStack.Push(root.Item1); + + //Flatten the tree and have the leafs at the top of the stack + var currentChildren = unitsByParent[processingStack.Peek()]; + foreach (var currentChild in currentChildren) + { + foreach (var unitId in GetSubTree(currentChild, unitsByParent)) + { + processingStack.Push(unitId); + } + } + + return processingStack; + } + + private static IEnumerable GetSubTree((Guid, RegistreringType1) currentChild, Dictionary> unitsByParent) + { + var id = currentChild.Item1; + + //Current level + yield return id; + + //Append the sub tree + if (unitsByParent.TryGetValue(id, out var children)) + { + foreach (var child in children) + { + foreach (var uuid in GetSubTree(child, unitsByParent)) + { + yield return uuid; + } + + } + } + } + + public static listRequest CreateListOrgUnitsRequest(string municipalityCvr, params string[] currentUnitUuids) + { + var listRequest = new listRequest + { + ListRequest1 = new ListRequestType + { + AuthorityContext = new AuthorityContextType + { + MunicipalityCVR = municipalityCvr + }, + ListInput = new ListInputType + { + UUIDIdentifikator = currentUnitUuids + } + } + }; + return listRequest; + } + + public static soegRequest CreateSearchOrgUnitsByOrgUuidRequest(string municipalityCvr, Guid organizationUuid, int pageSize, int skip = 0) + { + return new soegRequest + { + SoegRequest1 = new SoegRequestType + { + AuthorityContext = new AuthorityContextType + { + MunicipalityCVR = municipalityCvr + }, + SoegInput = new SoegInputType1 + { + AttributListe = new AttributListeType(), //Required by schema validation + TilstandListe = new TilstandListeType() + { + Gyldighed = new GyldighedType[] + { + new() + { + GyldighedStatusKode = GyldighedStatusKodeType.Aktiv + } + } + }, //Required by schema validation + RelationListe = new RelationListeType + { + Tilhoerer = new OrganisationRelationType + { + ReferenceID = new UnikIdType + { + Item = organizationUuid.ToString("D"), + ItemElementName = ItemChoiceType.UUIDIdentifikator + } + } + }, + MaksimalAntalKvantitet = pageSize.ToString("D"), + FoersteResultatReference = skip.ToString("D") + } + } + }; + } + + private static OrganisationEnhedPortTypeClient CreateClient(BasicHttpBinding binding, string urlServicePlatformService, X509Certificate2 certificate) + { + return new OrganisationEnhedPortTypeClient(binding, new EndpointAddress(urlServicePlatformService)) + { + ClientCredentials = + { + ClientCertificate = + { + Certificate = certificate + } + } + }; + } + } +} diff --git a/Infrastructure.STS.OrganizationUnit/Infrastructure.STS.OrganizationUnit.csproj b/Infrastructure.STS.OrganizationUnit/Infrastructure.STS.OrganizationUnit.csproj new file mode 100644 index 0000000000..e0e024c2da --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Infrastructure.STS.OrganizationUnit.csproj @@ -0,0 +1,184 @@ + + + + + Debug + AnyCPU + {77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8} + Library + Properties + Infrastructure.STS.OrganizationUnit + Infrastructure.STS.OrganizationUnit + v4.8 + 512 + true + latest + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Serilog.2.9.0\lib\net46\Serilog.dll + + + + + + + + + + + + + + + True + True + Reference.svcmap + + + + + + + + + + + Designer + + + Designer + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Designer + + + Designer + + + + Designer + + + Designer + + + Designer + + + + Designer + + + Designer + + + + Designer + + + + + + + + + + + + + + + + WCF Proxy Generator + Reference.cs + + + + + {BD8C90E7-52C7-4AD0-935D-98A2AA89E449} + Core.Abstractions + + + {A76A8E41-74F7-4443-A5F3-059B5414D83B} + Core.DomainModel + + + {ADCACC1D-F538-464C-9102-F4C1D6FA35D3} + Core.DomainServices + + + {423D7522-4882-4438-94F4-7B3F5778C83F} + Infrastructure.STS.Common + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/Properties/AssemblyInfo.cs b/Infrastructure.STS.OrganizationUnit/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..d7cf0f8cfc --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Infrastructure.STS.OrganizationUnit")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Infrastructure.STS.OrganizationUnit")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("77c5bedb-cc7f-4d6f-bf34-ec72b57c03c8")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Infrastructure.STS.OrganizationUnit/Readme.md b/Infrastructure.STS.OrganizationUnit/Readme.md new file mode 100644 index 0000000000..4b7381bafe --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/Readme.md @@ -0,0 +1,3 @@ +"ServiceContract" is generated based on service contract downloaded from this: https://www.serviceplatformen.dk/administration/serviceOverview/show?uuid=38edf5ee-2702-4205-ba6f-ac94f576b606 + +Web service proxy is generated based on `ServiceContract\wsdl\context\OrganisationEnhedService.wsdl` \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/app.config b/Infrastructure.STS.OrganizationUnit/app.config new file mode 100644 index 0000000000..f6e7fff023 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/app.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure.STS.OrganizationUnit/packages.config b/Infrastructure.STS.OrganizationUnit/packages.config new file mode 100644 index 0000000000..5f94a3bbf7 --- /dev/null +++ b/Infrastructure.STS.OrganizationUnit/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Infrastructure.Services/BackgroundJobs/IBackgroundJobLauncher.cs b/Infrastructure.Services/BackgroundJobs/IBackgroundJobLauncher.cs index 013e40fabc..fe50d59c8b 100644 --- a/Infrastructure.Services/BackgroundJobs/IBackgroundJobLauncher.cs +++ b/Infrastructure.Services/BackgroundJobs/IBackgroundJobLauncher.cs @@ -12,5 +12,6 @@ public interface IBackgroundJobLauncher Task LaunchUpdateItSystemUsageOverviewReadModels(CancellationToken token = default); Task LaunchFullReadModelRebuild(ReadModelRebuildScope scope, CancellationToken token); Task LaunchPurgeDuplicatedReadModelUpdates(CancellationToken token); + Task LaunchUpdateStaleSystemUsageRmAsync(CancellationToken token = default); } } diff --git a/Infrastructure.Services/Http/EndpointValidationErrorType.cs b/Infrastructure.Services/Http/EndpointValidationErrorType.cs index 93338c3b24..9c93e1721c 100644 --- a/Infrastructure.Services/Http/EndpointValidationErrorType.cs +++ b/Infrastructure.Services/Http/EndpointValidationErrorType.cs @@ -6,6 +6,7 @@ public enum EndpointValidationErrorType InvalidWebsiteUri = 1, DnsLookupFailed = 2, CommunicationError = 3, - ErrorResponseCode = 4 + ErrorResponseCode = 4, + TlsError = 5 } } diff --git a/Infrastructure.Services/Http/EndpointValidationService.cs b/Infrastructure.Services/Http/EndpointValidationService.cs index 7aefc225a2..c65c4659f5 100644 --- a/Infrastructure.Services/Http/EndpointValidationService.cs +++ b/Infrastructure.Services/Http/EndpointValidationService.cs @@ -15,11 +15,14 @@ public class EndpointValidationService : IEndpointValidationService { private const string ChromeUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"; private const string AnyMediaType = "*/*"; + private const string EXCEPTION_TEXT_CouldNotCreateSslTlsSecureChannel = "Could not create SSL/TLS secure channel"; + private static readonly IEnumerable ErrorContentWhichShouldNotBeRetried = new[] { "Unable to connect to the remote server", "An existing connection was forcibly closed by the remote host", - "The remote name could not be resolved" + "The remote name could not be resolved", + EXCEPTION_TEXT_CouldNotCreateSslTlsSecureChannel }; private readonly ILogger _logger; @@ -98,8 +101,18 @@ public async Task ValidateAsync(string url) _logger.Information(e, "Failed to validate url {url}", url); //This is typically where we end up if we get a connection timeout or other type of communication error where the http client is unable to proceed - return new EndpointValidation(url, new EndpointValidationError(EndpointValidationErrorType.CommunicationError)); + return new EndpointValidation(url, new EndpointValidationError(MapExceptionError(e))); + } + } + + private static EndpointValidationErrorType MapExceptionError(Exception exception) + { + var chain = BuildExceptionChain(exception); + if (chain.IndexOf(EXCEPTION_TEXT_CouldNotCreateSslTlsSecureChannel, StringComparison.OrdinalIgnoreCase) != -1) + { + return EndpointValidationErrorType.TlsError; } + return EndpointValidationErrorType.CommunicationError; } private Task LoadEndpointWithBackOffRetryAsync(Uri uri) diff --git a/Infrastructure.Soap/Adresse/AdresseServiceMsg.xsd b/Infrastructure.Soap/Adresse/AdresseServiceMsg.xsd deleted file mode 100644 index fa2bb65606..0000000000 --- a/Infrastructure.Soap/Adresse/AdresseServiceMsg.xsd +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/Adresse.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/Adresse.xsd deleted file mode 100644 index 62a0cf681d..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/Adresse.xsd +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/AdresseBesked.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/AdresseBesked.xsd deleted file mode 100644 index be480e6256..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/AdresseBesked.xsd +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/AdresseOperationer.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/AdresseOperationer.xsd deleted file mode 100644 index 168cea8ca0..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/AdresseOperationer.xsd +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/GenerelleDefinitioner.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/GenerelleDefinitioner.xsd deleted file mode 100644 index ef7604df82..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/GenerelleDefinitioner.xsd +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/OrganisationFaelles.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/OrganisationFaelles.xsd deleted file mode 100644 index e8e1d1b218..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/OrganisationFaelles.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/Part.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/Part.xsd deleted file mode 100644 index a6b994566c..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/1.1.STS-3/Part.xsd +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/common/RequestHeader.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/common/RequestHeader.xsd deleted file mode 100644 index 6b8579c4b9..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/common/RequestHeader.xsd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/common/SagDokObjekt.xsd b/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/common/SagDokObjekt.xsd deleted file mode 100644 index 6962705066..0000000000 --- a/Infrastructure.Soap/Adresse/SF1500_EP_FS1/xsd/common/SagDokObjekt.xsd +++ /dev/null @@ -1,1059 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/sp/AuthorityContext_1.xsd b/Infrastructure.Soap/Adresse/sp/AuthorityContext_1.xsd deleted file mode 100644 index 5346245539..0000000000 --- a/Infrastructure.Soap/Adresse/sp/AuthorityContext_1.xsd +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/sp/CallContext_1.xsd b/Infrastructure.Soap/Adresse/sp/CallContext_1.xsd deleted file mode 100644 index 545b0beffc..0000000000 --- a/Infrastructure.Soap/Adresse/sp/CallContext_1.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/sp/InvocationContext_1.xsd b/Infrastructure.Soap/Adresse/sp/InvocationContext_1.xsd deleted file mode 100644 index e7ab223045..0000000000 --- a/Infrastructure.Soap/Adresse/sp/InvocationContext_1.xsd +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/sp/ServiceplatformFaultMessage_1.wsdl b/Infrastructure.Soap/Adresse/sp/ServiceplatformFaultMessage_1.wsdl deleted file mode 100644 index d0d0592848..0000000000 --- a/Infrastructure.Soap/Adresse/sp/ServiceplatformFaultMessage_1.wsdl +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/sp/ServiceplatformFault_1.xsd b/Infrastructure.Soap/Adresse/sp/ServiceplatformFault_1.xsd deleted file mode 100644 index 92b85d4711..0000000000 --- a/Infrastructure.Soap/Adresse/sp/ServiceplatformFault_1.xsd +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/sp/service.properties b/Infrastructure.Soap/Adresse/sp/service.properties deleted file mode 100644 index 27b992c9c6..0000000000 --- a/Infrastructure.Soap/Adresse/sp/service.properties +++ /dev/null @@ -1,6 +0,0 @@ -service.uuid=266d138d-d314-441f-9bd1-a32ecf95a028 -service.entityID=http://organisation.serviceplatformen.dk/service/organisation/5 -service.token.wsdl.path= -service.context.wsdl.path= -service.class= -service.endpoint= \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/wsdl/context/AdresseService.wsdl b/Infrastructure.Soap/Adresse/wsdl/context/AdresseService.wsdl deleted file mode 100644 index 13171c70ae..0000000000 --- a/Infrastructure.Soap/Adresse/wsdl/context/AdresseService.wsdl +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/wsdl/context/policies.wsdl b/Infrastructure.Soap/Adresse/wsdl/context/policies.wsdl deleted file mode 100644 index fb482aab5a..0000000000 --- a/Infrastructure.Soap/Adresse/wsdl/context/policies.wsdl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Adresse/wsdl/token/AdresseService.wsdl b/Infrastructure.Soap/Adresse/wsdl/token/AdresseService.wsdl deleted file mode 100644 index 13171c70ae..0000000000 --- a/Infrastructure.Soap/Adresse/wsdl/token/AdresseService.wsdl +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Adresse/wsdl/token/policies.wsdl b/Infrastructure.Soap/Adresse/wsdl/token/policies.wsdl deleted file mode 100644 index 635b7af405..0000000000 --- a/Infrastructure.Soap/Adresse/wsdl/token/policies.wsdl +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/BrugerServiceMsg.xsd b/Infrastructure.Soap/Bruger/BrugerServiceMsg.xsd deleted file mode 100644 index d9ffb380dd..0000000000 --- a/Infrastructure.Soap/Bruger/BrugerServiceMsg.xsd +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/Bruger.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/Bruger.xsd deleted file mode 100644 index 7b32dcd1d4..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/Bruger.xsd +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/BrugerBesked.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/BrugerBesked.xsd deleted file mode 100644 index 02ccb31652..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/BrugerBesked.xsd +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/BrugerOperationer.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/BrugerOperationer.xsd deleted file mode 100644 index 7643f32fef..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/BrugerOperationer.xsd +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/GenerelleDefinitioner.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/GenerelleDefinitioner.xsd deleted file mode 100644 index ef7604df82..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/GenerelleDefinitioner.xsd +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/OrganisationFaelles.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/OrganisationFaelles.xsd deleted file mode 100644 index e8e1d1b218..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/OrganisationFaelles.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/Part.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/Part.xsd deleted file mode 100644 index a6b994566c..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/1.1.STS-3/Part.xsd +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/common/RequestHeader.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/common/RequestHeader.xsd deleted file mode 100644 index 6b8579c4b9..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/common/RequestHeader.xsd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/common/SagDokObjekt.xsd b/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/common/SagDokObjekt.xsd deleted file mode 100644 index 6962705066..0000000000 --- a/Infrastructure.Soap/Bruger/SF1500_EP_FS2/xsd/common/SagDokObjekt.xsd +++ /dev/null @@ -1,1059 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/sp/AuthorityContext_1.xsd b/Infrastructure.Soap/Bruger/sp/AuthorityContext_1.xsd deleted file mode 100644 index 5346245539..0000000000 --- a/Infrastructure.Soap/Bruger/sp/AuthorityContext_1.xsd +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/sp/CallContext_1.xsd b/Infrastructure.Soap/Bruger/sp/CallContext_1.xsd deleted file mode 100644 index 545b0beffc..0000000000 --- a/Infrastructure.Soap/Bruger/sp/CallContext_1.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/sp/InvocationContext_1.xsd b/Infrastructure.Soap/Bruger/sp/InvocationContext_1.xsd deleted file mode 100644 index e7ab223045..0000000000 --- a/Infrastructure.Soap/Bruger/sp/InvocationContext_1.xsd +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/sp/ServiceplatformFaultMessage_1.wsdl b/Infrastructure.Soap/Bruger/sp/ServiceplatformFaultMessage_1.wsdl deleted file mode 100644 index d0d0592848..0000000000 --- a/Infrastructure.Soap/Bruger/sp/ServiceplatformFaultMessage_1.wsdl +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/sp/ServiceplatformFault_1.xsd b/Infrastructure.Soap/Bruger/sp/ServiceplatformFault_1.xsd deleted file mode 100644 index 92b85d4711..0000000000 --- a/Infrastructure.Soap/Bruger/sp/ServiceplatformFault_1.xsd +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/sp/service.properties b/Infrastructure.Soap/Bruger/sp/service.properties deleted file mode 100644 index 580be206d9..0000000000 --- a/Infrastructure.Soap/Bruger/sp/service.properties +++ /dev/null @@ -1,6 +0,0 @@ -service.uuid=6db357f7-9ea9-4cdd-8645-326ba94d6dff -service.entityID=http://organisation.serviceplatformen.dk/service/organisation/5 -service.token.wsdl.path= -service.context.wsdl.path= -service.class= -service.endpoint= \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/wsdl/context/BrugerService.wsdl b/Infrastructure.Soap/Bruger/wsdl/context/BrugerService.wsdl deleted file mode 100644 index ef030ad473..0000000000 --- a/Infrastructure.Soap/Bruger/wsdl/context/BrugerService.wsdl +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/wsdl/context/policies.wsdl b/Infrastructure.Soap/Bruger/wsdl/context/policies.wsdl deleted file mode 100644 index fb482aab5a..0000000000 --- a/Infrastructure.Soap/Bruger/wsdl/context/policies.wsdl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Bruger/wsdl/token/BrugerService.wsdl b/Infrastructure.Soap/Bruger/wsdl/token/BrugerService.wsdl deleted file mode 100644 index ef030ad473..0000000000 --- a/Infrastructure.Soap/Bruger/wsdl/token/BrugerService.wsdl +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Bruger/wsdl/token/policies.wsdl b/Infrastructure.Soap/Bruger/wsdl/token/policies.wsdl deleted file mode 100644 index 635b7af405..0000000000 --- a/Infrastructure.Soap/Bruger/wsdl/token/policies.wsdl +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Connected Services/STSVriksomhed/Reference.svcmap b/Infrastructure.Soap/Connected Services/STSVriksomhed/Reference.svcmap deleted file mode 100644 index 45ab8226e3..0000000000 --- a/Infrastructure.Soap/Connected Services/STSVriksomhed/Reference.svcmap +++ /dev/null @@ -1,43 +0,0 @@ - - - - false - true - true - - false - false - false - - - true - Auto - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Infrastructure.Soap.csproj b/Infrastructure.Soap/Infrastructure.Soap.csproj index e355cd4abb..f39279b343 100644 --- a/Infrastructure.Soap/Infrastructure.Soap.csproj +++ b/Infrastructure.Soap/Infrastructure.Soap.csproj @@ -13,7 +13,7 @@ {3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} /client:"WcfTestClient.exe" v4.8 - latest + latest True False XmlSerializer @@ -75,97 +75,7 @@ - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - - - Designer - - - - - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - - - Designer - - - - - Designer @@ -415,51 +325,6 @@ Designer - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - - - Designer - - - - - diff --git a/Infrastructure.Soap/Person/PersonServiceMsg.xsd b/Infrastructure.Soap/Person/PersonServiceMsg.xsd deleted file mode 100644 index b3354cb4c3..0000000000 --- a/Infrastructure.Soap/Person/PersonServiceMsg.xsd +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/GenerelleDefinitioner.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/GenerelleDefinitioner.xsd deleted file mode 100644 index ef7604df82..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/GenerelleDefinitioner.xsd +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/OrganisationFaelles.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/OrganisationFaelles.xsd deleted file mode 100644 index e8e1d1b218..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/OrganisationFaelles.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/Part.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/Part.xsd deleted file mode 100644 index a6b994566c..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/Part.xsd +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/Person.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/Person.xsd deleted file mode 100644 index 76ba258700..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/Person.xsd +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/PersonBesked.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/PersonBesked.xsd deleted file mode 100644 index 8bc2805e72..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/PersonBesked.xsd +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/PersonOperationer.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/PersonOperationer.xsd deleted file mode 100644 index ac37385fbb..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/1.1.STS-3/PersonOperationer.xsd +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/common/RequestHeader.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/common/RequestHeader.xsd deleted file mode 100644 index 6b8579c4b9..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/common/RequestHeader.xsd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/common/SagDokObjekt.xsd b/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/common/SagDokObjekt.xsd deleted file mode 100644 index 6962705066..0000000000 --- a/Infrastructure.Soap/Person/SF1500_EP_FS10/xsd/common/SagDokObjekt.xsd +++ /dev/null @@ -1,1059 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/sp/AuthorityContext_1.xsd b/Infrastructure.Soap/Person/sp/AuthorityContext_1.xsd deleted file mode 100644 index 5346245539..0000000000 --- a/Infrastructure.Soap/Person/sp/AuthorityContext_1.xsd +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/sp/CallContext_1.xsd b/Infrastructure.Soap/Person/sp/CallContext_1.xsd deleted file mode 100644 index 545b0beffc..0000000000 --- a/Infrastructure.Soap/Person/sp/CallContext_1.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/sp/InvocationContext_1.xsd b/Infrastructure.Soap/Person/sp/InvocationContext_1.xsd deleted file mode 100644 index e7ab223045..0000000000 --- a/Infrastructure.Soap/Person/sp/InvocationContext_1.xsd +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/sp/ServiceplatformFaultMessage_1.wsdl b/Infrastructure.Soap/Person/sp/ServiceplatformFaultMessage_1.wsdl deleted file mode 100644 index d0d0592848..0000000000 --- a/Infrastructure.Soap/Person/sp/ServiceplatformFaultMessage_1.wsdl +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/sp/ServiceplatformFault_1.xsd b/Infrastructure.Soap/Person/sp/ServiceplatformFault_1.xsd deleted file mode 100644 index 92b85d4711..0000000000 --- a/Infrastructure.Soap/Person/sp/ServiceplatformFault_1.xsd +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/sp/service.properties b/Infrastructure.Soap/Person/sp/service.properties deleted file mode 100644 index d08a959d53..0000000000 --- a/Infrastructure.Soap/Person/sp/service.properties +++ /dev/null @@ -1,6 +0,0 @@ -service.uuid=826ecc17-2dfa-4959-b564-3a70bb470344 -service.entityID=http://organisation.serviceplatformen.dk/service/organisation/5 -service.token.wsdl.path= -service.context.wsdl.path= -service.class= -service.endpoint= \ No newline at end of file diff --git a/Infrastructure.Soap/Person/wsdl/context/PersonService.wsdl b/Infrastructure.Soap/Person/wsdl/context/PersonService.wsdl deleted file mode 100644 index 572c64e01a..0000000000 --- a/Infrastructure.Soap/Person/wsdl/context/PersonService.wsdl +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/wsdl/context/policies.wsdl b/Infrastructure.Soap/Person/wsdl/context/policies.wsdl deleted file mode 100644 index fb482aab5a..0000000000 --- a/Infrastructure.Soap/Person/wsdl/context/policies.wsdl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Infrastructure.Soap/Person/wsdl/token/PersonService.wsdl b/Infrastructure.Soap/Person/wsdl/token/PersonService.wsdl deleted file mode 100644 index 572c64e01a..0000000000 --- a/Infrastructure.Soap/Person/wsdl/token/PersonService.wsdl +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Infrastructure.Soap/Person/wsdl/token/policies.wsdl b/Infrastructure.Soap/Person/wsdl/token/policies.wsdl deleted file mode 100644 index 635b7af405..0000000000 --- a/Infrastructure.Soap/Person/wsdl/token/policies.wsdl +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/KITOS.sln b/KITOS.sln index 4ccd991907..d90f1d79e3 100644 --- a/KITOS.sln +++ b/KITOS.sln @@ -111,6 +111,18 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.Ninject", "I EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Abstractions", "Core.Abstractions\Core.Abstractions.csproj", "{BD8C90E7-52C7-4AD0-935D-98A2AA89E449}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.STS.Organization", "Infrastructure.STS.Organization\Infrastructure.STS.Organization.csproj", "{3DC91665-93BB-442D-B186-7E90C7CD6E32}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.STS.Common", "Infrastructure.STS.Common\Infrastructure.STS.Common.csproj", "{423D7522-4882-4438-94F4-7B3F5778C83F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "STS", "STS", "{3F0ABEAA-2F6E-4385-8BB1-71695E633E0A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.STS.Company", "Infrastructure.STS.Company\Infrastructure.STS.Company.csproj", "{09A799FA-3781-419B-AB54-3C76219FD2DE}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Organization", "Organization", "{EF9D5FB5-3C0D-45C0-88D4-6619D2905EFB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.STS.OrganizationUnit", "Infrastructure.STS.OrganizationUnit\Infrastructure.STS.OrganizationUnit.csproj", "{77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -189,6 +201,22 @@ Global {BD8C90E7-52C7-4AD0-935D-98A2AA89E449}.Debug|Any CPU.Build.0 = Debug|Any CPU {BD8C90E7-52C7-4AD0-935D-98A2AA89E449}.Release|Any CPU.ActiveCfg = Release|Any CPU {BD8C90E7-52C7-4AD0-935D-98A2AA89E449}.Release|Any CPU.Build.0 = Release|Any CPU + {3DC91665-93BB-442D-B186-7E90C7CD6E32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3DC91665-93BB-442D-B186-7E90C7CD6E32}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3DC91665-93BB-442D-B186-7E90C7CD6E32}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3DC91665-93BB-442D-B186-7E90C7CD6E32}.Release|Any CPU.Build.0 = Release|Any CPU + {423D7522-4882-4438-94F4-7B3F5778C83F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {423D7522-4882-4438-94F4-7B3F5778C83F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {423D7522-4882-4438-94F4-7B3F5778C83F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {423D7522-4882-4438-94F4-7B3F5778C83F}.Release|Any CPU.Build.0 = Release|Any CPU + {09A799FA-3781-419B-AB54-3C76219FD2DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {09A799FA-3781-419B-AB54-3C76219FD2DE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {09A799FA-3781-419B-AB54-3C76219FD2DE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {09A799FA-3781-419B-AB54-3C76219FD2DE}.Release|Any CPU.Build.0 = Release|Any CPU + {77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -213,10 +241,16 @@ Global {43199485-65C5-4BFF-88B2-B594D5B58146} = {D8C15077-71C5-4837-9F3C-3B642B142434} {D8C15077-71C5-4837-9F3C-3B642B142434} = {42678F6A-7BFE-40AF-A659-0726A06DCE29} {2285BE42-1FDB-4B48-B9C3-4E87D829515A} = {1755BABD-3C1F-497A-AB69-9D643B576506} - {A05389EA-25F4-45B5-8534-0775D9671456} = {500B4C1D-B871-49A0-94E7-BD0623101EF6} + {A05389EA-25F4-45B5-8534-0775D9671456} = {3F0ABEAA-2F6E-4385-8BB1-71695E633E0A} {7F765808-5258-4E41-8B27-6E7D4667AA24} = {2AC4CFA8-D99E-4DF2-9E2D-202E3A7BD29E} {C01C5F9E-6904-4B4C-94B1-12D7C83F8070} = {500B4C1D-B871-49A0-94E7-BD0623101EF6} {BD8C90E7-52C7-4AD0-935D-98A2AA89E449} = {2AC4CFA8-D99E-4DF2-9E2D-202E3A7BD29E} + {3DC91665-93BB-442D-B186-7E90C7CD6E32} = {EF9D5FB5-3C0D-45C0-88D4-6619D2905EFB} + {423D7522-4882-4438-94F4-7B3F5778C83F} = {3F0ABEAA-2F6E-4385-8BB1-71695E633E0A} + {3F0ABEAA-2F6E-4385-8BB1-71695E633E0A} = {500B4C1D-B871-49A0-94E7-BD0623101EF6} + {09A799FA-3781-419B-AB54-3C76219FD2DE} = {EF9D5FB5-3C0D-45C0-88D4-6619D2905EFB} + {EF9D5FB5-3C0D-45C0-88D4-6619D2905EFB} = {3F0ABEAA-2F6E-4385-8BB1-71695E633E0A} + {77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8} = {EF9D5FB5-3C0D-45C0-88D4-6619D2905EFB} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {4890FA32-C82F-4C98-AC7A-2F4EE7F21687} diff --git a/Presentation.Web/App_Start/MappingConfig.cs b/Presentation.Web/App_Start/MappingConfig.cs index a852684a39..1351fdb969 100644 --- a/Presentation.Web/App_Start/MappingConfig.cs +++ b/Presentation.Web/App_Start/MappingConfig.cs @@ -143,7 +143,7 @@ public DropdownProfile() .ForMember(dest => dest.References, opt => opt.Ignore()) .IgnoreDestinationEntityFields(); - CreateMap() + CreateMap() .ReverseMap() .ForMember(dest => dest.References, opt => opt.Ignore()) .IgnoreDestinationEntityFields(); @@ -355,6 +355,8 @@ public MappingProfile() CreateMap() .ForMember(dest => dest.AssociatedSystemUsages, opt => opt.MapFrom(src => src.AssociatedSystemUsages.Select(x => x.ItSystemUsage))) .ForMember(dest => dest.AgreementElements, opt => opt.MapFrom(src => src.AssociatedAgreementElementTypes.Select(x => x.AgreementElementType))) + .ForMember(dest => dest.LastChangedByName, opt => opt.MapFrom(src => src.LastChangedByUser.GetFullName())) + .ForMember(dest => dest.ObjectOwnerFullName, opt => opt.MapFrom(src => src.ObjectOwner.GetFullName())) .ReverseMap() .ForMember(contract => contract.AssociatedSystemUsages, opt => opt.Ignore()) .ForMember(contract => contract.AssociatedAgreementElementTypes, opt => opt.Ignore()) @@ -363,11 +365,7 @@ public MappingProfile() //Output only - this mapping should not be reversed CreateMap() .ForMember(dest => dest.AgreementElements, opt => opt.MapFrom(src => src.AssociatedAgreementElementTypes.Select(x => x.AgreementElementType))); - - CreateMap() - .ReverseMap() - .IgnoreDestinationEntityFields(); - + CreateMap() .ReverseMap() .IgnoreDestinationEntityFields(); @@ -380,10 +378,6 @@ public MappingProfile() .ReverseMap() .IgnoreDestinationEntityFields(); - CreateMap() - .ReverseMap() - .IgnoreDestinationEntityFields(); - //Output only - this mapping should not be reversed CreateMap(); diff --git a/Presentation.Web/App_Start/WebApiConfig.cs b/Presentation.Web/App_Start/WebApiConfig.cs index 1d96b81e58..9cbbea6bf8 100644 --- a/Presentation.Web/App_Start/WebApiConfig.cs +++ b/Presentation.Web/App_Start/WebApiConfig.cs @@ -69,7 +69,6 @@ public static IEdmModel GetModel() const string kitosNamespace = "Kitos"; const string entitySetOrganizations = "Organizations"; const string entitySetItSystems = "ItSystems"; - const string entitySetEconomyStreams = "EconomyStreams"; var builder = new ODataConventionModelBuilder(); @@ -100,19 +99,10 @@ public static IEdmModel GetModel() BindEntitySet(builder); - var economyStream = builder.EntitySet(entitySetEconomyStreams); - economyStream.EntityType.HasKey(x => x.Id); - - var economyFunc = builder.Function("ExternEconomyStreams"); - economyFunc.Parameter("Organization"); - economyFunc.ReturnsCollectionFromEntitySet(entitySetEconomyStreams); - BindEntitySet(builder); BindEntitySet(builder); - BindEntitySet(builder); - BindEntitySet(builder); BindEntitySet(builder); @@ -210,8 +200,6 @@ public static IEdmModel GetModel() var contracts = BindEntitySet(builder); contracts.HasRequiredBinding(o => o.Organization, entitySetOrganizations); contracts.HasRequiredBinding(o => o.Supplier, entitySetOrganizations); - contracts.EntityType.HasMany(x => x.ExternEconomyStreams).IsNotExpandable(); // do not remove - contracts.EntityType.HasMany(x => x.InternEconomyStreams).IsNotExpandable(); // do not remove BindEntitySet(builder); @@ -241,19 +229,14 @@ public static IEdmModel GetModel() BindEntitySet(builder); - // These two lines causes an 404 error when requesting odata/ProcurementStrategyTypes at https://localhost:44300/#/global-config/contract - // Requesting api/ProcurementStrategy works but not odata/ProcurementStrategyTypes - //var procurementStrategy = builder.EntitySet(nameof(ProcurementStrategyController).Replace("Controller", string.Empty)); - //procurementStrategy.EntityType.HasKey(x => x.Id); - - // There two lines fixes the 404 error at https://localhost:44300/#/global-config/contract - // Requesting api/ProcurementStrategy and odata/ProcurementStrategyTypes both work BindEntitySet(builder); BindEntitySet(builder); BindEntitySet(builder); + BindEntitySet(builder); + //Local options var localAgreementElementType = BindEntitySet(builder); @@ -284,9 +267,6 @@ public static IEdmModel GetModel() var localGoalType = BindEntitySet(builder); localGoalType.HasRequiredBinding(u => u.Organization, entitySetOrganizations); - var localHandoverTrialType = BindEntitySet(builder); - localHandoverTrialType.HasRequiredBinding(u => u.Organization, entitySetOrganizations); - var localInterfaceType = BindEntitySet(builder); localInterfaceType.HasRequiredBinding(u => u.Organization, entitySetOrganizations); @@ -326,6 +306,9 @@ public static IEdmModel GetModel() var localPurchaseFormType = BindEntitySet(builder); localPurchaseFormType.HasRequiredBinding(u => u.Organization, entitySetOrganizations); + var localCriticalityType = BindEntitySet(builder); + localCriticalityType.HasRequiredBinding(u => u.Organization, entitySetOrganizations); + var removeOption = builder.Function("RemoveOption"); removeOption.Parameter("id"); removeOption.Parameter("objectId"); diff --git a/Presentation.Web/Content/less/kitos.less b/Presentation.Web/Content/less/kitos.less index cf4fef7b44..0d8c9a5b53 100644 --- a/Presentation.Web/Content/less/kitos.less +++ b/Presentation.Web/Content/less/kitos.less @@ -1715,3 +1715,6 @@ tbody.bordered > tr > td { border-right: 0; } +.local-ui-customization-option { + font-weight: normal; +} \ No newline at end of file diff --git a/Presentation.Web/Controllers/API/V1/AuthorizeController.cs b/Presentation.Web/Controllers/API/V1/AuthorizeController.cs index 772042e49d..c5e2167ad8 100644 --- a/Presentation.Web/Controllers/API/V1/AuthorizeController.cs +++ b/Presentation.Web/Controllers/API/V1/AuthorizeController.cs @@ -20,6 +20,7 @@ using Core.DomainServices.Extensions; using Infrastructure.Services.Cryptography; using Newtonsoft.Json; +using Presentation.Web.Extensions; using Presentation.Web.Helpers; using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Models.API.V1; @@ -78,6 +79,18 @@ public HttpResponseMessage GetOrganizations([FromUri]string orderBy = null, [Fro return Ok(dtos); } + [InternalApi] + [Route("api/authorize/GetOrganizations/{userId}")] + [SwaggerResponse(HttpStatusCode.OK, Type = typeof(ApiReturnDTO>))] + public HttpResponseMessage GetUserOrganizations(int userId) + { + return _organizationService.GetUserOrganizations(userId) + .Select(x => x.OrderBy(user => user.Id)) + .Select(x => x.ToList()) + .Select(Map, IEnumerable>) + .Match(Ok, FromOperationError); + } + private IQueryable GetOrganizationsWithMembershipAccess() { var orgs = _organizationService.SearchAccessibleOrganizations(); diff --git a/Presentation.Web/Controllers/API/V1/DataProcessingRegistrationController.cs b/Presentation.Web/Controllers/API/V1/DataProcessingRegistrationController.cs index 0448dfbc80..431d4ab80d 100644 --- a/Presentation.Web/Controllers/API/V1/DataProcessingRegistrationController.cs +++ b/Presentation.Web/Controllers/API/V1/DataProcessingRegistrationController.cs @@ -728,12 +728,7 @@ public HttpResponseMessage PatchOversightCompletedRemark(int id, [FromBody] Sing private static IEnumerable ToDTOs(IEnumerable users) { - return users.Select(ToDTO); - } - - private static UserWithEmailDTO ToDTO(User arg) - { - return new UserWithEmailDTO(arg.Id, $"{arg.Name} {arg.LastName}", arg.Email); + return users.Select(x => x.MapToUserWithEmailDTO()); } private IEnumerable ToDTOs(IEnumerable roles, int organizationId) @@ -845,7 +840,7 @@ private static DataProcessingRegistrationDTO ToDTO( AssignedRoles = value.Rights.Select(dataProcessingRegistrationRight => new AssignedRoleDTO { Role = ToDTO(dataProcessingRegistrationRight.Role, localDescriptionOverrides, idsOfAvailableRoles), - User = ToDTO(dataProcessingRegistrationRight.User) + User = dataProcessingRegistrationRight.User.MapToUserWithEmailDTO() }).ToArray(), References = value diff --git a/Presentation.Web/Controllers/API/V1/GlobalAdminController.cs b/Presentation.Web/Controllers/API/V1/GlobalAdminController.cs index 285b615043..0d4ee66893 100644 --- a/Presentation.Web/Controllers/API/V1/GlobalAdminController.cs +++ b/Presentation.Web/Controllers/API/V1/GlobalAdminController.cs @@ -71,8 +71,8 @@ public HttpResponseMessage Post(CreateGlobalAdminDTO dto) } user.IsGlobalAdmin = true; - _domainEvents.Raise(new AccessRightsChanged(dto.UserId)); _userRepository.Save(); + _domainEvents.Raise(new AdministrativeAccessRightsChanged(dto.UserId)); var outDto = Mapper.Map(user); @@ -99,8 +99,8 @@ public HttpResponseMessage Delete([FromUri] int userId) var user = _userRepository.GetByKey(userId); user.IsGlobalAdmin = false; - _domainEvents.Raise(new AccessRightsChanged(userId)); _userRepository.Save(); + _domainEvents.Raise(new AdministrativeAccessRightsChanged(userId)); var outDto = Mapper.Map(user); diff --git a/Presentation.Web/Controllers/API/V1/HandoverTrialController.cs b/Presentation.Web/Controllers/API/V1/HandoverTrialController.cs deleted file mode 100644 index f2f0104f93..0000000000 --- a/Presentation.Web/Controllers/API/V1/HandoverTrialController.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Net.Http; -using Core.DomainModel.Events; -using Core.DomainModel.ItContract; -using Core.DomainServices; -using Core.DomainServices.Authorization; -using Core.DomainServices.Repositories.Contract; -using Presentation.Web.Infrastructure.Attributes; -using Presentation.Web.Infrastructure.Authorization.Controller.Crud; -using Presentation.Web.Models.API.V1; -using Swashbuckle.Swagger.Annotations; - -namespace Presentation.Web.Controllers.API.V1 -{ - [PublicApi] - public class HandoverTrialController : GenericApiController - { - private readonly IItContractRepository _contractRepository; - - public HandoverTrialController( - IGenericRepository repository, - IItContractRepository contractRepository) - : base(repository) - { - _contractRepository = contractRepository; - } - - [SwaggerResponse(HttpStatusCode.OK, Type = typeof(ApiReturnDTO>))] - public HttpResponseMessage GetByContractid(int id, bool? byContract) - { - var itContract = _contractRepository.GetById(id); - - if (itContract == null) - return NotFound(); - - if (!AllowRead(itContract)) - return Forbidden(); - - var query = Repository.Get(x => x.ItContractId == id); - - var dtos = Map(query); - return Ok(dtos); - } - - protected override IControllerCrudAuthorization GetCrudAuthorization() - { - return new ChildEntityCrudAuthorization(x => _contractRepository.GetById(x.ItContractId), base.GetCrudAuthorization()); - } - - protected override void RaiseUpdated(HandoverTrial item) - { - RaiseContractUpdated(item); - } - - private void RaiseContractUpdated(HandoverTrial item) - { - var contract = _contractRepository.GetById(item.ItContractId); - if (contract != null) - DomainEvents.Raise(new EntityUpdatedEvent(contract)); - } - - protected override void RaiseDeleted(HandoverTrial entity) - { - RaiseContractUpdated(entity); - } - - protected override void RaiseNewObjectCreated(HandoverTrial savedItem) - { - RaiseContractUpdated(savedItem); - } - - protected override IQueryable GetAllQuery() - { - var query = Repository.AsQueryable(); - if (AuthorizationContext.GetCrossOrganizationReadAccess() == CrossOrganizationDataReadAccessLevel.All) - { - return query; - } - - var organizationIds = UserContext.OrganizationIds.ToList(); - - return query.Where(x => organizationIds.Contains(x.ItContract.OrganizationId)); - } - } -} diff --git a/Presentation.Web/Controllers/API/V1/ItContractController.cs b/Presentation.Web/Controllers/API/V1/ItContractController.cs index 67fca8c640..a171495d61 100644 --- a/Presentation.Web/Controllers/API/V1/ItContractController.cs +++ b/Presentation.Web/Controllers/API/V1/ItContractController.cs @@ -8,14 +8,18 @@ using Core.Abstractions.Types; using Core.ApplicationServices; using Core.ApplicationServices.Contract; +using Core.DomainModel; using Core.DomainModel.ItContract; using Core.DomainModel.ItSystemUsage; using Core.DomainServices; using Core.DomainServices.Authorization; +using Core.DomainServices.Model.Options; using Newtonsoft.Json.Linq; using Presentation.Web.Controllers.API.V1.Mapping; using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Models.API.V1; +using Presentation.Web.Models.API.V1.ItContract; +using Presentation.Web.Models.API.V1.Shared; using Swashbuckle.Swagger.Annotations; namespace Presentation.Web.Controllers.API.V1 @@ -47,14 +51,14 @@ public ItContractController(IGenericRepository repository, [SwaggerResponse(HttpStatusCode.NotFound)] public virtual HttpResponseMessage Get(string q, int orgId, [FromUri] PagingModel paging) { - var contractQuery = _itContractService.GetAllByOrganization(orgId, q); - - var contractDTO = Page(contractQuery, paging) - .AsEnumerable() - .MapToNamedEntityDTOs() - .ToList(); - - return Ok(contractDTO); + return _itContractService + .GetAllByOrganization(orgId, q) + .Select(query => + Page(query, paging) + .ToList() + .MapToNamedEntityDTOs() + .ToList()) + .Match(Ok, FromOperationError); } [SwaggerResponse(HttpStatusCode.OK, Type = typeof(ApiReturnDTO))] @@ -338,6 +342,47 @@ public HttpResponseMessage GetCanCreateNewProjectWithName(string checkname, int } } + [InternalApi] + [HttpGet] + [Route("available-options-in/{organizationId}")] + [SwaggerResponse(HttpStatusCode.OK)] + [SwaggerResponse(HttpStatusCode.Forbidden)] + [SwaggerResponse(HttpStatusCode.BadRequest)] + [SwaggerResponse(HttpStatusCode.NotFound)] + public HttpResponseMessage GetContractOptions(int organizationId) + { + return _itContractService + .GetAssignableContractOptions(organizationId) + .Select(result => new ContractOptionsDTO + { + CriticalityOptions = ToDTOs(result.CriticalityOptions).ToList(), + ContractTypeOptions = ToDTOs(result.ContractTypeOptions).ToList(), + ContractTemplateOptions = ToDTOs(result.ContractTemplateOptions).ToList(), + PurchaseFormOptions = ToDTOs(result.PurchaseFormOptions).ToList(), + ProcurementStrategyOptions = ToDTOs(result.ProcurementStrategyOptions).ToList(), + PaymentModelOptions = ToDTOs(result.PaymentModelOptions).ToList(), + PaymentFrequencyOptions = ToDTOs(result.PaymentFrequencyOptions).ToList(), + OptionExtendOptions = ToDTOs(result.OptionExtendOptions).ToList(), + TerminationDeadlineOptions = ToDTOs(result.TerminationDeadlineOptions).ToList() + }) + .Match(Ok, FromOperationError); + } + + [InternalApi] + [HttpGet] + [Route("applied-procurement-plans/{organizationId}")] + [SwaggerResponse(HttpStatusCode.OK)] + [SwaggerResponse(HttpStatusCode.Forbidden)] + [SwaggerResponse(HttpStatusCode.BadRequest)] + [SwaggerResponse(HttpStatusCode.NotFound)] + public HttpResponseMessage GetAppliedProcurements(int organizationId) + { + return _itContractService + .GetAppliedProcurementPlans(organizationId) + .Select(plans => plans.Select(ToProcurementPlanDTO).ToList()) + .Match(Ok, FromOperationError); + } + private IEnumerable MapSystemUsages(ItContract contract) { return Map, IEnumerable>(contract.AssociatedSystemUsages.Select(x => x.ItSystemUsage)); @@ -388,5 +433,24 @@ public override HttpResponseMessage Post(int organizationId, ItContractDTO dto) .Create(organizationId, dto.Name) .Match(NewObjectCreated, FromOperationError); } + + private static IEnumerable ToDTOs(IEnumerable<(OptionDescriptor option, bool available)> options) where T : OptionEntity + { + return options.Select(ToDTO); + } + + private static OptionWithDescriptionAndExpirationDTO ToDTO((OptionDescriptor option, bool available) optionObject) where T : OptionEntity + { + return new OptionWithDescriptionAndExpirationDTO(optionObject.option.Option.Id, optionObject.option.Option.Name, optionObject.available == false, optionObject.option.Description); + } + + private static ContractProcurementPlanDTO ToProcurementPlanDTO((int year, int quarter) plan) + { + return new ContractProcurementPlanDTO + { + ProcurementPlanYear = plan.year, + ProcurementPlanQuarter = plan.quarter + }; + } } } diff --git a/Presentation.Web/Controllers/API/V1/ItProjectStatusController.cs b/Presentation.Web/Controllers/API/V1/ItProjectStatusController.cs index d0755cf39e..216e652bcf 100644 --- a/Presentation.Web/Controllers/API/V1/ItProjectStatusController.cs +++ b/Presentation.Web/Controllers/API/V1/ItProjectStatusController.cs @@ -11,7 +11,6 @@ using Core.DomainServices.Repositories.Project; using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Infrastructure.Authorization.Controller.Crud; -using Presentation.Web.Models; using Presentation.Web.Models.API.V1; using Swashbuckle.Swagger.Annotations; diff --git a/Presentation.Web/Controllers/API/V1/Mapping/DTOMappingExtensions.cs b/Presentation.Web/Controllers/API/V1/Mapping/DTOMappingExtensions.cs index 5e9e7a1606..a3ec5eafc1 100644 --- a/Presentation.Web/Controllers/API/V1/Mapping/DTOMappingExtensions.cs +++ b/Presentation.Web/Controllers/API/V1/Mapping/DTOMappingExtensions.cs @@ -36,7 +36,12 @@ public static NamedEntityDTO MapToNamedEntityDTO(this NamedEntity source) public static NamedEntityDTO MapToNamedEntityDTO(this User source) { - return new NamedEntityDTO(source.Id, $"{source.Name} {source.LastName}".TrimEnd()); + return new NamedEntityDTO(source.Id, source.GetFullName().TrimEnd()); + } + + public static UserWithEmailDTO MapToUserWithEmailDTO(this User source) + { + return new UserWithEmailDTO(source.Id, source.GetFullName(), source.Email); } public static NamedEntityWithEnabledStatusDTO MapToNamedEntityWithEnabledStatusDTO(this ItSystem source) diff --git a/Presentation.Web/Controllers/API/V1/OData/AdviceController.cs b/Presentation.Web/Controllers/API/V1/OData/AdviceController.cs index a0e3c2b723..48d06347c2 100644 --- a/Presentation.Web/Controllers/API/V1/OData/AdviceController.cs +++ b/Presentation.Web/Controllers/API/V1/OData/AdviceController.cs @@ -108,7 +108,7 @@ public override IHttpActionResult Post(int organizationId, Advice advice) //Advice cannot be an orphan - it must belong to a root return BadRequest($"Both {nameof(advice.RelationId)} AND {nameof(advice.Type)} MUST be defined"); } - if (advice.Reciepients.Where(x => x.RecpientType == RecieverType.USER).Any(x => !_emailValidationRegex.IsMatch(x.Name))) + if (advice.Reciepients.Where(x => x.RecpientType == RecipientType.USER).Any(x => !_emailValidationRegex.IsMatch(x.Email))) { return BadRequest("Invalid email exists among receivers or CCs"); } diff --git a/Presentation.Web/Controllers/API/V1/OData/EconomyStreamsController.cs b/Presentation.Web/Controllers/API/V1/OData/EconomyStreamsController.cs deleted file mode 100644 index de30aa8681..0000000000 --- a/Presentation.Web/Controllers/API/V1/OData/EconomyStreamsController.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Linq; -using System.Net; -using System.Web.Http; -using Microsoft.AspNet.OData; -using Microsoft.AspNet.OData.Query; -using Microsoft.AspNet.OData.Routing; -using Core.DomainModel; -using Core.DomainModel.ItContract; -using Core.DomainServices; -using Core.DomainServices.Authorization; -using Presentation.Web.Infrastructure.Attributes; -using Swashbuckle.OData; -using Swashbuckle.Swagger.Annotations; - -namespace Presentation.Web.Controllers.API.V1.OData -{ - [Authorize] - [PublicApi] - public class EconomyStreamsController : BaseEntityController - { - private readonly IGenericRepository _repository; - - public EconomyStreamsController(IGenericRepository repository) - : base(repository) - { - _repository = repository; - } - - [NonAction] - public override IHttpActionResult Post(int organizationId, EconomyStream entity) => throw new NotSupportedException(); - - [NonAction] - public override IHttpActionResult Patch(int key, Delta delta) => throw new NotSupportedException(); - - [NonAction] - public override IHttpActionResult Delete(int key) => throw new NotSupportedException(); - - [NonAction] - public override IHttpActionResult Get() => throw new NotSupportedException(); - - [NonAction] - public override IHttpActionResult Get(int key) => throw new NotSupportedException(); - - // GET /Organizations(1)/ItContracts - [EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All & ~AllowedQueryOptions.Expand)] - [ODataRoute("ExternEconomyStreams(Organization={orgKey})")] - [SwaggerResponse(HttpStatusCode.OK, Type = typeof(ODataResponse>))] - [SwaggerResponse(HttpStatusCode.Forbidden)] - [RequireTopOnOdataThroughKitosToken] - public IHttpActionResult GetByOrganization(int orgKey) - { - var result = - _repository.AsQueryable() - .Where( - m => - m.ExternPaymentFor.OrganizationId == orgKey && - m.InternPaymentFor == null); - - var economyStream = result.FirstOrDefault(); - - var accessLevel = GetOrganizationReadAccessLevel(orgKey); - - if (economyStream != null) - { - var contractId = economyStream.ExternPaymentFor.Id; - - var economyStreamIsPublic = EconomyStreamIsPublic(contractId); - - if (accessLevel < OrganizationDataReadAccessLevel.All && economyStreamIsPublic == false) - { - return Forbidden(); - } - - if (economyStreamIsPublic && accessLevel < OrganizationDataReadAccessLevel.Public) - { - return Forbidden(); - } - - } - //No access to organization -> forbidden, not empty response - else if (accessLevel < OrganizationDataReadAccessLevel.Public) - { - return Forbidden(); - } - - return Ok(result); - } - - private bool EconomyStreamIsPublic(int contractKey) - { - if (contractKey == 0) - { - // contractKey is zero by default if GetByOrganization does not find any EconomyStreams - return false; - } - - var economyStream = _repository.AsQueryable() - .FirstOrDefault(e => e.ExternPaymentFor.Id == contractKey || e.InternPaymentFor.Id == contractKey); - - return economyStream != null && economyStream.AccessModifier == AccessModifier.Public; - } - } -} diff --git a/Presentation.Web/Controllers/API/V1/OData/LocalOptionControllers/LocalHandoverTrialTypesController.cs b/Presentation.Web/Controllers/API/V1/OData/LocalOptionControllers/LocalCriticalityTypesController.cs similarity index 68% rename from Presentation.Web/Controllers/API/V1/OData/LocalOptionControllers/LocalHandoverTrialTypesController.cs rename to Presentation.Web/Controllers/API/V1/OData/LocalOptionControllers/LocalCriticalityTypesController.cs index 9f27c32afd..7227bf9bc9 100644 --- a/Presentation.Web/Controllers/API/V1/OData/LocalOptionControllers/LocalHandoverTrialTypesController.cs +++ b/Presentation.Web/Controllers/API/V1/OData/LocalOptionControllers/LocalCriticalityTypesController.cs @@ -9,10 +9,10 @@ namespace Presentation.Web.Controllers.API.V1.OData.LocalOptionControllers { [InternalApi] - [ODataRoutePrefix("LocalHandoverTrialTypes")] - public class LocalHandoverTrialTypesController : LocalOptionBaseController + [ODataRoutePrefix("LocalCriticalityTypes")] + public class LocalCriticalityTypesController : LocalOptionBaseController { - public LocalHandoverTrialTypesController(IGenericRepository repository, IGenericRepository optionsRepository) + public LocalCriticalityTypesController(IGenericRepository repository, IGenericRepository optionsRepository) : base(repository, optionsRepository) { } @@ -27,12 +27,12 @@ public LocalHandoverTrialTypesController(IGenericRepository base.Get(organizationId, key); [ODataRoute] - public override IHttpActionResult Post(int organizationId, LocalHandoverTrialType entity) => base.Post(organizationId, entity); + public override IHttpActionResult Post(int organizationId, LocalCriticalityType entity) => base.Post(organizationId, entity); [ODataRoute] - public override IHttpActionResult Patch(int organizationId, int key, Delta delta) => base.Patch(organizationId, key, delta); + public override IHttpActionResult Patch(int organizationId, int key, Delta delta) => base.Patch(organizationId, key, delta); [ODataRoute] public override IHttpActionResult Delete(int organizationId, int key) => base.Delete(organizationId, key); } -} +} \ No newline at end of file diff --git a/Presentation.Web/Controllers/API/V1/OData/OptionControllers/HandoverTrialTypesController.cs b/Presentation.Web/Controllers/API/V1/OData/OptionControllers/CriticalityTypesController.cs similarity index 57% rename from Presentation.Web/Controllers/API/V1/OData/OptionControllers/HandoverTrialTypesController.cs rename to Presentation.Web/Controllers/API/V1/OData/OptionControllers/CriticalityTypesController.cs index f185ceb6e3..10222d14c9 100644 --- a/Presentation.Web/Controllers/API/V1/OData/OptionControllers/HandoverTrialTypesController.cs +++ b/Presentation.Web/Controllers/API/V1/OData/OptionControllers/CriticalityTypesController.cs @@ -5,9 +5,9 @@ namespace Presentation.Web.Controllers.API.V1.OData.OptionControllers { [InternalApi] - public class HandoverTrialTypesController : BaseOptionController + public class CriticalityTypesController : BaseOptionController { - public HandoverTrialTypesController(IGenericRepository repository) + public CriticalityTypesController(IGenericRepository repository) : base(repository) { } diff --git a/Presentation.Web/Controllers/API/V1/OrganizationLifeCycleController.cs b/Presentation.Web/Controllers/API/V1/OrganizationLifeCycleController.cs index db2a646bb1..0992c2a14b 100644 --- a/Presentation.Web/Controllers/API/V1/OrganizationLifeCycleController.cs +++ b/Presentation.Web/Controllers/API/V1/OrganizationLifeCycleController.cs @@ -59,7 +59,8 @@ private static OrganizationRemovalConflictsDTO ToConflictsDTO(OrganizationRemova result.DprInOtherOrganizationsWhereOrgIsDataProcessor.Select(MapToEntityWithOrganizationRelationshipDto).ToList(), result.DprInOtherOrganizationsWhereOrgIsSubDataProcessor.Select(MapToEntityWithOrganizationRelationshipDto).ToList(), result.ContractsInOtherOrganizationsWhereOrgIsSupplier.Select(MapToEntityWithOrganizationRelationshipDto).ToList(), - result.SystemsInOtherOrganizationsWhereOrgIsRightsHolder.Select(MapToEntityWithOrganizationRelationshipDto).ToList() + result.SystemsInOtherOrganizationsWhereOrgIsRightsHolder.Select(MapToEntityWithOrganizationRelationshipDto).ToList(), + MapSystemsWhereOrgIsArchiveSupplier(result) ); } @@ -142,5 +143,13 @@ private static IEnumerable MapSys ) .ToList(); } + + private static IEnumerable MapSystemsWhereOrgIsArchiveSupplier(OrganizationRemovalConflicts result) + { + return result + .SystemUsagesWhereOrgIsArchiveSupplier + .Select(itSystemUsage => new EntityWithOrganizationRelationshipDTO(itSystemUsage.Id, itSystemUsage.ItSystem.Name, itSystemUsage.Organization.MapToShallowOrganizationDTO())) + .ToList(); + } } } \ No newline at end of file diff --git a/Presentation.Web/Controllers/API/V1/OrganizationUnitController.cs b/Presentation.Web/Controllers/API/V1/OrganizationUnitController.cs index d8b8145b5a..480869998f 100644 --- a/Presentation.Web/Controllers/API/V1/OrganizationUnitController.cs +++ b/Presentation.Web/Controllers/API/V1/OrganizationUnitController.cs @@ -10,7 +10,6 @@ using Core.DomainServices.Extensions; using Newtonsoft.Json.Linq; using Presentation.Web.Infrastructure.Attributes; -using Presentation.Web.Models; using Presentation.Web.Models.API.V1; namespace Presentation.Web.Controllers.API.V1 diff --git a/Presentation.Web/Controllers/API/V1/PaymentMilestoneController.cs b/Presentation.Web/Controllers/API/V1/PaymentMilestoneController.cs deleted file mode 100644 index f36fa24f89..0000000000 --- a/Presentation.Web/Controllers/API/V1/PaymentMilestoneController.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Web.Http; -using Core.DomainModel.Events; -using Core.DomainModel.ItContract; -using Core.DomainServices; -using Core.DomainServices.Authorization; -using Core.DomainServices.Repositories.Contract; -using Presentation.Web.Infrastructure.Attributes; -using Presentation.Web.Infrastructure.Authorization.Controller.Crud; -using Presentation.Web.Models.API.V1; -using Swashbuckle.Swagger.Annotations; - -namespace Presentation.Web.Controllers.API.V1 -{ - [PublicApi] - public class PaymentMilestoneController : GenericApiController - { - private readonly IItContractRepository _contractRepository; - - public PaymentMilestoneController(IGenericRepository repository, IItContractRepository contractRepository) - : base(repository) - { - _contractRepository = contractRepository; - } - - [SwaggerResponse(HttpStatusCode.OK, Type = typeof(ApiReturnDTO>))] - public HttpResponseMessage GetByContractId(int id, [FromUri] bool? contract) - { - var itContract = _contractRepository.GetById(id); - if (contract == null) - return NotFound(); - - if (!AllowRead(itContract)) - return Forbidden(); - - var items = Repository.Get(x => x.ItContractId == id); - - return Ok(Map(items)); - } - - protected override IQueryable GetAllQuery() - { - var query = Repository.AsQueryable(); - if (AuthorizationContext.GetCrossOrganizationReadAccess() == CrossOrganizationDataReadAccessLevel.All) - { - return query; - } - - var organizationIds = UserContext.OrganizationIds.ToList(); - - return query.Where(x => organizationIds.Contains(x.ItContract.OrganizationId)); - } - - protected override IControllerCrudAuthorization GetCrudAuthorization() - { - return new ChildEntityCrudAuthorization(x => _contractRepository.GetById(x.ItContractId), base.GetCrudAuthorization()); - } - - protected override void RaiseUpdated(PaymentMilestone item) - { - RaiseContractUpdated(item); - } - - private void RaiseContractUpdated(PaymentMilestone item) - { - var itContract = _contractRepository.GetById(item.ItContractId); - if(itContract != null) - DomainEvents.Raise(new EntityUpdatedEvent(itContract)); - } - - protected override void RaiseNewObjectCreated(PaymentMilestone savedItem) - { - RaiseContractUpdated(savedItem); - } - - protected override void RaiseDeleted(PaymentMilestone entity) - { - RaiseContractUpdated(entity); - } - } -} diff --git a/Presentation.Web/Controllers/API/V1/StsOrganizationSynchronizationController.cs b/Presentation.Web/Controllers/API/V1/StsOrganizationSynchronizationController.cs new file mode 100644 index 0000000000..0b9a009cad --- /dev/null +++ b/Presentation.Web/Controllers/API/V1/StsOrganizationSynchronizationController.cs @@ -0,0 +1,45 @@ +using System; +using System.Linq; +using System.Net.Http; +using System.Web.Http; +using Core.Abstractions.Extensions; +using Core.ApplicationServices.Organizations; +using Core.DomainServices.Model.StsOrganization; +using Presentation.Web.Infrastructure.Attributes; +using Presentation.Web.Models.API.V1.Organizations; + +namespace Presentation.Web.Controllers.API.V1 +{ + [InternalApi] + [RoutePrefix("api/v1/organizations/{organizationId}/sts-organization-synchronization")] + public class StsOrganizationSynchronizationController : BaseApiController + { + private readonly IStsOrganizationSynchronizationService _stsOrganizationSynchronizationService; + + public StsOrganizationSynchronizationController(IStsOrganizationSynchronizationService stsOrganizationSynchronizationService) + { + _stsOrganizationSynchronizationService = stsOrganizationSynchronizationService; + } + + [HttpGet] + [Route("snapshot")] + public HttpResponseMessage GetSnapshotFromStsOrganization(Guid organizationId, uint? levels = null) + { + return _stsOrganizationSynchronizationService + .GetStsOrganizationalHierarchy(organizationId, levels.FromNullableValueType()) + .Select(MapOrganizationUnitDTO) + .Match(Ok, FromOperationError); + } + + private static StsOrganizationOrgUnitDTO MapOrganizationUnitDTO(StsOrganizationUnit organizationUnit) + { + return new StsOrganizationOrgUnitDTO() + { + Uuid = organizationUnit.Uuid, + Name = organizationUnit.Name, + UserFacingKey = organizationUnit.UserFacingKey, + Children = organizationUnit.Children.Select(MapOrganizationUnitDTO).ToList() + }; + } + } +} \ No newline at end of file diff --git a/Presentation.Web/Controllers/API/V1/UserController.cs b/Presentation.Web/Controllers/API/V1/UserController.cs index 63134cce29..480fed64b7 100644 --- a/Presentation.Web/Controllers/API/V1/UserController.cs +++ b/Presentation.Web/Controllers/API/V1/UserController.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net; using System.Net.Http; +using System.Web; using System.Web.Http; using Core.ApplicationServices; -using Core.ApplicationServices.Authorization; using Core.ApplicationServices.Authorization.Permissions; using Core.ApplicationServices.Model.RightsHolder; using Core.ApplicationServices.Organizations; @@ -13,11 +14,16 @@ using Core.DomainModel.Organization; using Core.DomainServices; using Core.DomainServices.Extensions; +using Core.DomainServices.Generic; +using Core.DomainServices.Queries; +using Core.DomainServices.Queries.User; using Newtonsoft.Json.Linq; +using Presentation.Web.Controllers.API.V1.Mapping; +using Presentation.Web.Extensions; using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Models.API.V1; +using Presentation.Web.Models.API.V1.Generic.Queries; using Presentation.Web.Models.API.V1.Users; - namespace Presentation.Web.Controllers.API.V1 { [InternalApi] @@ -25,21 +31,21 @@ public class UserController : GenericApiController { private readonly IUserService _userService; private readonly IOrganizationService _organizationService; - private readonly IOrganizationalUserContext _userContext; private readonly IUserRightsService _userRightsService; + private readonly IEntityIdentityResolver _identityResolver; public UserController( IGenericRepository repository, IUserService userService, IOrganizationService organizationService, - IOrganizationalUserContext userContext, - IUserRightsService userRightsService) + IUserRightsService userRightsService, + IEntityIdentityResolver identityResolver) : base(repository) { _userService = userService; _organizationService = organizationService; - _userContext = userContext; _userRightsService = userRightsService; + _identityResolver = identityResolver; } [NonAction] @@ -183,8 +189,12 @@ public HttpResponseMessage PostDefaultOrgUnit(bool? updateDefaultOrgUnit, Update public override HttpResponseMessage Delete(int id, int organizationId = 0) { // NOTE: Only exists to apply optional param for org id - return base.Delete(id, organizationId); + var uuid = _identityResolver.ResolveUuid(id); + return uuid.IsNone + ? NotFound() + : _userService.DeleteUserFromKitos(uuid.Value).Match(FromOperationError, Ok); } + [HttpGet] [Route("api/user/with-rightsholder-access")] @@ -210,6 +220,31 @@ public HttpResponseMessage GetUsersWithCrossAccess() .Match(Ok, FromOperationError); } + /// + /// Returns the users with matching name or email + /// + /// Name or email of the user + /// A list of users + [HttpGet] + [Route("api/users/search")] + public HttpResponseMessage SearchUsers(string query, [FromUri] V1BoundedPaginationQuery paginationQuery = null) + { + if (string.IsNullOrEmpty(query)) + return BadRequest("Query needs a value"); + + var decodedQuery = HttpUtility.UrlDecode(query); + + var queries = new List> { new QueryUserByNameOrEmail(decodedQuery) }; + + return _userService + .SearchAllKitosUsers(queries.ToArray()) + .Select(x => x.OrderBy(user => user.Id)) + .Select(x => x.Page(paginationQuery)) + .Select(x => x.ToList()) + .Select(ToUserWithEmailDtos) + .Match(Ok, FromOperationError); + } + private static IEnumerable ToUserWithOrgDTOs(List dtos) { return dtos.Select(ToUserWithOrgDTO).ToList(); @@ -220,6 +255,11 @@ private static UserWithOrganizationDTO ToUserWithOrgDTO(UserRoleAssociationDTO d return new(dto.User.Id, dto.User.GetFullName(), dto.User.Email, dto.Organization.Name, dto.User.HasApiAccess.GetValueOrDefault(false)); } + private static IEnumerable ToUserWithEmailDtos(List users) + { + return users.Select(user => user.MapToUserWithEmailDTO()).ToList(); + } + private static IEnumerable ToUserWithCrossRightsDTOs(IEnumerable users) { return users.Select(ToUserWithCrossRightsDTO).ToList(); diff --git a/Presentation.Web/Controllers/API/V1/UserRolesManagementController.cs b/Presentation.Web/Controllers/API/V1/UserRolesManagementController.cs new file mode 100644 index 0000000000..59e13164d8 --- /dev/null +++ b/Presentation.Web/Controllers/API/V1/UserRolesManagementController.cs @@ -0,0 +1,189 @@ +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Web.Http; +using Core.ApplicationServices.Model.Users; +using Core.ApplicationServices.Rights; +using Core.DomainModel.Organization; +using Presentation.Web.Infrastructure.Attributes; +using Presentation.Web.Models.API.V1.Users; + +namespace Presentation.Web.Controllers.API.V1 +{ + [InternalApi] + [RoutePrefix("api/v1/organizations/{organizationId}/users/{userId}/roles")] + + public class UserRolesManagementController : BaseApiController + { + private readonly IUserRightsService _rightsService; + + public UserRolesManagementController(IUserRightsService rightsService) + { + _rightsService = rightsService; + } + + /// + /// Get all user roles in the organization + /// + /// + /// + /// A which represents current assignment of administrative and business roles within the organization with id: + [HttpGet] + [Route] + public HttpResponseMessage Get(int organizationId, int userId) + { + return _rightsService + .GetUserRights(userId, organizationId) + .Select(ToRoleAssignmentsDTO) + .Match(Ok, FromOperationError); + } + + /// + /// Delete all role assignments in the organization + /// + /// + /// + [Route] + [HttpDelete] + public HttpResponseMessage Delete(int organizationId, int userId) + { + return _rightsService + .RemoveAllRights(userId, organizationId) + .Match(FromOperationError, Ok); + } + + /// + /// Delete selected org roles + /// + /// + /// + /// + [Route("range")] + [HttpDelete] + public HttpResponseMessage DeleteRange(int organizationId, int userId, [FromBody] RemoveUserRightsRequest assignmentsToDelete) + { + + if (!ModelState.IsValid) + return BadRequest(ModelState); + + var changeParameters = CreateChangeParameters(assignmentsToDelete.AdminRoles, assignmentsToDelete.BusinessRights); + + return _rightsService + .RemoveRights(userId, organizationId, changeParameters) + .Match(FromOperationError, Ok); + } + + /// + /// Transfers the selected roles to another user + /// + /// + /// + /// + [Route("range/transfer")] + [HttpPatch] + public HttpResponseMessage PatchTransferToAnotherUser(int organizationId, int userId, TransferRightsRequestDTO assignmentsToTransfer) + { + var changeParameters = CreateChangeParameters(assignmentsToTransfer.AdminRoles, assignmentsToTransfer.BusinessRights); + + return _rightsService + .TransferRights(userId, assignmentsToTransfer.ToUserId, organizationId, changeParameters) + .Match(FromOperationError, Ok); + } + + private static OrganizationUserRoleAssignmentsDTO ToRoleAssignmentsDTO(UserRightsAssignments arg) + { + return new OrganizationUserRoleAssignmentsDTO + { + AdministrativeAccessRoles = arg.LocalAdministrativeAccessRoles, + Rights = arg + .ContractRights + .Select(x => new AssignedRightDTO + { + RoleName = x.Role.Name, + BusinessObjectName = x.Object.Name, + RightId = x.Id, + Scope = BusinessRoleScope.ItContract + + }) + .Concat + ( + arg + .ProjectRights + .Select(x => new AssignedRightDTO + { + RoleName = x.Role.Name, + BusinessObjectName = x.Object.Name, + RightId = x.Id, + Scope = BusinessRoleScope.ItProject + + }) + ) + .Concat + ( + arg + .DataProcessingRegistrationRights + .Select(x => new AssignedRightDTO + { + RoleName = x.Role.Name, + BusinessObjectName = x.Object.Name, + RightId = x.Id, + Scope = BusinessRoleScope.DataProcessingRegistration + + }) + ) + .Concat + ( + arg + .SystemRights + .Select(x => new AssignedRightDTO + { + RoleName = x.Role.Name, + BusinessObjectName = x.Object.ItSystem.Name, + RightId = x.Id, + Scope = BusinessRoleScope.ItSystemUsage + + }) + ) + .Concat + ( + arg + .OrganizationUnitRights + .Select(x => new AssignedRightDTO + { + RoleName = x.Role.Name, + BusinessObjectName = x.Object.Name, + RightId = x.Id, + Scope = BusinessRoleScope.OrganizationUnit + + }) + ) + .ToList() + }; + } + + private static UserRightsChangeParameters CreateChangeParameters(IEnumerable adminRoles, IEnumerable rightsToTransfer) + { + var rightIds = rightsToTransfer + .GroupBy(rights => rights.Scope) + .ToDictionary + ( + grp => grp.Key, + grp => grp.Select(x => x.RightId).ToList() + ); + + return new UserRightsChangeParameters( + adminRoles, + GetIdsByScope(rightIds, BusinessRoleScope.DataProcessingRegistration), + GetIdsByScope(rightIds, BusinessRoleScope.ItSystemUsage), + GetIdsByScope(rightIds, BusinessRoleScope.ItContract), + GetIdsByScope(rightIds, BusinessRoleScope.ItProject), + GetIdsByScope(rightIds, BusinessRoleScope.OrganizationUnit) + ); + } + + private static IEnumerable GetIdsByScope(IReadOnlyDictionary> rightIds, BusinessRoleScope scope) + { + return rightIds.TryGetValue(scope, out var result) ? result : new List(); + } + } +} \ No newline at end of file diff --git a/Presentation.Web/Controllers/API/V2/External/ItContracts/ItContractHandoverTrialTypeV2Controller.cs b/Presentation.Web/Controllers/API/V2/External/ItContracts/ItContractCriticalityTypeV2Controller.cs similarity index 60% rename from Presentation.Web/Controllers/API/V2/External/ItContracts/ItContractHandoverTrialTypeV2Controller.cs rename to Presentation.Web/Controllers/API/V2/External/ItContracts/ItContractCriticalityTypeV2Controller.cs index db8a416c61..104cf779e2 100644 --- a/Presentation.Web/Controllers/API/V2/External/ItContracts/ItContractHandoverTrialTypeV2Controller.cs +++ b/Presentation.Web/Controllers/API/V2/External/ItContracts/ItContractCriticalityTypeV2Controller.cs @@ -1,30 +1,30 @@ -using Core.ApplicationServices.OptionTypes; -using Core.DomainModel.ItContract; -using Presentation.Web.Infrastructure.Attributes; -using Presentation.Web.Models.API.V2.Response.Options; -using Swashbuckle.Swagger.Annotations; -using System; +using System; using System.Collections.Generic; using System.Net; using System.Web.Http; +using Core.ApplicationServices.OptionTypes; +using Core.DomainModel.ItContract; +using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Models.API.V2.Request.Generic.Queries; using Presentation.Web.Models.API.V2.Response.Generic.Identity; +using Presentation.Web.Models.API.V2.Response.Options; +using Swashbuckle.Swagger.Annotations; namespace Presentation.Web.Controllers.API.V2.External.ItContracts { - [RoutePrefix("api/v2/it-contract-handover-trial-types")] - public class ItContractHandoverTrialTypeV2Controller : BaseRegularOptionTypeV2Controller + [RoutePrefix("api/v2/it-contract-criticality-types")] + public class ItContractCriticalityTypeV2Controller : BaseRegularOptionTypeV2Controller { - public ItContractHandoverTrialTypeV2Controller(IOptionsApplicationService optionService) + public ItContractCriticalityTypeV2Controller(IOptionsApplicationService optionService) : base(optionService) { } /// - /// Returns It-Contract handover trial type options + /// Returns It-Contract criticality type options /// - /// organization context for the handover trial types availability - /// A list of available It-Contract handover trial types + /// organization context for the criticality types availability + /// A list of available It-Contract criticality types [HttpGet] [Route] [SwaggerResponse(HttpStatusCode.OK, Type = typeof(IEnumerable))] @@ -37,21 +37,21 @@ public IHttpActionResult Get([NonEmptyGuid] Guid organizationUuid, [FromUri] Unb } /// - /// Returns requested It-Contract handover trial type + /// Returns requested It-Contract criticality type /// - /// handover trial type identifier - /// organization context for the handover trial type availability - /// A uuid and name pair with boolean to mark if the handover trial type is available in the organization + /// criticality type identifier + /// organization context for the criticality type availability + /// A uuid and name pair with boolean to mark if the criticality type is available in the organization [HttpGet] - [Route("{handoverTrialTypeUuid}")] + [Route("{criticalityTypeUuid}")] [SwaggerResponse(HttpStatusCode.OK, Type = typeof(RegularOptionExtendedResponseDTO))] [SwaggerResponse(HttpStatusCode.BadRequest)] [SwaggerResponse(HttpStatusCode.Unauthorized)] [SwaggerResponse(HttpStatusCode.Forbidden)] [SwaggerResponse(HttpStatusCode.NotFound)] - public IHttpActionResult Get([NonEmptyGuid] Guid handoverTrialTypeUuid, [NonEmptyGuid] Guid organizationUuid) + public IHttpActionResult Get([NonEmptyGuid] Guid criticalityTypeUuid, [NonEmptyGuid] Guid organizationUuid) { - return GetSingle(handoverTrialTypeUuid, organizationUuid); + return GetSingle(criticalityTypeUuid, organizationUuid); } } } \ No newline at end of file diff --git a/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractResponseMapper.cs b/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractResponseMapper.cs index b47220359f..01a9660593 100644 --- a/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractResponseMapper.cs +++ b/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractResponseMapper.cs @@ -10,6 +10,7 @@ using Presentation.Web.Models.API.V2.Response.Generic.Validity; using Presentation.Web.Models.API.V2.Types.Contract; using Presentation.Web.Models.API.V2.Types.Shared; +using Presentation.Web.Controllers.API.V2.External.DataProcessingRegistrations.Mapping; namespace Presentation.Web.Controllers.API.V2.External.ItContracts.Mapping { @@ -17,7 +18,7 @@ public class ItContractResponseMapper : IItContractResponseMapper { public ItContractResponseDTO MapContractDTO(ItContract contract) { - return new ItContractResponseDTO() + return new ItContractResponseDTO { Uuid = contract.Uuid, Name = contract.Name, @@ -32,7 +33,6 @@ public ItContractResponseDTO MapContractDTO(ItContract contract) Responsible = MapResponsible(contract), SystemUsages = contract.AssociatedSystemUsages?.Select(x => x.ItSystemUsage?.MapIdentityNamePairDTO()).ToList() ?? new List(), DataProcessingRegistrations = contract.DataProcessingRegistrations?.Select(x => x.MapIdentityNamePairDTO()).ToList() ?? new List(), - HandoverTrials = MapHandoverTrials(contract), PaymentModel = MapPaymentModel(contract), AgreementPeriod = MapAgreementPeriod(contract), Termination = MapTermination(contract), @@ -116,32 +116,6 @@ private static ContractPaymentModelDataResponseDTO MapPaymentModel(ItContract co PaymentModel = contract.PaymentModel?.MapIdentityNamePairDTO(), PaymentFrequency = contract.PaymentFreqency?.MapIdentityNamePairDTO(), PriceRegulation = contract.PriceRegulation?.MapIdentityNamePairDTO(), - PaymentMileStones = contract.PaymentMilestones?.Select(MapPaymentMilestones).ToList() ?? new List() - }; - } - - private static PaymentMileStoneDTO MapPaymentMilestones(PaymentMilestone paymentMilestone) - { - return new () - { - Title = paymentMilestone.Title, - Approved = paymentMilestone.Approved, - Expected = paymentMilestone.Expected - }; - } - - private static List MapHandoverTrials(ItContract contract) - { - return contract.HandoverTrials?.Select(MapHandoverTrial).ToList() ?? new List(); - } - - private static HandoverTrialResponseDTO MapHandoverTrial(HandoverTrial handoverTrial) - { - return new () - { - HandoverTrialType = handoverTrial.HandoverTrialType?.MapIdentityNamePairDTO(), - ApprovedAt = handoverTrial.Approved, - ExpectedAt = handoverTrial.Expected }; } @@ -173,21 +147,22 @@ private static ContractProcurementDataResponseDTO MapProcurement(ItContract cont { ProcurementStrategy = contract.ProcurementStrategy?.MapIdentityNamePairDTO(), PurchaseType = contract.PurchaseForm?.MapIdentityNamePairDTO(), - ProcurementPlan = MapProcurementPlan(contract) + ProcurementPlan = MapProcurementPlan(contract), + ProcurementInitiated = contract.ProcurementInitiated?.ToYesNoUndecidedChoice(), }; } private static ProcurementPlanDTO MapProcurementPlan(ItContract contract) { - if (!contract.ProcurementPlanHalf.HasValue) + if (!contract.ProcurementPlanQuarter.HasValue) return null; if (!contract.ProcurementPlanYear.HasValue) return null; - return new ProcurementPlanDTO() + return new ProcurementPlanDTO { - HalfOfYear = Convert.ToByte(contract.ProcurementPlanHalf.Value), + QuarterOfYear = Convert.ToByte(contract.ProcurementPlanQuarter.Value), Year = contract.ProcurementPlanYear.Value }; } @@ -201,6 +176,7 @@ private static ContractGeneralDataResponseDTO MapGeneral(ItContract contract) ContractTemplate = contract.ContractTemplate?.MapIdentityNamePairDTO(), ContractType = contract.ContractType?.MapIdentityNamePairDTO(), AgreementElements = contract.AssociatedAgreementElementTypes?.Select(x => x.AgreementElementType?.MapIdentityNamePairDTO()).ToList() ?? new List(), + Criticality = contract.Criticality?.MapIdentityNamePairDTO(), Validity = new ValidityResponseDTO { EnforcedValid = contract.Active, diff --git a/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractWriteModelMapper.cs b/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractWriteModelMapper.cs index c8f02862ec..e39096395f 100644 --- a/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractWriteModelMapper.cs +++ b/Presentation.Web/Controllers/API/V2/External/ItContracts/Mapping/ItContractWriteModelMapper.cs @@ -16,6 +16,8 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; +using Core.DomainModel.Shared; +using Presentation.Web.Controllers.API.V2.External.DataProcessingRegistrations.Mapping; namespace Presentation.Web.Controllers.API.V2.External.ItContracts.Mapping { @@ -59,8 +61,6 @@ TSection WithResetDataIfSectionIsNotDefinedWithFallback(TSection deser dto.Responsible = WithResetDataIfSectionIsNotDefined(dto.Responsible, x => x.Responsible); dto.Procurement = WithResetDataIfSectionIsNotDefined(dto.Procurement, x => x.Procurement); dto.Supplier = WithResetDataIfSectionIsNotDefined(dto.Supplier, x => x.Supplier); - dto.HandoverTrials = WithResetDataIfSectionIsNotDefinedWithFallback(dto.HandoverTrials, - x => x.HandoverTrials, Array.Empty); dto.ExternalReferences = WithResetDataIfSectionIsNotDefinedWithFallback(dto.ExternalReferences, x => x.ExternalReferences, Array.Empty); dto.SystemUsageUuids = WithResetDataIfSectionIsNotDefinedWithFallback(dto.SystemUsageUuids, @@ -85,7 +85,6 @@ TSection WithResetDataIfSectionIsNotDefinedWithFallback(TSection deser SystemUsageUuids = dto.SystemUsageUuids.FromNullable(), Responsible = dto.Responsible.FromNullable().Select(responsible => MapResponsible(responsible, rule)), Supplier = dto.Supplier.FromNullable().Select(supplier => MapSupplier(supplier, rule)), - HandoverTrials = dto.HandoverTrials.FromNullable().Select(MapHandOverTrials), ExternalReferences = dto.ExternalReferences.FromNullable().Select(MapReferences), Roles = dto.Roles.FromNullable().Select(MapRoles), DataProcessingRegistrationUuids = dto.DataProcessingRegistrationUuids.FromNullable(), @@ -158,15 +157,6 @@ private static IEnumerable MapRoles(IEnumerable assignments, Array.Empty); } - public IEnumerable MapHandOverTrials(IEnumerable dtos) - { - return dtos.Select(x => new ItContractHandoverTrialUpdate() - { - HandoverTrialTypeUuid = x.HandoverTrialTypeUuid, - ApprovedAt = x.ApprovedAt, - ExpectedAt = x.ExpectedAt - }).ToList(); - } private static ItContractPaymentModelModificationParameters MapPaymentModel(ContractPaymentModelDataWriteRequestDTO dto, IPropertyUpdateRule rule) where TRootDto : ContractWriteRequestDTO { @@ -186,19 +176,7 @@ private static ItContractPaymentModelModificationParameters MapPaymentModel x.PaymentModel.PriceRegulationUuid) ? dto.PriceRegulationUuid.AsChangedValue() - : OptionalValueChange.None, - - PaymentMileStones = rule.MustUpdate(x => x.PaymentModel.PaymentMileStones) - ? dto.PaymentMileStones - .FromNullable() - .Select(x => x - .Select(y => new ItContractPaymentMilestone() - { - Title = y.Title, - Approved = y.Approved, - Expected = y.Expected - })).AsChangedValue() - : OptionalValueChange>>.None + : OptionalValueChange.None }; } @@ -302,7 +280,11 @@ private static ItContractGeneralDataModificationParameters MapGeneralData x.General.Validity.EnforcedValid) ? (dto.Validity?.EnforcedValid ?? Maybe.None).AsChangedValue() - : OptionalValueChange>.None + : OptionalValueChange>.None, + + CriticalityUuid = rule.MustUpdate(x => x.General.CriticalityUuid) + ? dto.CriticalityUuid.AsChangedValue() + : OptionalValueChange.None, }; } @@ -320,7 +302,11 @@ private static ItContractProcurementModificationParameters MapProcurement x.Procurement.ProcurementPlan) ? MapProcurementPlan(dto.ProcurementPlan).AsChangedValue() - : OptionalValueChange>.None + : OptionalValueChange>.None, + + ProcurementInitiated = rule.MustUpdate(x => x.Procurement.ProcurementInitiated) + ? (dto.ProcurementInitiated?.ToYesNoUndecidedOption() ?? Maybe.None).AsChangedValue() + : OptionalValueChange>.None }; } @@ -329,9 +315,9 @@ private IEnumerable MapReferences(IEnumerabl return BaseMapReferences(dtos); } - private static Maybe<(byte half, int year)> MapProcurementPlan(ProcurementPlanDTO plan) + private static Maybe<(byte quarter, int year)> MapProcurementPlan(ProcurementPlanDTO plan) { - return plan == null ? Maybe<(byte half, int year)>.None : (plan.HalfOfYear, plan.Year); + return plan == null ? Maybe<(byte quarter, int year)>.None : (plan.QuarterOfYear, plan.Year); } } } \ No newline at end of file diff --git a/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageResponseMapper.cs b/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageResponseMapper.cs index 5954f4a827..c26e70c59d 100644 --- a/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageResponseMapper.cs +++ b/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageResponseMapper.cs @@ -22,18 +22,15 @@ namespace Presentation.Web.Controllers.API.V2.External.ItSystemUsages.Mapping { public class ItSystemUsageResponseMapper : IItSystemUsageResponseMapper { - private readonly IOrganizationRepository _organizationRepository; private readonly IItSystemUsageAttachedOptionRepository _itSystemUsageAttachedOptionRepository; private readonly ISensitivePersonalDataTypeRepository _sensitivePersonalDataTypeRepository; private readonly IGenericRepository _registerTypesRepository; public ItSystemUsageResponseMapper( - IOrganizationRepository organizationRepository, IItSystemUsageAttachedOptionRepository itSystemUsageAttachedOptionRepository, ISensitivePersonalDataTypeRepository sensitivePersonalDataTypeRepository, IGenericRepository registerTypesRepository) { - _organizationRepository = organizationRepository; _itSystemUsageAttachedOptionRepository = itSystemUsageAttachedOptionRepository; _sensitivePersonalDataTypeRepository = sensitivePersonalDataTypeRepository; _registerTypesRepository = registerTypesRepository; @@ -120,11 +117,7 @@ private ArchivingRegistrationsResponseDTO MapArchiving(ItSystemUsage systemUsage Location = systemUsage.ArchiveLocation?.MapIdentityNamePairDTO(), TestLocation = systemUsage.ArchiveTestLocation?.MapIdentityNamePairDTO(), Type = systemUsage.ArchiveType?.MapIdentityNamePairDTO(), - //TODO: Simplify mapping once https://os2web.atlassian.net/browse/KITOSUDV-2118 is resolved - Supplier = systemUsage - .SupplierId? - .Transform(id => _organizationRepository.GetById(id).Select(org => org.MapShallowOrganizationResponseDTO()))? - .GetValueOrDefault(), + Supplier = systemUsage.ArchiveSupplier?.MapShallowOrganizationResponseDTO(), JournalPeriods = systemUsage.ArchivePeriods.Select(period => new JournalPeriodDTO { Approved = period.Approved, @@ -267,6 +260,7 @@ private static ExpectedUsersIntervalDTO MapExpectedUsers(ItSystemUsage systemUsa { return systemUsage.UserCount switch { + null or UserCount.UNDECIDED => null, UserCount.BELOWTEN => new ExpectedUsersIntervalDTO { LowerBound = 0, UpperBound = 9 }, UserCount.TENTOFIFTY => new ExpectedUsersIntervalDTO { LowerBound = 10, UpperBound = 50 }, UserCount.FIFTYTOHUNDRED => new ExpectedUsersIntervalDTO { LowerBound = 50, UpperBound = 100 }, diff --git a/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageWriteModelMapper.cs b/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageWriteModelMapper.cs index 078b19ce5e..71d0a9063c 100644 --- a/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageWriteModelMapper.cs +++ b/Presentation.Web/Controllers/API/V2/External/ItSystemUsages/Mapping/ItSystemUsageWriteModelMapper.cs @@ -329,7 +329,7 @@ private UpdatedSystemUsageGeneralProperties MapGeneralData(GeneralDataWriteReque NumberOfExpectedUsersInterval = rule.MustUpdate(x => x.General.NumberOfExpectedUsers) ? source.NumberOfExpectedUsers?.FromNullable().Select(interval => - (interval.LowerBound.GetValueOrDefault(0), interval.UpperBound)) ?? + (interval.LowerBound, interval.UpperBound)) ?? Maybe<(int, int?)>.None.AsChangedValue() : OptionalValueChange>.None, diff --git a/Presentation.Web/Extensions/QueryablePaginationExtensions.cs b/Presentation.Web/Extensions/QueryablePaginationExtensions.cs index c590aac12b..a4650a4d41 100644 --- a/Presentation.Web/Extensions/QueryablePaginationExtensions.cs +++ b/Presentation.Web/Extensions/QueryablePaginationExtensions.cs @@ -2,7 +2,7 @@ using System.Linq; using Core.Abstractions.Extensions; using Core.ApplicationServices.Shared; - +using Presentation.Web.Models.API.V1.Generic.Queries; using Presentation.Web.Models.API.V2.Request.Generic.Queries; namespace Presentation.Web.Extensions @@ -16,6 +16,13 @@ public static IQueryable Page(this IQueryable src, BoundedPaginationQue return src.Skip(page * paginationPageSize).Take(paginationPageSize); } + public static IQueryable Page(this IQueryable src, V1BoundedPaginationQuery pagination) + { + var paginationPageSize = GetPaginationPageSize(pagination); + var page = GetPaginationPage(pagination); + + return src.Skip(page * paginationPageSize).Take(paginationPageSize); + } public static IEnumerable Page(this IEnumerable src, BoundedPaginationQuery pagination) { @@ -72,5 +79,15 @@ private static int GetPaginationPage(IStandardPaginationQueryParameters paginati { return pagination?.Page.GetValueOrDefault(0) ?? 0; } + + private static int GetPaginationPageSize(V1BoundedPaginationQuery pagination) + { + return pagination?.PageSize.GetValueOrDefault(PagingContraints.MaxPageSize) ?? PagingContraints.MaxPageSize; + } + + private static int GetPaginationPage(IV1StandardPaginationQueryParameters pagination) + { + return pagination?.Page.GetValueOrDefault(0) ?? 0; + } } } \ No newline at end of file diff --git a/Presentation.Web/Infrastructure/CustomMembershipProvider.cs b/Presentation.Web/Infrastructure/CustomMembershipProvider.cs index 86b350f25a..7adcfb5964 100644 --- a/Presentation.Web/Infrastructure/CustomMembershipProvider.cs +++ b/Presentation.Web/Infrastructure/CustomMembershipProvider.cs @@ -179,6 +179,11 @@ public override bool ValidateUser(string username, string password) return isValid; } + if (user.Deleted) + { + Logger.Warn("Attempt to authenticate deleted user with id:{id}",user.Id); + return false; + } // having a LockedOutDate means that the user is locked out if (user.LockedOutDate != null) { diff --git a/Presentation.Web/Models/API/V1/AdviceDTO.cs b/Presentation.Web/Models/API/V1/AdviceDTO.cs index afe418c779..07e1aefa6f 100644 --- a/Presentation.Web/Models/API/V1/AdviceDTO.cs +++ b/Presentation.Web/Models/API/V1/AdviceDTO.cs @@ -8,8 +8,6 @@ public class AdviceDTO public bool IsActive { get; set; } public string Name { get; set; } public DateTime? AlarmDate { get; set; } - public int? ReceiverId { get; set; } - public int? CarbonCopyReceiverId { get; set; } public string Subject { get; set; } public int ItContractId { get; set; } public DateTime? SentDate { get; set; } diff --git a/Presentation.Web/Models/API/V1/AdviceUserRelationDTO.cs b/Presentation.Web/Models/API/V1/AdviceUserRelationDTO.cs index 3e90efefa2..20da2570d0 100644 --- a/Presentation.Web/Models/API/V1/AdviceUserRelationDTO.cs +++ b/Presentation.Web/Models/API/V1/AdviceUserRelationDTO.cs @@ -4,9 +4,13 @@ namespace Presentation.Web.Models.API.V1 { public class AdviceUserRelationDTO { - public string Name { get; set; } + public string Email { get; set; } public RecieverType RecieverType { get; set; } - public RecieverType RecpientType { get; set; } + public RecipientType RecpientType { get; set; } public int? AdviceId { get; set; } + public int? ItContractRoleId { get; set; } + public int? ItProjectRoleId { get; set; } + public int? ItSystemRoleId { get; set; } + public int? DataProcessingRegistrationRoleId { get; set; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/Generic/Queries/IV1StandardPaginationQueryParameters.cs b/Presentation.Web/Models/API/V1/Generic/Queries/IV1StandardPaginationQueryParameters.cs new file mode 100644 index 0000000000..84756fc653 --- /dev/null +++ b/Presentation.Web/Models/API/V1/Generic/Queries/IV1StandardPaginationQueryParameters.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Presentation.Web.Models.API.V1.Generic.Queries +{ + public interface IV1StandardPaginationQueryParameters + { + public int? Page { get; set; } + public int? PageSize { get; set; } + } +} diff --git a/Presentation.Web/Models/API/V1/Generic/Queries/V1BoundedPaginationQuery.cs b/Presentation.Web/Models/API/V1/Generic/Queries/V1BoundedPaginationQuery.cs new file mode 100644 index 0000000000..063dd64b14 --- /dev/null +++ b/Presentation.Web/Models/API/V1/Generic/Queries/V1BoundedPaginationQuery.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Web; +using Core.ApplicationServices.Shared; + +namespace Presentation.Web.Models.API.V1.Generic.Queries +{ + /// + /// Defines the a bounded pagination query parameter set + /// + public class V1BoundedPaginationQuery : IV1StandardPaginationQueryParameters + + { + /// + /// 0-based page number. Use this parameter to page through the requested collection. + /// Offset in the source collection will be (pageSize * page) + /// Range: [0,2^31] Default: 0 + /// + [Range(0, int.MaxValue)] + public int? Page { get; set; } = null; + + /// + /// Size of the page referred by 'page'. + /// Range: [1,100] Default: 100. + /// + [Range(PagingContraints.MinPageSize, PagingContraints.MaxPageSize)] + public int? PageSize { get; set; } = null; + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/HandoverTrialDTO.cs b/Presentation.Web/Models/API/V1/HandoverTrialDTO.cs deleted file mode 100644 index 387935b708..0000000000 --- a/Presentation.Web/Models/API/V1/HandoverTrialDTO.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; - -namespace Presentation.Web.Models.API.V1 -{ - public class HandoverTrialDTO - { - public int Id { get; set; } - public DateTime? Expected { get; set; } - public DateTime? Approved { get; set; } - public int ItContractId { get; set; } - public int? HandoverTrialTypeId { get; set; } - public string HandoverTrialTypeName { get; set; } - } -} diff --git a/Presentation.Web/Models/API/V1/ItContract/ContractOptionsDTO.cs b/Presentation.Web/Models/API/V1/ItContract/ContractOptionsDTO.cs new file mode 100644 index 0000000000..d9677b2394 --- /dev/null +++ b/Presentation.Web/Models/API/V1/ItContract/ContractOptionsDTO.cs @@ -0,0 +1,18 @@ +using System.Collections.Generic; +using Presentation.Web.Models.API.V1.Shared; + +namespace Presentation.Web.Models.API.V1.ItContract +{ + public class ContractOptionsDTO + { + public IEnumerable CriticalityOptions{ get; set; } + public IEnumerable ContractTypeOptions{ get; set; } + public IEnumerable ContractTemplateOptions { get; set; } + public IEnumerable PurchaseFormOptions { get; set; } + public IEnumerable ProcurementStrategyOptions { get; set; } + public IEnumerable PaymentModelOptions { get; set; } + public IEnumerable PaymentFrequencyOptions { get; set; } + public IEnumerable OptionExtendOptions { get; set; } + public IEnumerable TerminationDeadlineOptions { get; set; } + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/ItContract/ContractProcurementPlanDTO.cs b/Presentation.Web/Models/API/V1/ItContract/ContractProcurementPlanDTO.cs new file mode 100644 index 0000000000..92a6c72bcf --- /dev/null +++ b/Presentation.Web/Models/API/V1/ItContract/ContractProcurementPlanDTO.cs @@ -0,0 +1,8 @@ +namespace Presentation.Web.Models.API.V1.ItContract +{ + public class ContractProcurementPlanDTO + { + public int ProcurementPlanYear { get; set; } + public int ProcurementPlanQuarter { get; set; } + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/ItContractDTO.cs b/Presentation.Web/Models/API/V1/ItContractDTO.cs index a1ac99e46e..08c6c6aa6e 100644 --- a/Presentation.Web/Models/API/V1/ItContractDTO.cs +++ b/Presentation.Web/Models/API/V1/ItContractDTO.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using Core.DomainModel.ItContract; +using Core.DomainModel.Shared; namespace Presentation.Web.Models.API.V1 { @@ -44,7 +45,7 @@ public class ItContractDTO public Guid? SupplierUuid { get; set; } public int? ProcurementStrategyId { get; set; } public string ProcurementStrategyName { get; set; } - public int? ProcurementPlanHalf { get; set; } + public int? ProcurementPlanQuarter { get; set; } public int? ProcurementPlanYear { get; set; } public int? ContractTemplateId { get; set; } public string ContractTemplateName { get; set; } @@ -61,14 +62,11 @@ public class ItContractDTO public IEnumerable Advices { get; set; } public DateTime LastChanged { get; set; } + public string LastChangedByName { get; set; } public int LastChangedByUserId { get; set; } + + public string ObjectOwnerFullName { get; set; } - public string ObjectOwnerName { get; set; } - public string ObjectOwnerLastName { get; set; } - public string ObjectOwnerFullName - { - get { return ObjectOwnerName + " " + ObjectOwnerLastName; } - } public int? ObjectOwnerId { get; set; } public YearSegmentOption? Running { get; set; } @@ -82,5 +80,9 @@ public string ObjectOwnerFullName public IEnumerable DataProcessingRegistrations { get; set; } public Guid Uuid { get; set; } + public int? CriticalityId { get; set; } + public string CriticalityName { get; set; } + + public YesNoUndecidedOption? ProcurementInitiated { get; set; } } } diff --git a/Presentation.Web/Models/API/V1/ItSystemUsageDTO.cs b/Presentation.Web/Models/API/V1/ItSystemUsageDTO.cs index 546a27f4b0..bd257b63d7 100644 --- a/Presentation.Web/Models/API/V1/ItSystemUsageDTO.cs +++ b/Presentation.Web/Models/API/V1/ItSystemUsageDTO.cs @@ -11,6 +11,8 @@ public class ItSystemUsageDTO public Guid Uuid { get; set; } public int Id { get; set; } public DateTime LastChanged { get; set; } + public string LastChangedByUserName { get; set; } + public string LastChangedByUserLastName { get; set; } public string Note { get; set; } public string LocalSystemId { get; set; } public string Version { get; set; } @@ -23,8 +25,8 @@ public class ItSystemUsageDTO public string ArchiveLocationName { get; set; } public int? ArchiveTestLocationId { get; set; } public string ArchiveTestLocationName { get; set; } - public string ArchiveSupplier { get; set; } //TODO: Remove once https://os2web.atlassian.net/browse/KITOSUDV-2118 is fixed - public int SupplierId { get; set; } + public int? ArchiveSupplierId { get; set; } + public string ArchiveSupplierName { get; set; } public string ResponsibleOrgUnitName { get; set; } public int OrganizationId { get; set; } public OrganizationDTO Organization { get; set; } @@ -62,7 +64,7 @@ public string ObjectOwnerFullName public int? ItSystemCategoriesId { get; set; } - public UserCount UserCount { get; set; } + public UserCount? UserCount { get; set; } public ArchiveDutyTypes? ArchiveDuty { get; set; } public string ArchiveNotes { get; set; } diff --git a/Presentation.Web/Models/API/V1/Organizations/OrganizationRemovalConflictsDTO.cs b/Presentation.Web/Models/API/V1/Organizations/OrganizationRemovalConflictsDTO.cs index 790011f828..152a004457 100644 --- a/Presentation.Web/Models/API/V1/Organizations/OrganizationRemovalConflictsDTO.cs +++ b/Presentation.Web/Models/API/V1/Organizations/OrganizationRemovalConflictsDTO.cs @@ -12,6 +12,7 @@ public class OrganizationRemovalConflictsDTO public IEnumerable DprInOtherOrganizationsWhereOrgIsSubDataProcessor { get; set; } public IEnumerable ContractsInOtherOrganizationsWhereOrgIsSupplier { get; set; } public IEnumerable SystemsInOtherOrganizationsWhereOrgIsRightsHolder { get; set; } + public IEnumerable SystemsWhereOrgIsArchiveSupplier { get; set; } public OrganizationRemovalConflictsDTO() { @@ -25,7 +26,8 @@ public OrganizationRemovalConflictsDTO( IEnumerable dprInOtherOrganizationsWhereOrgIsDataProcessor, IEnumerable dprInOtherOrganizationsWhereOrgIsSubDataProcessor, IEnumerable contractsInOtherOrganizationsWhereOrgIsSupplier, - IEnumerable systemsInOtherOrganizationsWhereOrgIsRightsHolder) + IEnumerable systemsInOtherOrganizationsWhereOrgIsRightsHolder, + IEnumerable systemsWhereOrgIsArchiveSupplier) { SystemsWithUsagesOutsideTheOrganization = systemsWithUsagesOutsideTheOrganization; InterfacesExposedOnSystemsOutsideTheOrganization = interfacesExposedOnSystemsOutsideTheOrganization; @@ -35,6 +37,7 @@ public OrganizationRemovalConflictsDTO( DprInOtherOrganizationsWhereOrgIsSubDataProcessor = dprInOtherOrganizationsWhereOrgIsSubDataProcessor; ContractsInOtherOrganizationsWhereOrgIsSupplier = contractsInOtherOrganizationsWhereOrgIsSupplier; SystemsInOtherOrganizationsWhereOrgIsRightsHolder = systemsInOtherOrganizationsWhereOrgIsRightsHolder; + SystemsWhereOrgIsArchiveSupplier = systemsWhereOrgIsArchiveSupplier; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/Organizations/StsOrganizationOrgUnitDTO.cs b/Presentation.Web/Models/API/V1/Organizations/StsOrganizationOrgUnitDTO.cs new file mode 100644 index 0000000000..c83aec1807 --- /dev/null +++ b/Presentation.Web/Models/API/V1/Organizations/StsOrganizationOrgUnitDTO.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; + +namespace Presentation.Web.Models.API.V1.Organizations +{ + public class StsOrganizationOrgUnitDTO + { + public Guid Uuid { get; set; } + public string Name { get; set; } + public string UserFacingKey { get; set; } + public IEnumerable Children { get; set; } + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/PaymentMilestoneDTO.cs b/Presentation.Web/Models/API/V1/PaymentMilestoneDTO.cs deleted file mode 100644 index e41f76557f..0000000000 --- a/Presentation.Web/Models/API/V1/PaymentMilestoneDTO.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; - -namespace Presentation.Web.Models.API.V1 -{ - public class PaymentMilestoneDTO - { - public int Id { get; set; } - public string Title { get; set; } - public DateTime? Expected { get; set; } - public DateTime? Approved { get; set; } - public int ItContractId { get; set; } - } -} diff --git a/Presentation.Web/Models/API/V1/Qa/BrokenExternalReferencesReportCsvMapper.cs b/Presentation.Web/Models/API/V1/Qa/BrokenExternalReferencesReportCsvMapper.cs index e83d73b1a2..f3302a8935 100644 --- a/Presentation.Web/Models/API/V1/Qa/BrokenExternalReferencesReportCsvMapper.cs +++ b/Presentation.Web/Models/API/V1/Qa/BrokenExternalReferencesReportCsvMapper.cs @@ -53,6 +53,8 @@ private static string MapErrorCategory(IBrokenLink arg) return "Se fejlkode"; case BrokenLinkCause.CommunicationError: return "Kommunikationsfejl"; + case BrokenLinkCause.TlsError: + return "Kommunikationsfejl (TLS)"; default: return UnknownValueString; } diff --git a/Presentation.Web/Models/API/V1/Users/AssignedRightDTO.cs b/Presentation.Web/Models/API/V1/Users/AssignedRightDTO.cs new file mode 100644 index 0000000000..e75e98ef87 --- /dev/null +++ b/Presentation.Web/Models/API/V1/Users/AssignedRightDTO.cs @@ -0,0 +1,26 @@ +using System.ComponentModel.DataAnnotations; + +namespace Presentation.Web.Models.API.V1.Users +{ + public class AssignedRightDTO + { + /// + /// The ID of the right, which is the assignment of the role to the business object. + /// + [Required] + public int RightId { get; set; } + /// + /// The name of the role associated with he right + /// + public string RoleName { get; set; } + /// + /// The name of the business object for which the right is created + /// + public string BusinessObjectName { get; set; } + /// + /// The role scope of the right assignment + /// + [Required] + public BusinessRoleScope Scope { get; set; } + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/Users/BusinessRoleScope.cs b/Presentation.Web/Models/API/V1/Users/BusinessRoleScope.cs new file mode 100644 index 0000000000..144f21562f --- /dev/null +++ b/Presentation.Web/Models/API/V1/Users/BusinessRoleScope.cs @@ -0,0 +1,11 @@ +namespace Presentation.Web.Models.API.V1.Users +{ + public enum BusinessRoleScope + { + ItSystemUsage = 0, + ItContract = 1, + DataProcessingRegistration = 2, + ItProject = 3, + OrganizationUnit = 4 + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/Users/OrganizationUserRoleAssignmentsDTO.cs b/Presentation.Web/Models/API/V1/Users/OrganizationUserRoleAssignmentsDTO.cs new file mode 100644 index 0000000000..6cf7a833f7 --- /dev/null +++ b/Presentation.Web/Models/API/V1/Users/OrganizationUserRoleAssignmentsDTO.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; +using Core.DomainModel.Organization; + +namespace Presentation.Web.Models.API.V1.Users +{ + public class OrganizationUserRoleAssignmentsDTO + { + public IEnumerable AdministrativeAccessRoles { get; set; } + public IEnumerable Rights { get; set; } + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/Users/RemoveUserRightsRequest.cs b/Presentation.Web/Models/API/V1/Users/RemoveUserRightsRequest.cs new file mode 100644 index 0000000000..20bfd41d03 --- /dev/null +++ b/Presentation.Web/Models/API/V1/Users/RemoveUserRightsRequest.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using Core.DomainModel.Organization; + +namespace Presentation.Web.Models.API.V1.Users +{ + public class RemoveUserRightsRequest + { + [Required] + public IEnumerable AdminRoles { get; set; } + [Required] + public IEnumerable BusinessRights { get; set; } + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V1/Users/TransferRightsRequestDTO.cs b/Presentation.Web/Models/API/V1/Users/TransferRightsRequestDTO.cs new file mode 100644 index 0000000000..964e03287a --- /dev/null +++ b/Presentation.Web/Models/API/V1/Users/TransferRightsRequestDTO.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using Core.DomainModel.Organization; + +namespace Presentation.Web.Models.API.V1.Users +{ + public class TransferRightsRequestDTO + { + [Required] + public int ToUserId { get; set; } + [Required] + public IEnumerable AdminRoles { get; set; } + [Required] + public IEnumerable BusinessRights { get; set; } + } +} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Request/Contract/ContractGeneralDataWriteRequestDTO.cs b/Presentation.Web/Models/API/V2/Request/Contract/ContractGeneralDataWriteRequestDTO.cs index 49d143124d..edb99950a5 100644 --- a/Presentation.Web/Models/API/V2/Request/Contract/ContractGeneralDataWriteRequestDTO.cs +++ b/Presentation.Web/Models/API/V2/Request/Contract/ContractGeneralDataWriteRequestDTO.cs @@ -37,5 +37,13 @@ public class ContractGeneralDataWriteRequestDTO /// Validity of the it-contract /// public ValidityWriteRequestDTO Validity { get; set; } + + /// + /// Optionally assigned criticality + /// Constraints: + /// - If changed from current state, the option type must be available in the organization + /// + [NonEmptyGuid] + public Guid? CriticalityUuid { get; set; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Request/Contract/ContractPaymentModelDataWriteRequestDTO.cs b/Presentation.Web/Models/API/V2/Request/Contract/ContractPaymentModelDataWriteRequestDTO.cs index c0b7d31768..bbe2e47509 100644 --- a/Presentation.Web/Models/API/V2/Request/Contract/ContractPaymentModelDataWriteRequestDTO.cs +++ b/Presentation.Web/Models/API/V2/Request/Contract/ContractPaymentModelDataWriteRequestDTO.cs @@ -32,6 +32,5 @@ public class ContractPaymentModelDataWriteRequestDTO /// [NonEmptyGuid] public Guid? PriceRegulationUuid { get; set; } - public IEnumerable PaymentMileStones { get; set; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Request/Contract/ContractProcurementDataWriteRequestDTO.cs b/Presentation.Web/Models/API/V2/Request/Contract/ContractProcurementDataWriteRequestDTO.cs index ea84fd2533..a5dcd0e947 100644 --- a/Presentation.Web/Models/API/V2/Request/Contract/ContractProcurementDataWriteRequestDTO.cs +++ b/Presentation.Web/Models/API/V2/Request/Contract/ContractProcurementDataWriteRequestDTO.cs @@ -1,6 +1,7 @@ using System; using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Models.API.V2.Types.Contract; +using Presentation.Web.Models.API.V2.Types.Shared; namespace Presentation.Web.Models.API.V2.Request.Contract { @@ -24,5 +25,9 @@ public class ContractProcurementDataWriteRequestDTO /// Procurement plan /// public ProcurementPlanDTO ProcurementPlan { get; set; } + /// + /// Repurchase Initiated for IT-Contract. (Genanskaffelse igangsat) + /// + public YesNoUndecidedChoice? ProcurementInitiated { get; set; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Request/Contract/ContractWriteRequestDTO.cs b/Presentation.Web/Models/API/V2/Request/Contract/ContractWriteRequestDTO.cs index 3b692be35c..04ae7caa67 100644 --- a/Presentation.Web/Models/API/V2/Request/Contract/ContractWriteRequestDTO.cs +++ b/Presentation.Web/Models/API/V2/Request/Contract/ContractWriteRequestDTO.cs @@ -35,7 +35,6 @@ public class ContractWriteRequestDTO /// public IEnumerable DataProcessingRegistrationUuids { get; set; } - public IEnumerable HandoverTrials { get; set; } public ContractPaymentModelDataWriteRequestDTO PaymentModel { get; set; } public ContractAgreementPeriodDataWriteRequestDTO AgreementPeriod { get; set; } public ContractTerminationDataWriteRequestDTO Termination { get; set; } diff --git a/Presentation.Web/Models/API/V2/Request/Contract/HandoverTrialRequestDTO.cs b/Presentation.Web/Models/API/V2/Request/Contract/HandoverTrialRequestDTO.cs deleted file mode 100644 index 0dad4a4376..0000000000 --- a/Presentation.Web/Models/API/V2/Request/Contract/HandoverTrialRequestDTO.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Presentation.Web.Infrastructure.Attributes; - -namespace Presentation.Web.Models.API.V2.Request.Contract -{ - public class HandoverTrialRequestDTO - { - /// - /// Mandatory handover trial type - /// Constraints: - /// - If changed from current state, the option type must be available in the organization - /// - [Required] - [NonEmptyGuid] - public Guid HandoverTrialTypeUuid { get; set; } - /// - /// Constraints: Either Approved or Expected must be defined - /// - public DateTime? ExpectedAt { get; set; } - /// - /// Constraints: Either Approved or Expected must be defined - /// - public DateTime? ApprovedAt { get; set; } - } -} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Response/Contract/ContractGeneralDataResponseDTO.cs b/Presentation.Web/Models/API/V2/Response/Contract/ContractGeneralDataResponseDTO.cs index b2e1899630..964e3bad21 100644 --- a/Presentation.Web/Models/API/V2/Response/Contract/ContractGeneralDataResponseDTO.cs +++ b/Presentation.Web/Models/API/V2/Response/Contract/ContractGeneralDataResponseDTO.cs @@ -30,5 +30,9 @@ public class ContractGeneralDataResponseDTO /// Validity of the it-contract /// public ValidityResponseDTO Validity { get; set; } + /// + /// Optionally assigned criticality + /// + public IdentityNamePairResponseDTO Criticality { get; set; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Response/Contract/ContractPaymentModelDataResponseDTO.cs b/Presentation.Web/Models/API/V2/Response/Contract/ContractPaymentModelDataResponseDTO.cs index 69b5cd101c..a66bb13afe 100644 --- a/Presentation.Web/Models/API/V2/Response/Contract/ContractPaymentModelDataResponseDTO.cs +++ b/Presentation.Web/Models/API/V2/Response/Contract/ContractPaymentModelDataResponseDTO.cs @@ -27,6 +27,5 @@ public class ContractPaymentModelDataResponseDTO /// [NonEmptyGuid] public IdentityNamePairResponseDTO PriceRegulation { get; set; } - public IEnumerable PaymentMileStones { get; set; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Response/Contract/ContractProcurementDataResponseDTO.cs b/Presentation.Web/Models/API/V2/Response/Contract/ContractProcurementDataResponseDTO.cs index 3e93a19f80..3bfcf9d08e 100644 --- a/Presentation.Web/Models/API/V2/Response/Contract/ContractProcurementDataResponseDTO.cs +++ b/Presentation.Web/Models/API/V2/Response/Contract/ContractProcurementDataResponseDTO.cs @@ -1,6 +1,7 @@ using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Models.API.V2.Response.Generic.Identity; using Presentation.Web.Models.API.V2.Types.Contract; +using Presentation.Web.Models.API.V2.Types.Shared; namespace Presentation.Web.Models.API.V2.Response.Contract { @@ -19,5 +20,9 @@ public class ContractProcurementDataResponseDTO /// Procurement plan /// public ProcurementPlanDTO ProcurementPlan { get; set; } + /// + /// Procurement Initiated for IT-Contract. (Genanskaffelse igangsat) + /// + public YesNoUndecidedChoice? ProcurementInitiated { get; set; } } } \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Response/Contract/HandoverTrialResponseDTO.cs b/Presentation.Web/Models/API/V2/Response/Contract/HandoverTrialResponseDTO.cs deleted file mode 100644 index c2d69fe4ca..0000000000 --- a/Presentation.Web/Models/API/V2/Response/Contract/HandoverTrialResponseDTO.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Presentation.Web.Infrastructure.Attributes; -using Presentation.Web.Models.API.V2.Response.Generic.Identity; - -namespace Presentation.Web.Models.API.V2.Response.Contract -{ - public class HandoverTrialResponseDTO - { - /// - /// Mandatory handover trial type - [Required] - [NonEmptyGuid] - public IdentityNamePairResponseDTO HandoverTrialType { get; set; } - public DateTime? ExpectedAt { get; set; } - public DateTime? ApprovedAt { get; set; } - } -} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Response/Contract/ItContractResponseDTO.cs b/Presentation.Web/Models/API/V2/Response/Contract/ItContractResponseDTO.cs index 96d7250df2..701c3952e3 100644 --- a/Presentation.Web/Models/API/V2/Response/Contract/ItContractResponseDTO.cs +++ b/Presentation.Web/Models/API/V2/Response/Contract/ItContractResponseDTO.cs @@ -50,7 +50,6 @@ public class ItContractResponseDTO : IHasNameExternal, IHasUuidExternal, IHasLas /// Data processing registrations associated with this it-contract /// public IEnumerable DataProcessingRegistrations { get; set; } - public IEnumerable HandoverTrials { get; set; } public ContractPaymentModelDataResponseDTO PaymentModel { get; set; } public ContractAgreementPeriodDataResponseDTO AgreementPeriod { get; set; } public ContractTerminationDataResponseDTO Termination { get; set; } diff --git a/Presentation.Web/Models/API/V2/Types/Contract/PaymentMileStoneDTO.cs b/Presentation.Web/Models/API/V2/Types/Contract/PaymentMileStoneDTO.cs deleted file mode 100644 index 55d623a098..0000000000 --- a/Presentation.Web/Models/API/V2/Types/Contract/PaymentMileStoneDTO.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; - -namespace Presentation.Web.Models.API.V2.Types.Contract -{ - public class PaymentMileStoneDTO - { - [Required(AllowEmptyStrings = false)] - public string Title { get; set; } - - public DateTime? Expected { get; set; } - public DateTime? Approved { get; set; } - } -} \ No newline at end of file diff --git a/Presentation.Web/Models/API/V2/Types/Contract/ProcurementPlanDTO.cs b/Presentation.Web/Models/API/V2/Types/Contract/ProcurementPlanDTO.cs index 2bc4076c87..56018f343d 100644 --- a/Presentation.Web/Models/API/V2/Types/Contract/ProcurementPlanDTO.cs +++ b/Presentation.Web/Models/API/V2/Types/Contract/ProcurementPlanDTO.cs @@ -7,12 +7,14 @@ public class ProcurementPlanDTO /// /// Which half of the year is the procurement plan for. /// Range: - /// - 1: First half of the year - /// - 2: Second half of the year + /// - 1: First quarter of the year + /// - 2: Second quarter of the year + /// - 3: Third quarter of the year + /// - 4: Fourth quarter of the year /// [Required] - [Range(1, 2)] - public byte HalfOfYear { get; set; } + [Range(1, 4)] + public byte QuarterOfYear { get; set; } /// /// Which year the procurement plan is for /// diff --git a/Presentation.Web/Models/API/V2/Types/SystemUsage/ExpectedUsersIntervalDTO.cs b/Presentation.Web/Models/API/V2/Types/SystemUsage/ExpectedUsersIntervalDTO.cs index 1c59b39a20..86315c1668 100644 --- a/Presentation.Web/Models/API/V2/Types/SystemUsage/ExpectedUsersIntervalDTO.cs +++ b/Presentation.Web/Models/API/V2/Types/SystemUsage/ExpectedUsersIntervalDTO.cs @@ -6,7 +6,7 @@ public class ExpectedUsersIntervalDTO /// Optional lower bound. /// If left unspecified, the interval has no lower bound. /// - public int? LowerBound { get; set; } + public int LowerBound { get; set; } /// /// Optional upper bound /// If left unspecified the interval has no upper bound. diff --git a/Presentation.Web/Ninject/KernelBuilder.cs b/Presentation.Web/Ninject/KernelBuilder.cs index 7b9a59f7b2..1fc4d74803 100644 --- a/Presentation.Web/Ninject/KernelBuilder.cs +++ b/Presentation.Web/Ninject/KernelBuilder.cs @@ -111,8 +111,12 @@ using Core.ApplicationServices.Organizations.Handlers; using Core.ApplicationServices.Tracking; using Core.ApplicationServices.UIConfiguration; +using Core.ApplicationServices.UIConfiguration.Handlers; using Core.DomainServices.Repositories.UICustomization; using Core.DomainServices.Tracking; +using Infrastructure.STS.Company.DomainServices; +using Infrastructure.STS.Organization.DomainServices; +using Infrastructure.STS.OrganizationUnit.DomainServices; using Presentation.Web.Controllers.API.V2.External.ItSystems.Mapping; using Presentation.Web.Controllers.API.V2.External.ItInterfaces.Mapping; @@ -250,6 +254,8 @@ public void RegisterServices(IKernel kernel) RegisterRoleAssignmentService(kernel); RegisterRoleAssignmentService(kernel); RegisterRoleAssignmentService(kernel); + RegisterRoleAssignmentService(kernel); + RegisterRoleAssignmentService(kernel); //MembershipProvider & Roleprovider injection - see ProviderInitializationHttpModule.cs kernel.Bind().ToMethod(ctx => Membership.Provider); @@ -271,6 +277,12 @@ public void RegisterServices(IKernel kernel) kernel.Bind().To().InCommandScope(Mode); kernel.Bind().To().InCommandScope(Mode); kernel.Bind().To().InCommandScope(Mode); + + //STS Organization + kernel.Bind().To().InCommandScope(Mode); + kernel.Bind().To().InCommandScope(Mode); + kernel.Bind().To().InCommandScope(Mode); + kernel.Bind().To().InCommandScope(Mode); } private void RegisterMappers(IKernel kernel) @@ -315,7 +327,7 @@ private void RegisterDomainEventsEngine(IKernel kernel) RegisterDomainEvent(kernel); RegisterDomainEvent, RelationSpecificInterfaceEventsHandler>(kernel); RegisterDomainEvent, UnbindBrokenReferenceReportsOnSourceDeletedHandler>(kernel); - RegisterDomainEvent(kernel); + RegisterDomainEvent(kernel); RegisterDomainEvent, UpdateRelationsOnSystemUsageDeletedHandler>(kernel); RegisterDomainEvent, UnbindBrokenReferenceReportsOnSourceDeletedHandler>(kernel); RegisterDomainEvent, CleanupDataProcessingRegistrationsOnSystemUsageDeletedEvent>(kernel); @@ -326,6 +338,7 @@ private void RegisterDomainEventsEngine(IKernel kernel) RegisterDomainEvent, BuildDataProcessingRegistrationReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildDataProcessingRegistrationReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildDataProcessingRegistrationReadModelOnChangesHandler>(kernel); + RegisterDomainEvent, BuildDataProcessingRegistrationReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildDataProcessingRegistrationReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildDataProcessingRegistrationReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildDataProcessingRegistrationReadModelOnChangesHandler>(kernel); @@ -353,6 +366,7 @@ private void RegisterDomainEventsEngine(IKernel kernel) RegisterDomainEvent, BuildItSystemUsageOverviewReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildItSystemUsageOverviewReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildItSystemUsageOverviewReadModelOnChangesHandler>(kernel); + RegisterDomainEvent, BuildItSystemUsageOverviewReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildItSystemUsageOverviewReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildItSystemUsageOverviewReadModelOnChangesHandler>(kernel); RegisterDomainEvent, BuildItSystemUsageOverviewReadModelOnChangesHandler>(kernel); @@ -390,7 +404,7 @@ private void RegisterDomainEventsEngine(IKernel kernel) //Organization RegisterDomainEvent, HandleOrganizationBeingDeleted>(kernel); - //TODO: Read models where it is involved must be scheduled for rebuild.. do it in a different handler (one of the read model handlers) + RegisterDomainEvent, HandleUserBeingDeleted>(kernel); } private void RegisterDomainEvent(IKernel kernel) @@ -456,7 +470,13 @@ private void RegisterOptions(IKernel kernel) RegisterOptionsService(kernel); - RegisterOptionsService(kernel); + RegisterOptionsService(kernel); + + //IT-Project + RegisterOptionsService(kernel); + + //OrganizationUnit + RegisterOptionsService(kernel); //Attached options services kernel.Bind>().ToMethod(ctx => @@ -521,7 +541,7 @@ private void RegisterDataAccess(IKernel kernel) kernel.Bind().To().InCommandScope(Mode); kernel.Bind().To().InCommandScope(Mode); kernel.Bind().To().InCommandScope(Mode); - kernel.Bind().To().InCommandScope(Mode); + kernel.Bind().To().InCommandScope(Mode); kernel.Bind().To().InCommandScope(Mode); kernel.Bind().To().InCommandScope(Mode); kernel.Bind().To().InCommandScope(Mode); @@ -607,6 +627,7 @@ private void RegisterBackgroundJobs(IKernel kernel) //Itsystemusage kernel.Bind().ToSelf().InCommandScope(Mode); kernel.Bind().ToSelf().InCommandScope(Mode); + kernel.Bind().ToSelf().InCommandScope(Mode); //Generic kernel.Bind().ToSelf().InCommandScope(Mode); diff --git a/Presentation.Web/Presentation.Web.csproj b/Presentation.Web/Presentation.Web.csproj index d843fecb7b..249dfffec5 100644 --- a/Presentation.Web/Presentation.Web.csproj +++ b/Presentation.Web/Presentation.Web.csproj @@ -154,8 +154,8 @@ ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\Ninject.3.3.4\lib\net45\Ninject.dll @@ -343,16 +343,40 @@ + + + + + + + + + + - + + + + + + + + + + + + + + + @@ -374,6 +398,7 @@ + @@ -381,7 +406,6 @@ - @@ -431,9 +455,13 @@ + + + + @@ -449,7 +477,6 @@ - @@ -458,12 +485,10 @@ - - @@ -581,9 +606,11 @@ + + @@ -740,6 +767,8 @@ + + @@ -773,6 +802,9 @@ + + + @@ -788,9 +820,7 @@ - - @@ -808,6 +838,7 @@ + @@ -831,7 +862,6 @@ - @@ -848,7 +878,6 @@ - @@ -869,7 +898,6 @@ - @@ -890,7 +918,6 @@ - @@ -918,7 +945,6 @@ - @@ -970,18 +996,15 @@ - - - @@ -1095,6 +1118,7 @@ + @@ -1112,6 +1136,7 @@ + @@ -1159,6 +1184,7 @@ + @@ -1200,9 +1226,7 @@ - - @@ -1219,7 +1243,7 @@ - + @@ -1242,7 +1266,6 @@ - @@ -1264,10 +1287,7 @@ - - - @@ -1307,14 +1327,6 @@ - - - - - - - - @@ -1396,11 +1408,9 @@ - - @@ -1481,20 +1491,6 @@ - - - - - - - - - - - - - - @@ -1504,24 +1500,17 @@ - - - - - - - @@ -1549,7 +1538,6 @@ - @@ -1569,8 +1557,6 @@ - - @@ -1649,9 +1635,11 @@ - - + + + + Designer @@ -1731,6 +1719,18 @@ {0326cae6-87a1-4d66-84ae-eb8ce0340e9f} Infrastructure.Services + + {09A799FA-3781-419B-AB54-3C76219FD2DE} + Infrastructure.STS.Company + + + {77C5BEDB-CC7F-4D6F-BF34-EC72B57C03C8} + Infrastructure.STS.OrganizationUnit + + + {3DC91665-93BB-442D-B186-7E90C7CD6E32} + Infrastructure.STS.Organization + 10.0 diff --git a/Presentation.Web/Properties/Settings.Designer.cs b/Presentation.Web/Properties/Settings.Designer.cs index b8003e1ca6..47441ebb6e 100644 --- a/Presentation.Web/Properties/Settings.Designer.cs +++ b/Presentation.Web/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace Presentation.Web.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.2.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -88,7 +88,7 @@ public string UseDefaultPassword { [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("1793d097f45b0acea258f7fe18d5a4155799da26")] + [global::System.Configuration.DefaultSettingValueAttribute("9d4b49c46f7d118c5cf9b4192b6db65e879e0b0f")] public string SsoCertificateThumbprint { get { return ((string)(this["SsoCertificateThumbprint"])); diff --git a/Presentation.Web/Properties/Settings.settings b/Presentation.Web/Properties/Settings.settings index d9fa5f5544..e19c1d1c02 100644 --- a/Presentation.Web/Properties/Settings.settings +++ b/Presentation.Web/Properties/Settings.settings @@ -24,7 +24,7 @@ true - 1793d097f45b0acea258f7fe18d5a4155799da26 + 9d4b49c46f7d118c5cf9b4192b6db65e879e0b0f exttest.serviceplatformen.dk diff --git a/Presentation.Web/Scripts/skins/lightgray/content.min.css b/Presentation.Web/Scripts/skins/lightgray/content.min.css deleted file mode 100644 index 07b59ad8a1..0000000000 --- a/Presentation.Web/Scripts/skins/lightgray/content.min.css +++ /dev/null @@ -1 +0,0 @@ -//Dummy file from gulp \ No newline at end of file diff --git a/Presentation.Web/Scripts/skins/lightgray/skin.min.css b/Presentation.Web/Scripts/skins/lightgray/skin.min.css deleted file mode 100644 index 07b59ad8a1..0000000000 --- a/Presentation.Web/Scripts/skins/lightgray/skin.min.css +++ /dev/null @@ -1 +0,0 @@ -//Dummy file from gulp \ No newline at end of file diff --git a/Presentation.Web/Startup.cs b/Presentation.Web/Startup.cs index 852447d18a..a12ab0361e 100644 --- a/Presentation.Web/Startup.cs +++ b/Presentation.Web/Startup.cs @@ -9,7 +9,6 @@ using Infrastructure.Services.Http; using Microsoft.IdentityModel.Tokens; using Presentation.Web.Hangfire; -using Presentation.Web.Infrastructure.Attributes; using Presentation.Web.Infrastructure.Middleware; using Presentation.Web.Infrastructure.Model.Authentication; using Presentation.Web.Ninject; @@ -65,19 +64,34 @@ private static void InitializeHangfire(IAppBuilder app) var recurringJobManager = new RecurringJobManager(); + /****************** + * RECURRING JOBS * + *****************/ + recurringJobManager.AddOrUpdate( recurringJobId: StandardJobIds.CheckExternalLinks, job: Job.FromExpression((IBackgroundJobLauncher launcher) => launcher.LaunchLinkCheckAsync(CancellationToken.None)), cronExpression: Cron.Weekly(DayOfWeek.Sunday, 0), timeZone: TimeZoneInfo.Local); - new RecurringJobManager().AddOrUpdate( + recurringJobManager.AddOrUpdate( + recurringJobId: StandardJobIds.ScheduleUpdatesForItSystemUsageReadModelsWhichChangesActiveState, + job: Job.FromExpression((IBackgroundJobLauncher launcher) => launcher.LaunchUpdateStaleSystemUsageRmAsync(CancellationToken.None)), + cronExpression: Cron.Daily(), // Every night at 00:00 + timeZone: TimeZoneInfo.Local); + + + /****************** + * ON-DEMAND JOBS * + *****************/ + + recurringJobManager.AddOrUpdate( recurringJobId: StandardJobIds.RebuildDataProcessingReadModels, job: Job.FromExpression((IBackgroundJobLauncher launcher) => launcher.LaunchFullReadModelRebuild(ReadModelRebuildScope.DataProcessingRegistration, CancellationToken.None)), cronExpression: Cron.Never(), //On demand timeZone: TimeZoneInfo.Local); - new RecurringJobManager().AddOrUpdate( + recurringJobManager.AddOrUpdate( recurringJobId: StandardJobIds.RebuildItSystemUsageReadModels, job: Job.FromExpression((IBackgroundJobLauncher launcher) => launcher.LaunchFullReadModelRebuild(ReadModelRebuildScope.ItSystemUsage, CancellationToken.None)), cronExpression: Cron.Never(), //On demand diff --git a/Presentation.Web/Tests/01_Parallel/It-Contract/LocalAdmin.ItContract.UiCustomization.e2e.spec.ts b/Presentation.Web/Tests/01_Parallel/It-Contract/LocalAdmin.ItContract.UiCustomization.e2e.spec.ts new file mode 100644 index 0000000000..9e3d45a17a --- /dev/null +++ b/Presentation.Web/Tests/01_Parallel/It-Contract/LocalAdmin.ItContract.UiCustomization.e2e.spec.ts @@ -0,0 +1,152 @@ +import Login = require("../../Helpers/LoginHelper"); +import TestFixtureWrapper = require("../../Utility/TestFixtureWrapper"); +import ContractHelper = require("../../Helpers/ContractHelper"); +import NavigationHelper = require("../../Utility/NavigationHelper"); +import ContractNavigationSrefs = require("../../Helpers/SideNavigation/ContractNavigationSrefs"); +import OrgHelper = require("../../Helpers/OrgHelper"); +import Select2Helper = require("../../Helpers/Select2Helper"); + +describe("Local admin is able customize the IT-Contract UI", () => { + + var loginHelper = new Login(); + var testFixture = new TestFixtureWrapper(); + var navigation = new NavigationHelper(); + + var contractName = ""; + var orgName = ""; + + beforeAll(() => { + testFixture.enableLongRunningTest(); + }); + + beforeEach(() => { + contractName = createName("contract"); + orgName = createName("org"); + console.log("Created contract name ", contractName, " and org name ", orgName); + }); + + afterEach(() => { + testFixture.cleanupState(); + }); + + afterAll(() => { + testFixture.cleanupState(); + testFixture.disableLongRunningTest(); + }); + + var localContractPath: string | null = null; + + it("Disabling tabs will hide the tabs on the IT-Contract details page", () => { + + return setupUserAndOrg() + .then(() => testTabCustomization(contractName, "ItContracts.contractRoles", ContractNavigationSrefs.contractRolesSref)) + .then(() => testTabCustomization(contractName, "ItContracts.advice", ContractNavigationSrefs.adviceSref)) + .then(() => testTabCustomization(contractName, "ItContracts.economy", ContractNavigationSrefs.economyPageSref)) + .then(() => testTabCustomization(contractName, "ItContracts.deadlines", ContractNavigationSrefs.deadlinesPageSref)); + }); + + it("Disabling fields will hide the fields on the IT-Contract page contents", () => { + + return setupUserAndOrg() + // Front page + .then(() => testFieldCustomization(contractName, "ItContracts.frontPage.procurementPlan", ContractNavigationSrefs.frontPageSref, "selectProcurementPlan")) + .then(() => testFieldCustomization(contractName, "ItContracts.frontPage.procurementStrategy", ContractNavigationSrefs.frontPageSref, "selectProcurementStrategy")) + .then(() => testFieldCustomization(contractName, "ItContracts.frontPage.procurementInitiated", ContractNavigationSrefs.frontPageSref, "selectProcurementInitiated")) + .then(() => testFieldCustomization(contractName, "ItContracts.frontPage.contractId", ContractNavigationSrefs.frontPageSref, "contract-id")) + .then(() => testFieldCustomization(contractName, "ItContracts.frontPage.contractType", ContractNavigationSrefs.frontPageSref, "s2id_contract-type")) + .then(() => testFieldCustomization(contractName, "ItContracts.frontPage.purchaseForm", ContractNavigationSrefs.frontPageSref, "s2id_contract-purchaseform")) + .then(() => testFieldGroupCustomization(contractName, "ItContracts.frontPage.externalSigner", ContractNavigationSrefs.frontPageSref, ["contract-ext-signer", "contract-ext-signed", "contract-ext-date"])) + .then(() => testFieldGroupCustomization(contractName, "ItContracts.frontPage.internalSigner", ContractNavigationSrefs.frontPageSref, ["contract-int-signer", "contract-int-signed", "contract-int-date"])) + .then(() => testFieldGroupCustomization(contractName, "ItContracts.frontPage.agreementPeriod", ContractNavigationSrefs.frontPageSref, ["agreement-concluded", "agreement-expiration"])) + .then(() => testFieldCustomization(contractName, "ItContracts.frontPage.isActive", ContractNavigationSrefs.frontPageSref, "contractIsActive")) + + // Deadlines tab + .then(() => testFieldCustomization(contractName, "ItContracts.deadlines.agreementDeadlines", ContractNavigationSrefs.deadlinesPageSref, "agreement-deadlines")) + .then(() => testFieldCustomization(contractName, "ItContracts.deadlines.termination", ContractNavigationSrefs.deadlinesPageSref, "termination")) + + + // Economy tab + .then(() => testFieldCustomization(contractName, "ItContracts.economy.paymentModel", ContractNavigationSrefs.economyPageSref, "payment-model")) + .then(() => testFieldCustomization(contractName, "ItContracts.economy.extPayment", ContractNavigationSrefs.economyPageSref, "ext-payment")) + .then(() => testFieldCustomization(contractName, "ItContracts.economy.intPayment", ContractNavigationSrefs.economyPageSref, "int-payment")); + }); + + function setupUserAndOrg() { + return loginHelper.loginAsGlobalAdmin() + .then(() => OrgHelper.createOrg(orgName)) + .then(() => OrgHelper.changeOrg(orgName)) + .then(() => ContractHelper.createContract(contractName)) + .then(() => navigation.getPage("/#/global-admin/local-admins")) + .then(() => Select2Helper.select(orgName, "s2id_selectOrg")) + .then(() => Select2Helper.select(loginHelper.getGlobalAdminCredentials().username, "selectUser")); + } + + function testTabCustomization(name: string, settingId: string, tabSref: string) { + console.log("testTabCustomization for ", name, " and tabSref:", tabSref, " settingId:", settingId); + return verifyTabVisibility(name, tabSref, true) //Check that the tab is visible before the change + .then(() => toggleSetting(settingId)) //Toggle the setting + .then(() => verifyTabVisibility(name, tabSref, false)); //Verify that the tab has now been hidden + } + + function testFieldCustomization(contractName: string, settingId: string, tabSref: string, settingElementId: string) { + return testFieldGroupCustomization(contractName, settingId, tabSref, [settingElementId]); + } + + function testFieldGroupCustomization(contractName: string, settingId: string, tabSref: string, settingElementIds: Array) { + console.log("testFieldCustomization for ", contractName, " and tabSref:", tabSref, " affecting settings with ids:", settingElementIds.join(", ")); + return verifySettingVisibility(contractName, tabSref, settingElementIds, true) //Check that the setting is visible before the change + .then(() => toggleSetting(settingId)) //Toggle the setting + .then(() => verifySettingVisibility(contractName, tabSref, settingElementIds, false)); //Verify that the setting has now been hidden + } + + function navigateToContract(contractName: string) { + let navigationPromise; + + if (localContractPath === null) { + navigationPromise = ContractHelper + .openContract(contractName) + .then(() => browser.getCurrentUrl()) + .then(url => localContractPath = url.substr(browser.params.baseUrl.length)); + } else { + // Save some time going directly to the contract in stead of going through kendo + navigationPromise = navigation.getPage(localContractPath); + } + return navigationPromise; + } + + function verifyTabVisibility(contractName: string, tabSref: string, expectedToBePresent: boolean) { + console.log("verifyTabVisibility for ", contractName, " and tabSref:", tabSref, " expectedPresence:", expectedToBePresent); + + return navigateToContract(contractName) + .then(() => expect(navigation.findSubMenuElement(tabSref).isPresent()).toBe(expectedToBePresent, `Failed to validate tab:${tabSref} to be ${expectedToBePresent ? "_present_" : "_removed_"}`)); + } + + function verifySettingVisibility(contractName: string, tabSref: string, settingElementIds: Array, expectedToBePresent: boolean) { + console.log("verifySettingVisibility for ", contractName, " and fields ", settingElementIds.join(", "), " located on tabSref:", tabSref, " expectedPresence:", expectedToBePresent); + + return navigateToContract(contractName) + .then(() => expect(navigation.findSubMenuElement(tabSref).isPresent()).toBe(true, `Tab ${tabSref} is not present`)) + .then(() => navigation.findSubMenuElement(tabSref).click()) + .then(() => browser.waitForAngular()) + .then(() => { + for (let settingElementId of settingElementIds) { + expect(element(by.id(settingElementId)).isPresent()).toBe(expectedToBePresent, `Setting: ${settingElementId} failed to meet expected visibility of ${expectedToBePresent}`); + } + }); + } + + function toggleSetting(settingId: string) { + console.log("toggleSetting for ", settingId); + return navigation.getPage("/#/local-config/contract") + .then(() => element(by.id("expand_collapse_ItContracts")).click()) + .then(() => browser.waitForAngular()) + .then(() => element(by.id(settingId)).click()) + .then(() => browser.waitForAngular()); + } + + function createName(prefix: string) { + return `${prefix}_${new Date().getTime()}`; + } +}); + + diff --git a/Presentation.Web/Tests/01_Parallel/data-processing/tabs/data-processing-registration.it-systems.e2e.spec.ts b/Presentation.Web/Tests/01_Parallel/data-processing/tabs/data-processing-registration.it-systems.e2e.spec.ts index b05026fcd2..e42dd922cf 100644 --- a/Presentation.Web/Tests/01_Parallel/data-processing/tabs/data-processing-registration.it-systems.e2e.spec.ts +++ b/Presentation.Web/Tests/01_Parallel/data-processing/tabs/data-processing-registration.it-systems.e2e.spec.ts @@ -4,7 +4,7 @@ import TestFixtureWrapper = require("../../../Utility/TestFixtureWrapper"); import DataProcessingRegistrationOverviewPageObject = require("../../../PageObjects/Data-Processing/data-processing-registration.overview.po"); import DataProcessingRegistrationHelper = require("../../../Helpers/DataProcessingRegistrationHelper") import SystemCatalogHelper = require("../../../Helpers/SystemCatalogHelper"); -import ItSystemUsageGdpr = require("../../../PageObjects/it-system/Usage/Tabs/ItSystemUsageGDPR.po"); +import ItSystemUsageDataProcessing = require("../../../PageObjects/it-system/Usage/Tabs/ItSystemUsageDataProcessing.po"); import LocalItSystemNavigation = require("../../../Helpers/SideNavigation/LocalItSystemNavigation"); describe("Data processing registration it-systems test", () => { @@ -64,9 +64,9 @@ describe("Data processing registration it-systems test", () => { function verifyDPRIsPresentOnItSystemGDPRPage(systemName: string, dprName: string) { console.log(`Expecting system ${systemName} contain reference to DPR:${dprName}`); return dpaHelper.clickSystem(systemName) - .then(() => LocalItSystemNavigation.openGDPRPage()) - .then(() => expect(ItSystemUsageGdpr.getDataProcessingLink(dprName).isPresent()).toBeTruthy()) - .then(() => ItSystemUsageGdpr.getDataProcessingLink(dprName).click()) + .then(() => LocalItSystemNavigation.openDataProcessingPage()) + .then(() => expect(ItSystemUsageDataProcessing.getDataProcessingLink(dprName).isPresent()).toBeTruthy()) + .then(() => ItSystemUsageDataProcessing.getDataProcessingLink(dprName).click()) .then(() => browser.waitForAngular()) .then(() => dpaHelper.goToItSystems()); } diff --git a/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Main.System.e2e.spec.ts b/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Main.System.e2e.spec.ts index 13ce1afdca..39fade19e4 100644 --- a/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Main.System.e2e.spec.ts +++ b/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Main.System.e2e.spec.ts @@ -8,6 +8,12 @@ import ItSystemUsageCommon = require("../../../../PageObjects/it-system/Usage/Ta describe("User is able to view local it system main page information", () => { + const userCountInputs = { + DefaultNull: { text: "" }, + Undecided: { text: " " }, + TenToFifty: { text: "10-50" } + }; + var loginHelper = new login(); var testFixture = new TestFixtureWrapper(); var localItProjectPage = new LocalItProjectConfigPage(); @@ -30,6 +36,8 @@ describe("User is able to view local it system main page information", testFixture.cleanupState(); }); + + it("User can view main page", () => { loginHelper.loginAsGlobalAdmin() @@ -48,6 +56,19 @@ describe("User is able to view local it system main page information", .then(() => localItProjectPage.getPage()) .then(() => LocalItProjectConfigPage.getIncludeModuleInputElement().click()); }); + + it("Change UserCount from null to 10-50, then change to undecided", + () => { + loginHelper.loginAsGlobalAdmin() + .then(() => ItSystemUsageHelper.openLocalSystem(mainSystemName)) + .then(() => ItSystemUsageHelper.validateSelectData(userCountInputs.DefaultNull.text)) + .then(() => ItSystemUsageHelper.selectUserCount(userCountInputs.TenToFifty.text)) + .then(() => browser.refresh()) + .then(() => ItSystemUsageHelper.validateSelectData(userCountInputs.TenToFifty.text)) + .then(() => ItSystemUsageHelper.selectUserCount(userCountInputs.Undecided.text)) + .then(() => browser.refresh()) + .then(() => ItSystemUsageHelper.validateSelectData(userCountInputs.Undecided.text)); + }); } ); diff --git a/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/RegularUser.ExposedInterfaces.e2e.spec.ts b/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/RegularUser.ExposedInterfaces.e2e.spec.ts index 2d8cb462b2..1918850ece 100644 --- a/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/RegularUser.ExposedInterfaces.e2e.spec.ts +++ b/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/RegularUser.ExposedInterfaces.e2e.spec.ts @@ -5,7 +5,6 @@ import ItSystemHelper = require("../../../../Helpers/SystemCatalogHelper"); import SystemUsageHelper = require("../../../../Helpers/SystemUsageHelper"); import LocalItSystemNavigation = require("../../../../Helpers/SideNavigation/LocalItSystemNavigation"); import ItSystemNavigation = require("../../../../Helpers/SideNavigation/ItSystemNavigation"); -import WaitTimers = require("../../../../Utility/WaitTimers"); describe("Regular user can", () => { @@ -15,8 +14,6 @@ describe("Regular user can", var itSystemWithInterfaceName = createName("SystemWithInterface"); var itSystemName = createName("SystemWithoutInterface"); var interfaceName = createName("Interface"); - var waitUpTo = new WaitTimers(); - var ec = protractor.ExpectedConditions; beforeAll(() => { loginHelper.loginAsGlobalAdmin() @@ -26,8 +23,9 @@ describe("Regular user can", .then(() => InterfaceHelper.createInterface(interfaceName)) .then(() => InterfaceHelper.bindInterfaceToSystem(itSystemWithInterfaceName, interfaceName)) .then(() => testFixture.cleanupState()) - .then(() => loginHelper.loginAsRegularUser()); - }, + .then(() => loginHelper.loginAsRegularUser()) + .then(() => console.log("Pre-test initialization finished")); + }, testFixture.longRunningSetup()); beforeEach(() => { @@ -44,8 +42,8 @@ describe("Regular user can", SystemUsageHelper.openLocalSystem(itSystemWithInterfaceName) .then(() => LocalItSystemNavigation.exposedInterfacesPage()) .then(() => console.log("Checking for interface")) - .then(() => browser.wait(ec.presenceOf(getInterfaceName()), waitUpTo.twentySeconds)) - .then(() => expect(getInterfaceName().getText()).toEqual(interfaceName)); + .then(() => browser.waitForAngular()) + .then(() => expect(getLinkToInterface(interfaceName).isPresent()).toBeTruthy()); }); it("View exposed interfaces from it system details with interface", @@ -53,8 +51,8 @@ describe("Regular user can", ItSystemHelper.openSystem(itSystemWithInterfaceName) .then(() => ItSystemNavigation.exposedInterfacesPage()) .then(() => console.log("Checking for interface")) - .then(() => browser.wait(ec.presenceOf(getInterfaceName()), waitUpTo.twentySeconds)) - .then(() => expect(getInterfaceName().getText()).toEqual(interfaceName)); + .then(() => browser.waitForAngular()) + .then(() => expect(getLinkToInterface(interfaceName).isPresent()).toBeTruthy()); }); it("View exposed interfaces from it system details without interface", @@ -67,11 +65,11 @@ describe("Regular user can", }); function createName(prefix: string) { - return `${prefix}_SystemWithInterface${new Date().getTime()}`; + return `${prefix}_Regular_user_can_${new Date().getTime()}`; } -function getInterfaceName() { - return element(by.css("[data-ui-sref='it-system.interface-edit.main({ id: exposure.id })']")); +function getLinkToInterface(interfaceName: string) { + return element(by.linkText(interfaceName)); } function urlRegex() { diff --git a/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Relation.System.e2e.spec.ts b/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Relation.System.e2e.spec.ts index a2b7c232c5..f0e645d964 100644 --- a/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Relation.System.e2e.spec.ts +++ b/Presentation.Web/Tests/01_Parallel/it-system/Usage/Tabs/Relation.System.e2e.spec.ts @@ -75,7 +75,7 @@ describe("User is able to create and view relation", .then(() => checkForUsedByDescription(relationSystemName1, description)) .then(() => checkForUsedByReference(relationSystemName1, reference)) .then(() => checkForUsedByFrequencyType(relationSystemName1, frequencyType)) - .then(() => checkContractTimeOverviewToShowRelationCount(contractName, expectedRelationCount)) + .then(() => checkContractOverviewToShowRelationCount(contractName, expectedRelationCount)) .then(() => ContractHelper.openContract(contractName)) .then(() => ContractNavigation.openSystemsPage()) .then(() => browser.waitForAngular()) @@ -156,6 +156,6 @@ function checkContractForFrequencyType(systemName: string, frequencyType: string expect(ContractSystemPage.getFrequencyType(systemName).getText()).toMatch(frequencyType); } -function checkContractTimeOverviewToShowRelationCount(contractName: string, expectedCount: string) { +function checkContractOverviewToShowRelationCount(contractName: string, expectedCount: string) { expect(ContractHelper.getRelationCountFromContractName(contractName)).toBe(expectedCount); } \ No newline at end of file diff --git a/Presentation.Web/Tests/01_Parallel/it-system/tabs/Main.System.e2e.spec.ts b/Presentation.Web/Tests/01_Parallel/it-system/tabs/Main.System.e2e.spec.ts index 6001bb1906..088b88e9b1 100644 --- a/Presentation.Web/Tests/01_Parallel/it-system/tabs/Main.System.e2e.spec.ts +++ b/Presentation.Web/Tests/01_Parallel/it-system/tabs/Main.System.e2e.spec.ts @@ -1,6 +1,6 @@ import login = require("../../../Helpers/LoginHelper"); import TestFixtureWrapper = require("../../../Utility/TestFixtureWrapper"); -import ItSystemHelper = require("../../../Helpers/SystemCatalogHelper"); +import ItSystemCatalogHelper = require("../../../Helpers/SystemCatalogHelper"); import ItSystemReference = require("../../../PageObjects/it-system/Tabs/ItSystemFrontpage.po"); import Select2Helper = require("../../../Helpers/Select2Helper"); @@ -18,7 +18,7 @@ describe("Global Admin can", beforeAll(() => { loginHelper.loginAsGlobalAdmin() - .then(() => ItSystemHelper.createSystem(itSystemName)); + .then(() => ItSystemCatalogHelper.createSystem(itSystemName)); }); beforeEach(() => { @@ -49,7 +49,7 @@ describe("Global Admin can", it("Edit Recommended ArchiveDuty and add comment", () => { var comment = `Comment${new Date().getTime()}`; - return ItSystemHelper.openSystem(itSystemName) + return ItSystemCatalogHelper.openSystem(itSystemName) .then(() => verifyCommentAvailability(false)) .then(() => selectArchiveDuty(optionInputs.B.text)) .then(() => { diff --git a/Presentation.Web/Tests/02_Sequential/Local-admin/LocalAdmin.DataProcessing.e2e.spec.ts b/Presentation.Web/Tests/02_Sequential/Local-admin/LocalAdmin.DataProcessing.e2e.spec.ts index e63409fc61..06159c0cae 100644 --- a/Presentation.Web/Tests/02_Sequential/Local-admin/LocalAdmin.DataProcessing.e2e.spec.ts +++ b/Presentation.Web/Tests/02_Sequential/Local-admin/LocalAdmin.DataProcessing.e2e.spec.ts @@ -4,15 +4,13 @@ import TestFixtureWrapper = require("../../Utility/TestFixtureWrapper"); import NavigationBarHelper = require("../../object-wrappers/navigationBarWrapper"); import SystemCatalogHelper = require("../../Helpers/SystemCatalogHelper"); import SystemUsageHelper = require("../../Helpers/SystemUsageHelper"); -import LocalItSystemNavigation = require("../../Helpers/SideNavigation/LocalItSystemNavigation"); -import SystemTabGDPR = require("../../PageObjects/it-system/Usage/Tabs/ItSystemUsageGDPR.po"); describe("Local admin is able to toggle DataProcessing", () => { var loginHelper = new Login(); var dpPageHelper = new LocalDataProcessing(); var testFixture = new TestFixtureWrapper(); - var naviHelper = new NavigationBarHelper(); + var navigationBarHelper = new NavigationBarHelper(); var systemName = createName("SystemName"); beforeAll(() => { @@ -38,30 +36,32 @@ describe("Local admin is able to toggle DataProcessing", () => { var isDataProcessingEnabled; dpPageHelper.getPage() .then(async () => isDataProcessingEnabled = await dpPageHelper.getToggleDataProcessingCheckbox().isSelected()) - .then(() => checkSystemGdprPageDataProcessingVisibility(isDataProcessingEnabled, systemName)) + .then(() => checkSystemDataProcessingVisibility(isDataProcessingEnabled, systemName)) .then(() => dpPageHelper.getPage()) .then(() => expectCheckboxValueToBe(isDataProcessingEnabled)) - .then(() => expectSystemGdprDataProcessingViewToBe(isDataProcessingEnabled)) + .then(() => expectSystemDataProcessingViewToBe(isDataProcessingEnabled)) .then(() => dpPageHelper.getToggleDataProcessingCheckbox().click()) .then(() => browser.waitForAngular()) .then(() => expectCheckboxValueToBe(!isDataProcessingEnabled)) - .then(() => expectSystemGdprDataProcessingViewToBe(!isDataProcessingEnabled) ) - .then(() => checkSystemGdprPageDataProcessingVisibility(!isDataProcessingEnabled, systemName)); + .then(() => expectSystemDataProcessingViewToBe(!isDataProcessingEnabled) ) + .then(() => checkSystemDataProcessingVisibility(!isDataProcessingEnabled, systemName)); }); - function checkSystemGdprPageDataProcessingVisibility(visibility: boolean, sysName: string) { + function checkSystemDataProcessingVisibility(visibility: boolean, sysName: string) { + console.log(`Checking DPR visibility, expected: ${visibility}, sysName: ${sysName}`); SystemUsageHelper.openLocalSystem(sysName) - .then(() => LocalItSystemNavigation.openGDPRPage()) - .then(() => expect((SystemTabGDPR.getDataProcessingRegistrationView()).isPresent()).toBe(visibility)); + .then(() => expect(navigationBarHelper.headerNavigations.dataProcessingButton.isPresent()).toBe(visibility)); } function expectCheckboxValueToBe(currentValueIs: boolean) { + console.log(`Expecting Checkbox value to be: ${currentValueIs}`); expect((dpPageHelper.getToggleDataProcessingCheckbox()).isSelected()).toBe(currentValueIs); } - function expectSystemGdprDataProcessingViewToBe(shown: boolean) { - expect((naviHelper.headerNavigations.dataProcessingButton).isPresent()).toBe(shown); + function expectSystemDataProcessingViewToBe(shown: boolean) { + console.log(`Expecting Data processing view to be: ${shown}`); + expect((navigationBarHelper.headerNavigations.dataProcessingButton).isPresent()).toBe(shown); } function createName(prefix: string) { diff --git a/Presentation.Web/Tests/Helpers/ContractHelper.ts b/Presentation.Web/Tests/Helpers/ContractHelper.ts index 12c541aa76..554388e3ee 100644 --- a/Presentation.Web/Tests/Helpers/ContractHelper.ts +++ b/Presentation.Web/Tests/Helpers/ContractHelper.ts @@ -1,17 +1,14 @@ import ContractPage = require("../PageObjects/It-contract/ItContractOverview.po"); import ContractDprPage = require("../PageObjects/It-contract/Tabs/ContractDpr.po"); -import ContractTimePage = require("../PageObjects/It-contract/ContractTimeOverview.po"); import CssHelper = require("../Object-wrappers/CSSLocatorHelper"); import Constants = require("../Utility/Constants"); import WaitTimers = require("../Utility/WaitTimers"); import NavigationHelper = require("../Utility/NavigationHelper"); import Select2Helper = require("./Select2Helper"); -import Select2 = Kitos.Constants.Select2; class ContractHelper { private static contractPage = new ContractPage(); - private static contractTimePage = new ContractTimePage(); private static cssHelper = new CssHelper(); private static consts = new Constants(); private static navigation = new NavigationHelper(); @@ -43,8 +40,8 @@ class ContractHelper { } public static getRelationCountFromContractName(name: string) { - return this.contractTimePage.getPage() - .then(() => this.waitForTimePageKendoGrid()) + return this.contractPage.getPage() + .then(() => this.waitForEconomyPageKendoGrid()) .then(() => { const filteredRows = this.findCatalogColumnsFor(name); return filteredRows.first().element(by.xpath("../..")) @@ -56,12 +53,8 @@ class ContractHelper { return this.contractPage.kendoToolbarWrapper.getFilteredColumnElement(this.contractPage.kendoToolbarWrapper.columnObjects().contractName, name); } - public static waitForTimePageKendoGrid() { - browser.wait(this.contractTimePage.waitForKendoGrid(), this.waitUpTo.twentySeconds); - } - public static waitForEconomyPageKendoGrid() { - browser.wait(this.contractTimePage.waitForKendoGrid(), this.waitUpTo.twentySeconds); + browser.wait(this.contractPage.waitForKendoGrid(), this.waitUpTo.twentySeconds); } public static goToDpr() { diff --git a/Presentation.Web/Tests/Helpers/SideNavigation/ContractNavigationSrefs.ts b/Presentation.Web/Tests/Helpers/SideNavigation/ContractNavigationSrefs.ts new file mode 100644 index 0000000000..4192619208 --- /dev/null +++ b/Presentation.Web/Tests/Helpers/SideNavigation/ContractNavigationSrefs.ts @@ -0,0 +1,9 @@ +class ContractNavigationSrefs { + static adviceSref = "it-contract.edit.advice-generic({type: 'itContract'})"; + static contractRolesSref = "it-contract.edit.roles"; + static frontPageSref = "it-contract.edit.main"; + static deadlinesPageSref = "it-contract.edit.deadlines"; + static economyPageSref = "it-contract.edit.economy"; +} + +export = ContractNavigationSrefs; \ No newline at end of file diff --git a/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigation.ts b/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigation.ts index d3113f6b87..2563588f48 100644 --- a/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigation.ts +++ b/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigation.ts @@ -25,6 +25,10 @@ class LocalItSystemNavigation { return LocalItSystemNavigation.navigation.goToSubMenuElement(LocalItSystemNavigationSrefs.GPDRSref); } + public static openDataProcessingPage() { + return LocalItSystemNavigation.navigation.goToSubMenuElement(LocalItSystemNavigationSrefs.dataProcessingSref); + } + public static openAdvicePage() { return LocalItSystemNavigation.navigation.goToSubMenuElement(LocalItSystemNavigationSrefs.adviceSref); } diff --git a/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigationSrefs.ts b/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigationSrefs.ts index 8e826df64f..cddb0ceff4 100644 --- a/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigationSrefs.ts +++ b/Presentation.Web/Tests/Helpers/SideNavigation/LocalItSystemNavigationSrefs.ts @@ -11,6 +11,7 @@ static hierarchySref = "it-system.usage.hierarchy"; static organizationSref = "it-system.usage.org"; static contractsSref = "it-system.usage.contracts"; + static dataProcessingSref = "it-system.usage.dataprocessing"; } export = LocalItSystemNavigationSrefs; \ No newline at end of file diff --git a/Presentation.Web/Tests/Helpers/SystemCatalogHelper.ts b/Presentation.Web/Tests/Helpers/SystemCatalogHelper.ts index c759851000..d2fb824b24 100644 --- a/Presentation.Web/Tests/Helpers/SystemCatalogHelper.ts +++ b/Presentation.Web/Tests/Helpers/SystemCatalogHelper.ts @@ -5,6 +5,7 @@ import Constants = require("../Utility/Constants"); import WaitTimers = require("../Utility/WaitTimers"); import Select2 = require("./Select2Helper"); import KendoToolbarWrapper = require("../Object-wrappers/KendoToolbarWrapper"); +import NavigationHelper = require("../Utility/NavigationHelper"); class SystemCatalogHelper { private static consts = new Constants(); @@ -15,6 +16,7 @@ class SystemCatalogHelper { private static readonly visibilitySelect2 = "s2id_system-access"; private static ec = protractor.ExpectedConditions; private static kendoToolbarWrapper = new KendoToolbarWrapper(); + private static navigationHelper = new NavigationHelper(); public static createSystem(name: string) { console.log(`Creating system: ${name}`); @@ -76,7 +78,12 @@ class SystemCatalogHelper { console.log(`open details for system: ${name}`); return SystemCatalogHelper.pageObject.getPage() .then(() => SystemCatalogHelper.waitForKendoGrid()) - .then(() => SystemCatalogHelper.findCatalogColumnsFor(name).first().click()) + .then(() => { + const results = SystemCatalogHelper.findCatalogColumnsFor(name); + return results.first() + .getAttribute("href") + .then(href => this.navigationHelper.getPageByFullUrl(href)); + }) .then(() => browser.waitForAngular()); } @@ -89,22 +96,10 @@ class SystemCatalogHelper { .then(() => console.log("System created")); } - public static openAnySystem() { - console.log(`open details for any system`); - return SystemCatalogHelper.pageObject.getPage() - .then(() => SystemCatalogHelper.waitForKendoGrid()) - .then(() => SystemCatalogHelper.findAnyCatalogColumns().first().click()) - .then(() => browser.waitForAngular()); - } - public static findCatalogColumnsFor(name: string) { return SystemCatalogHelper.pageObject.kendoToolbarWrapper.getFilteredColumnElement(SystemCatalogHelper.pageObject.kendoToolbarWrapper.columnObjects().catalogName, name); } - public static findAnyCatalogColumns() { - return SystemCatalogHelper.pageObject.kendoToolbarWrapper.getAnyColumnElement(SystemCatalogHelper.pageObject.kendoToolbarWrapper.columnObjects().catalogName); - } - public static getActivationToggleButton(name: string) { const filteredRows = SystemCatalogHelper.findCatalogColumnsFor(name); return filteredRows.first().element(by.xpath("../..")).element(this.cssHelper.byDataElementType(this.consts.toggleActivatingSystem)); @@ -154,7 +149,7 @@ class SystemCatalogHelper { .then(() => browser.wait(SystemCatalogHelper.pageObject.isCreateCatalogVisible(), SystemCatalogHelper.waitUpTo.twentySeconds)) .then(() => element( - SystemCatalogHelper.cssHelper.byDataElementType(SystemCatalogHelper.consts.nameOfSystemInput)) + SystemCatalogHelper.cssHelper.byDataElementType(SystemCatalogHelper.consts.nameOfSystemInput)) .sendKeys(name)) .then(() => browser.waitForAngular()); } diff --git a/Presentation.Web/Tests/Helpers/SystemUsageHelper.ts b/Presentation.Web/Tests/Helpers/SystemUsageHelper.ts index ab82ab40d2..b51aa732ec 100644 --- a/Presentation.Web/Tests/Helpers/SystemUsageHelper.ts +++ b/Presentation.Web/Tests/Helpers/SystemUsageHelper.ts @@ -1,7 +1,10 @@ import ItSystemOverview = require("../PageObjects/it-system/Usage/ItSystemUsageOverview.po"); +import Select2Helper = require("./Select2Helper"); +import Constants = require("../Utility/Constants"); class SystemUsageHelper { private static pageObject = new ItSystemOverview(); + private static consts = new Constants(); static openLocalSystem(name: string) { console.log(`open details for local system: ${name}`); @@ -19,5 +22,15 @@ class SystemUsageHelper { console.log("Waiting for kendo grid to be ready"); return this.pageObject.waitForKendoGrid(); } + + static selectUserCount(selection: string) { + console.log(`Selecting value: '${selection}'`); + return Select2Helper.selectWithNoSearch(selection, this.consts.mainUserCount); + }; + + static validateSelectData(expectedValue: string) { + console.log(`Validating if select contains value: '${expectedValue}'`); + return Select2Helper.getData(this.consts.mainUserCount).getText().then(result => expect(result.trim()).toBe(expectedValue.trim())); + }; } export = SystemUsageHelper; \ No newline at end of file diff --git a/Presentation.Web/Tests/PageObjects/it-system/Usage/Tabs/ItSystemUsageDataProcessing.po.ts b/Presentation.Web/Tests/PageObjects/it-system/Usage/Tabs/ItSystemUsageDataProcessing.po.ts new file mode 100644 index 0000000000..76dd2458da --- /dev/null +++ b/Presentation.Web/Tests/PageObjects/it-system/Usage/Tabs/ItSystemUsageDataProcessing.po.ts @@ -0,0 +1,25 @@ +import constants = require("../../../../Utility/Constants"); +import CssHelper = require("../../../../Object-wrappers/CSSLocatorHelper"); +import NavigationHelper = require("../../../../Utility/NavigationHelper") + +class ItSystemUsageDataProcessing { + + private static consts = new constants(); + private static cssHelper = new CssHelper(); + private static navigationHelper = new NavigationHelper(); + + static refreshPage(): webdriver.promise.Promise { + return ItSystemUsageDataProcessing.navigationHelper.refreshPage(); + } + + static getDataProcessingRegistrationView() { + console.log("Getting dpr view element"); + return element(this.cssHelper.byDataElementType(this.consts.dataProcessingRegistrationView)); + } + + static getDataProcessingLink(dprName: string) { + return element(by.linkText(dprName)); + } +} + +export = ItSystemUsageDataProcessing; \ No newline at end of file diff --git a/Presentation.Web/Tests/Utility/Constants.ts b/Presentation.Web/Tests/Utility/Constants.ts index dac5a125cd..d5d6ea38e1 100644 --- a/Presentation.Web/Tests/Utility/Constants.ts +++ b/Presentation.Web/Tests/Utility/Constants.ts @@ -5,7 +5,7 @@ readonly kendoSystemButtonCreate = "createITSystemButton"; readonly kendoDpaButtonCreate = "createDpaButton"; readonly kendoContractNameHeader = "contractNameHeader"; - readonly kendoContractNameObjects = "contractNameObject"; + readonly kendoContractNameObjects = "contractNameKendoObject"; readonly kendoButtonResetFilter = "resetFilterButton"; readonly kendoButtonSaveFilter = "saveFilterButton"; readonly kendoButtonUseFilter = "useFilterButton"; @@ -37,7 +37,7 @@ readonly kendoRemoveFilter = "removeFilterButton"; readonly kendoUserDeleteButton = "userDeleteButton"; - readonly kendoRelationCountObject = "relationCountObject"; + readonly kendoRelationCountObject = "relationCountKendoObject"; //Environmental variables readonly defaultSystemUsageName = "DefaultTestItSystem"; @@ -153,6 +153,7 @@ readonly mainBusinessType = "system-business-type"; readonly mainArchive = "archiveDuty"; readonly mainUUID = "system-uuid"; + readonly mainUserCount = "s2id_numberOfUsers"; readonly relationDescriptionField = "relationDescription"; readonly relationReferenceField = "relationReference"; @@ -211,6 +212,8 @@ readonly gdprLatestRiskAssesmentDateDateId = "latestRiskAssesmentDate"; readonly gdprDataProcessingRegistrationView = "gdprDataProcessingRegistrationView"; + readonly dataProcessingRegistrationView = "dataProcessingRegistrationView"; + readonly filterOrgButton = "filterOrgButton"; //Local admin diff --git a/Presentation.Web/Tests/Utility/NavigationHelper.ts b/Presentation.Web/Tests/Utility/NavigationHelper.ts index 42c4f48fd2..a3ab65a8cd 100644 --- a/Presentation.Web/Tests/Utility/NavigationHelper.ts +++ b/Presentation.Web/Tests/Utility/NavigationHelper.ts @@ -14,6 +14,10 @@ }); } + getPageByFullUrl(fullUrl: string): webdriver.promise.Promise { + return this.getPage(fullUrl.substr(browser.params.baseUrl.length)); + } + refreshPage(): webdriver.promise.Promise { return browser.refresh() .then(() => browser.waitForAngular()); diff --git a/Presentation.Web/Tests/object-wrappers/kendoToolbarWrapper.ts b/Presentation.Web/Tests/object-wrappers/kendoToolbarWrapper.ts index 58f4b1883a..c6074e3ef4 100644 --- a/Presentation.Web/Tests/object-wrappers/kendoToolbarWrapper.ts +++ b/Presentation.Web/Tests/object-wrappers/kendoToolbarWrapper.ts @@ -18,12 +18,12 @@ type HeaderButtons = { }; type InputFields = -{ - referenceDocTitle: protractor.ElementFinder, - referenceDocId: protractor.ElementFinder, - referenceDocUrl: protractor.ElementFinder, - referenceCreator: protractor.ElementFinder, -}; + { + referenceDocTitle: protractor.ElementFinder, + referenceDocId: protractor.ElementFinder, + referenceDocUrl: protractor.ElementFinder, + referenceCreator: protractor.ElementFinder, + }; type ColumnHeaders = { referenceName: protractor.ElementFinder, @@ -34,7 +34,7 @@ type ColumnHeaders = { usedByNameHeader: protractor.ElementFinder, userApi: protractor.ElementFinder, userRightsHolderAccess: protractor.ElementFinder, - userStakeHolderAccess : protractor.ElementFinder, + userStakeHolderAccess: protractor.ElementFinder, userEmail: protractor.ElementFinder, }; @@ -61,7 +61,7 @@ var consts = new Constants(); class kendoToolbarWrapper { public headerButtons(): HeaderButtons { - + var buttons: HeaderButtons = { editReference: element(byDataElementType(consts.kendoReferenceEditButton)), editSaveReference: element(byDataElementType(consts.kendoReferenceEditSaveButton)), @@ -139,6 +139,7 @@ class kendoToolbarWrapper { if (val === textValue) { return elem; } + return null; }); }); return test; diff --git a/Presentation.Web/Web.config b/Presentation.Web/Web.config index 7a27192652..d213fe6792 100644 --- a/Presentation.Web/Web.config +++ b/Presentation.Web/Web.config @@ -6,27 +6,18 @@ --> - -
+ +
-
+
- - + + @@ -43,8 +34,7 @@ - + @@ -65,18 +55,13 @@ - + - + @@ -110,8 +95,7 @@ - + @@ -121,8 +105,7 @@ - + @@ -173,7 +156,7 @@ - + @@ -232,13 +215,11 @@ - + - + @@ -246,8 +227,7 @@ - + @@ -259,28 +239,23 @@ - + - + - + - + - + @@ -307,8 +282,7 @@ - + @@ -335,7 +309,7 @@ true - 1793d097f45b0acea258f7fe18d5a4155799da26 + 9d4b49c46f7d118c5cf9b4192b6db65e879e0b0f exttest.serviceplatformen.dk @@ -353,12 +327,10 @@ --> - + 30 true - + SHA256 https://kitos-local.strongminds.dk @@ -388,8 +360,7 @@ urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName - + diff --git a/Presentation.Web/app/Constants/Constants.ts b/Presentation.Web/app/Constants/Constants.ts index 67b4f7901c..4d386165bc 100644 --- a/Presentation.Web/app/Constants/Constants.ts +++ b/Presentation.Web/app/Constants/Constants.ts @@ -3,7 +3,6 @@ export class SRef { static readonly SystemUsageOverview = "it-system.overview"; static readonly ContractOverview = "it-contract.overview"; - static readonly ContractPlanOverview = "it-contract.plan"; static readonly ProjectOverview = "it-project.overview"; static readonly DataProcessingRegistrationOverview = "data-processing.overview"; } diff --git a/Presentation.Web/app/components/data-processing/data-processing-registration-overview.controller.ts b/Presentation.Web/app/components/data-processing/data-processing-registration-overview.controller.ts index b6cad27754..bc0d0ea99c 100644 --- a/Presentation.Web/app/components/data-processing/data-processing-registration-overview.controller.ts +++ b/Presentation.Web/app/components/data-processing/data-processing-registration-overview.controller.ts @@ -41,30 +41,11 @@ //Helper functions const getRoleKey = (role: Kitos.Models.DataProcessing.IDataProcessingRoleDTO) => `role${role.id}`; - const extractOptionKey = (filterRequest: string, optionName: string): number => { - var pattern = new RegExp(`(.*\\(?${optionName} eq ')(\\d)('.*)`); - var matchedString = filterRequest.replace(pattern, "$2"); - return parseInt(matchedString); - } - const replaceRoleQuery = (filterUrl, roleName, roleId) => { var pattern = new RegExp(`(\\w+\\()${roleName}(,.*?\\))`, "i"); return filterUrl.replace(pattern, `RoleAssignments/any(c: $1c/UserFullName$2 and c/RoleId eq ${roleId})`); }; - const replaceOptionQuery = (filterUrl: string, optionName: string, emptyOptionKey: number): string => { - if (filterUrl.indexOf(optionName) === -1) { - return filterUrl; // optionName not found in filter so return original filter. Can be updated to .includes() instead of .indexOf() in later typescript versions - } - - var pattern = new RegExp(`(.+)?(${optionName} eq '\\d')( and .+'\\)|\\)|)`, "i"); - var key = extractOptionKey(filterUrl, optionName); - if (key === emptyOptionKey) { - return filterUrl.replace(pattern, `$1(${optionName} eq '${key}' or ${optionName} eq null)$3`); - } - return filterUrl; - }; - const replaceNullOptionQuery = (filterUrl: string): string => { if (filterUrl.indexOf("'null'") === -1) { return filterUrl; // 'null' not found in filter so return original filter. Can be updated to .includes() instead of .indexOf() in later typescript versions @@ -107,19 +88,19 @@ replaceRoleQuery(parameterMap.$filter, getRoleKey(role), role.id); }); - parameterMap.$filter = replaceOptionQuery(parameterMap.$filter, + parameterMap.$filter = Helpers.OdataQueryHelper.replaceOptionQuery(parameterMap.$filter, transferToInsecureThirdCountriesColumnName, Models.Api.Shared.YesNoUndecidedOption.Undecided); - parameterMap.$filter = replaceOptionQuery(parameterMap.$filter, + parameterMap.$filter = Helpers.OdataQueryHelper.replaceOptionQuery(parameterMap.$filter, isAgreementConcludedColumnName, Models.Api.Shared.YesNoIrrelevantOption.UNDECIDED); - parameterMap.$filter = replaceOptionQuery(parameterMap.$filter, + parameterMap.$filter = Helpers.OdataQueryHelper.replaceOptionQuery(parameterMap.$filter, oversightIntervalColumnName, Models.Api.Shared.YearMonthUndecidedIntervalOption.Undecided); - parameterMap.$filter = replaceOptionQuery(parameterMap.$filter, + parameterMap.$filter = Helpers.OdataQueryHelper.replaceOptionQuery(parameterMap.$filter, isOversightCompletedColumnName, Models.Api.Shared.YesNoUndecidedOption.Undecided); @@ -191,12 +172,7 @@ .withTitle("Dokument ID / Sagsnr.") .withId("dpReferenceUserAssignedId") .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) - .withRendering( - dataItem => Helpers.RenderFieldsHelper.renderReferenceId(dataItem - .MainReferenceUserAssignedId)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderReferenceId( - dataItem.MainReferenceUserAssignedId)) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderReferenceId(dataItem.MainReferenceUserAssignedId)) .withInitialVisibility(false)) .withColumn(builder => builder @@ -205,8 +181,15 @@ .withId("dpSystemNamesAsCsv") .withContentOverflow() .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) - .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.SystemNamesAsCsv)) - .withExcelOutput(dataItem => Helpers.ExcelExportHelper.renderString(dataItem.SystemNamesAsCsv))) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.SystemNamesAsCsv))) + .withColumn(builder => + builder + .withDataSourceName("SystemUuidsAsCsv") + .withTitle("IT Systemer (UUID)") + .withId("itSystemUuid") + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.SystemUuidsAsCsv))) .withColumn(builder => builder .withDataSourceName("ContractNamesAsCsv") @@ -214,9 +197,7 @@ .withId("dpContractNamesAsCsv") .withContentOverflow() .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) - .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.ContractNamesAsCsv)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderString(dataItem.ContractNamesAsCsv))) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.ContractNamesAsCsv))) .withColumn(builder => builder .withDataSourceName("DataProcessorNamesAsCsv") @@ -224,10 +205,7 @@ .withId("dpDataProcessorNamesAsCsv") .withContentOverflow() .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) - .withRendering( - dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.DataProcessorNamesAsCsv)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderString(dataItem.DataProcessorNamesAsCsv))) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.DataProcessorNamesAsCsv))) .withColumn(builder => builder .withDataSourceName("SubDataProcessorNamesAsCsv") @@ -235,10 +213,7 @@ .withId("dpSubDataProcessorNamesAsCsv") .withContentOverflow() .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) - .withRendering( - dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.SubDataProcessorNamesAsCsv)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderString(dataItem.SubDataProcessorNamesAsCsv))) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.SubDataProcessorNamesAsCsv))) .withColumn(builder => builder .withDataSourceName(transferToInsecureThirdCountriesColumnName) @@ -258,14 +233,9 @@ }), false ) - .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString( - dataItem.TransferToInsecureThirdCountries && - Models.ViewModel.Shared.YesNoUndecidedOptions.getText(dataItem - .TransferToInsecureThirdCountries))) - .withExcelOutput(dataItem => Helpers.ExcelExportHelper.renderString( - dataItem.TransferToInsecureThirdCountries && - Models.ViewModel.Shared.YesNoUndecidedOptions.getText(dataItem - .TransferToInsecureThirdCountries)))) + .withRendering(dataItem => + Helpers.RenderFieldsHelper.renderString(dataItem.TransferToInsecureThirdCountries && + Models.ViewModel.Shared.YesNoUndecidedOptions.getText(dataItem.TransferToInsecureThirdCountries)))) .withColumn(builder => { var options = dataProcessingRegistrationOptions .basisForTransferOptions @@ -290,10 +260,7 @@ options, false ) - .withRendering( - dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.BasisForTransfer)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderString(dataItem.BasisForTransfer)); + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.BasisForTransfer)); }) .withColumn(builder => { var options = dataProcessingRegistrationOptions @@ -320,10 +287,7 @@ options, false ) - .withRendering( - dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.DataResponsible)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderString(dataItem.DataResponsible)); + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.DataResponsible)); }) .withColumn(builder => builder @@ -346,21 +310,16 @@ false ) .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString( - dataItem.IsAgreementConcluded && - Models.ViewModel.Shared.YesNoIrrelevantOptions.getText(dataItem.IsAgreementConcluded))) - .withExcelOutput(dataItem => Helpers.ExcelExportHelper.renderString( dataItem.IsAgreementConcluded && Models.ViewModel.Shared.YesNoIrrelevantOptions.getText(dataItem.IsAgreementConcluded)))) - .withColumn(builder => + .withColumn(builder => builder .withDataSourceName("AgreementConcludedAt") .withTitle("Dato for indgåelse af databehandleraftale") .withId("agreementConcludedAt") .withStandardWidth(160) .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Date) - .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.AgreementConcludedAt)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderDate(dataItem.AgreementConcludedAt))) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.AgreementConcludedAt))) .withColumn(builder => builder .withDataSourceName(oversightIntervalColumnName) @@ -384,10 +343,6 @@ false ) .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.OversightInterval && - Models.ViewModel.Shared.YearMonthUndecidedIntervalOption - .getText(dataItem.OversightInterval))) - .withExcelOutput(dataItem => Helpers.ExcelExportHelper.renderString( - dataItem.OversightInterval && Models.ViewModel.Shared.YearMonthUndecidedIntervalOption .getText(dataItem.OversightInterval)))) .withColumn(builder => { @@ -414,10 +369,7 @@ options, true ) - .withRendering( - dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.OversightOptionNamesAsCsv)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderString(dataItem.OversightOptionNamesAsCsv)); + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.OversightOptionNamesAsCsv)); }) .withColumn(builder => builder @@ -439,9 +391,6 @@ false ) .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString( - dataItem.IsOversightCompleted && - Models.ViewModel.Shared.YesNoUndecidedOptions.getText(dataItem.IsOversightCompleted))) - .withExcelOutput(dataItem => Helpers.ExcelExportHelper.renderString( dataItem.IsOversightCompleted && Models.ViewModel.Shared.YesNoUndecidedOptions.getText(dataItem.IsOversightCompleted)))) .withColumn(builder => @@ -451,9 +400,25 @@ .withId("latestOversightDate") .withStandardWidth(160) .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Date) - .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.LatestOversightDate)) - .withExcelOutput( - dataItem => Helpers.ExcelExportHelper.renderDate(dataItem.LatestOversightDate))) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.LatestOversightDate))) + .withColumn(builder => + builder + .withDataSourceName("LastChangedByName") + .withTitle("Sidst redigeret: Bruger") + .withId("lastchangedname") + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withInitialVisibility(false) + .withSourceValueEchoRendering() + .withSourceValueEchoExcelOutput()) + .withColumn(builder => + builder + .withDataSourceName("LastChangedAt") + .withTitle("Sidste redigeret: Dato") + .withId("changed") + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Date) + .withDataSourceType(Utility.KendoGrid.KendoGridColumnDataSourceType.Date) + .withInitialVisibility(false) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.LastChangedAt))) .withStandardSorting("Name"); dataProcessingRegistrationOptions.roles.forEach(role => diff --git a/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-advice.state.ts b/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-advice.state.ts index 6e9025fef4..596fa7dd25 100644 --- a/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-advice.state.ts +++ b/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-advice.state.ts @@ -9,7 +9,7 @@ Roles: ["dataProcessingRegistrationOptions", (dataProcessingRegistrationOptions: Kitos.Models.DataProcessing.IDataProcessingRegistrationOptions) => dataProcessingRegistrationOptions.roles], object: ["dataProcessingRegistration", agreement => agreement], - type: [() => "dataProcessingRegistration"], + type: [() => Kitos.Models.Advice.AdviceType.DataProcessingRegistration], advicename: ["dataProcessingRegistration", (dataProcessingRegistration: Kitos.Models.DataProcessing.IDataProcessingRegistrationDTO) => { name: dataProcessingRegistration.name } ] diff --git a/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-main.controller.ts b/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-main.controller.ts index c43e7a3d13..c6ed7067be 100644 --- a/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-main.controller.ts +++ b/Presentation.Web/app/components/data-processing/tabs/data-processing-registration-tab-main.controller.ts @@ -219,16 +219,6 @@ ); } - private formatDataProcessorChoice(choice: Models.ViewModel.Generic.Select2OptionViewModel) { - let result = `
${choice.text}
`; - - if (choice.optionalObjectContext?.cvrNumber) { - result += `
${choice.optionalObjectContext.cvrNumber}
`; - } - - return result; - } - private bindDataProcessors() { const pageSize = 100; this.bindingService.bindMultiSelectConfiguration( @@ -241,9 +231,10 @@ (query) => this.dataProcessingRegistrationService.getApplicableDataProcessors(this.dataProcessingRegistrationId, query, pageSize) .then(results => this.mapDataProcessingSearchResults(results)), null, - this.formatDataProcessorChoice + Helpers.Select2OptionsFormatHelper.formatOrganizationWithOptionalObjectContext ); } + private bindSubDataProcessors() { const pageSize = 100; this.bindingService.bindMultiSelectConfiguration( @@ -258,7 +249,7 @@ .getApplicableSubDataProcessors(this.dataProcessingRegistrationId, query, pageSize) .then(results => this.mapDataProcessingSearchResults(results)), null, - this.formatDataProcessorChoice + Helpers.Select2OptionsFormatHelper.formatOrganizationWithOptionalObjectContext ); } diff --git a/Presentation.Web/app/components/global-admin/global-admin-contract.view.html b/Presentation.Web/app/components/global-admin/global-admin-contract.view.html index 301829db59..adc958e4ef 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-contract.view.html +++ b/Presentation.Web/app/components/global-admin/global-admin-contract.view.html @@ -7,6 +7,6 @@
-
+
-
+
diff --git a/Presentation.Web/app/components/global-admin/global-admin-help-texts-create.modal.controller.ts b/Presentation.Web/app/components/global-admin/global-admin-help-texts-create.modal.controller.ts index f840f7768f..a5a7dfb6bd 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-help-texts-create.modal.controller.ts +++ b/Presentation.Web/app/components/global-admin/global-admin-help-texts-create.modal.controller.ts @@ -1,5 +1,5 @@ module Kitos.GlobalAdmin.HelpTexts { - "use strict" + "use strict"; interface ICreateViewModel { title: string; @@ -10,16 +10,15 @@ public busy: boolean; public vm: ICreateViewModel; - public static $inject: string[] = ["$uibModalInstance", "$http", "$q", "notify", "autofocus", "user", "_", "helpTexts"]; + public static $inject: string[] = ["$uibModalInstance", "notify", "autofocus", "user", "_", "helpTexts", "helpTextService"]; constructor(private $uibModalInstance: ng.ui.bootstrap.IModalServiceInstance, - private $http: IHttpServiceWithCustomConfig, - private $q: ng.IQService, private notify, private autofocus, - private user: Kitos.Services.IUser, + private user: Services.IUser, private _: _.LoDashStatic, - private helpTexts) { + private helpTexts, + private helpTextService: Services.IHelpTextService) { if (!user.currentOrganizationId) { notify.addErrorMessage("Fejl! Kunne ikke oprette hjælpetekst.", true); return; @@ -42,15 +41,10 @@ } this.busy = true; - var payload = { - Title: this.vm.title, - Key: this.vm.key - }; - var msg = this.notify.addInfoMessage("Opretter hjælpetekst", false); - this.$http.post(`odata/HelpTexts?organizationId=${this.user.currentOrganizationId}`, payload, { handleBusy: true }) - .then((response) => { + this.helpTextService.createHelpText(this.vm.key, this.vm.title) + .then(() => { msg.toSuccessMessage(`${this.vm.title} er oprettet i KITOS`); this.cancel(); }, () => { diff --git a/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.controller.ts b/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.controller.ts index cd891b21ae..43e76c1831 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.controller.ts +++ b/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.controller.ts @@ -15,8 +15,7 @@ $rootScope.page.title = "Hjælpetekter"; this.tinymceOptions = { plugins: "link image code", - skin: "lightgray", - theme: "modern", + theme: "silver", convert_urls: false, height: "400px" }; diff --git a/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.view.html b/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.view.html index 653bf1a0d2..75c4460478 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.view.html +++ b/Presentation.Web/app/components/global-admin/global-admin-help-texts-edit.view.html @@ -3,13 +3,13 @@
- - + +
- +
diff --git a/Presentation.Web/app/components/global-admin/global-admin-help-texts.controller.ts b/Presentation.Web/app/components/global-admin/global-admin-help-texts.controller.ts index c2fef6640f..c238171c27 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-help-texts.controller.ts +++ b/Presentation.Web/app/components/global-admin/global-admin-help-texts.controller.ts @@ -91,7 +91,7 @@ columns: [ { field: "Title", title: "Titel", width: 150, - persistId: "title", // DON'T YOU DARE RENAME! + persistId: "title", template: dataItem => `${dataItem.Title}`, filterable: { cell: { @@ -104,7 +104,7 @@ }, { field: "Key", title: "Key", width: 150, - persistId: "key", // DON'T YOU DARE RENAME! + persistId: "key", filterable: { cell: { template: customFilter, diff --git a/Presentation.Web/app/components/global-admin/global-admin-local-admins.controller.ts b/Presentation.Web/app/components/global-admin/global-admin-local-admins.controller.ts index ec249e14d5..f12a2e7ede 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-local-admins.controller.ts +++ b/Presentation.Web/app/components/global-admin/global-admin-local-admins.controller.ts @@ -1,51 +1,45 @@ -(function (ng, app) { +((ng, app) => { app.config([ - '$stateProvider', function ($stateProvider) { - $stateProvider.state('global-admin.local-users', { - url: '/local-admins', - templateUrl: 'app/components/global-admin/global-admin-local-admins.view.html', - controller: 'globalAdmin.localAdminsCtrl', - authRoles: ['GlobalAdmin'], + "$stateProvider", $stateProvider => { + $stateProvider.state("global-admin.local-users", { + url: "/local-admins", + templateUrl: "app/components/global-admin/global-admin-local-admins.view.html", + controller: "globalAdmin.localAdminsCtrl", + authRoles: ["GlobalAdmin"], resolve: { adminRights: [ - '$http', function ($http) { - return $http.get('api/OrganizationRight/?roleName=LocalAdmin&roleWithName').then(function (result) { - return result.data.response; - }); - } + "$http", $http => $http.get("api/OrganizationRight/?roleName=LocalAdmin&roleWithName").then(result => result.data.response) ], user: [ - 'userService', function (userService) { - return userService.getUser(); - } + "userService", userService => userService.getUser() ] } }); } ]); - app.controller('globalAdmin.localAdminsCtrl', [ - '$rootScope', '$scope', '$http', '$state', 'notify', 'adminRights', 'user', 'userService', - function ($rootScope, $scope, $http, $state, notify, adminRights, user: Kitos.Services.IUser, userService: Kitos.Services.IUserService) { - $rootScope.page.title = 'Lokal administratorer'; + app.controller("globalAdmin.localAdminsCtrl", [ + "$rootScope", "$scope", "$http", "$state", "notify", "adminRights", "user", "userService","select2LoadingService", + ($rootScope, $scope, $http, $state, notify, adminRights, user: Kitos.Services.IUser, userService: Kitos.Services.IUserService, select2LoadingService: Kitos.Services.ISelect2LoadingService) => { + $rootScope.page.title = "Lokal administratorer"; $scope.adminRights = adminRights; function newLocalAdmin() { // select2 changes the value twice, first with invalid values // so ignore invalid values - if (typeof $scope.newUser !== 'object') return; + if (typeof $scope.newUser !== "object") return; if (!($scope.newOrg && $scope.newUser)) return; var user = $scope.newUser; var uId = user.id; - var oId = $scope.newOrg.id; + const oId = $scope.newOrg.id; var orgName = $scope.newOrg.text; - var rId = Kitos.API.Models.OrganizationRole.LocalAdmin; + const rId = Kitos.API.Models.OrganizationRole.LocalAdmin; if (!(uId && oId && rId)) return; - var data = { + const data = { userId: uId, role: rId, organizationId: oId @@ -65,87 +59,47 @@ } function reload() { - $state.go('.', null, { reload: true }); + $state.go(".", null, { reload: true }); } - $scope.$watch("newUser", function (newVal, oldVal) { + $scope.$watch("newUser", (newVal, oldVal) => { if (newVal === oldVal || !newVal) return; newLocalAdmin(); }); - $scope.$watch("newOrg", function (newVal, oldVal) { + $scope.$watch("newOrg", (newVal, oldVal) => { if (newVal === oldVal || !newVal) return; newLocalAdmin(); }); - $scope.deleteLocalAdmin = function (right) { + $scope.deleteLocalAdmin = right => { var oId = right.organizationId; var rId = right.role; var uId = right.userId; var msg = notify.addInfoMessage("Arbejder ...", false); - $http.delete("api/OrganizationRight/" + oId + "?rId=" + rId + "&uId=" + uId + '&organizationId=' + user.currentOrganizationId) + $http.delete("api/OrganizationRight/" + oId + "?rId=" + rId + "&uId=" + uId + "&organizationId=" + user.currentOrganizationId) .then(function onSuccess(result) { - msg.toSuccessMessage(right.userName + " er ikke længere lokal administrator"); - if (uId == user.id) { - // Reload user - userService.reAuthorize(); - } - reload(); + msg.toSuccessMessage(right.userName + " er ikke længere lokal administrator"); + if (uId == user.id) { + // Reload user + userService.reAuthorize(); + } + reload(); }, function onError(result) { - msg.toErrorMessage("Kunne ikke fjerne " + right.userName + " som lokal administrator"); - }); + msg.toErrorMessage("Kunne ikke fjerne " + right.userName + " som lokal administrator"); + }); }; - $scope.organizationSelectOptions = selectLazyLoading('api/organization', formatOrganization, null); - - function formatOrganization(org) { - var result = '
' + org.text + '
'; - if (org.cvr) { - result += '
' + org.cvr + '
'; - } - return result; - } - - function selectLazyLoading(url, format, paramAry) { - return { - minimumInputLength: 1, - allowClear: true, - placeholder: ' ', - formatResult: format, - ajax: { - data: function (term, page) { - return { query: term }; - }, - quietMillis: 500, - transport: function (queryParams) { - var extraParams = paramAry ? '&' + paramAry.join('&') : ''; - var res = $http.get(url + '?q=' + queryParams.data.query + extraParams).then(queryParams.success); - res.abort = function () { - return null; - }; - - return res; - }, - - results: function (data, page) { - var results = []; - - _.each(data.data.response, function (obj: { id: any; name: any; cvr: any }) { - results.push({ - id: obj.id, - text: obj.name ? obj.name : 'Unavngiven', - cvr: obj.cvr - }); - }); - - return { results: results }; - } - } - }; - } + $scope.organizationSelectOptions = select2LoadingService.loadSelect2WithDataHandler("api/organization", true, ["take=100", "orgId=" + user.currentOrganizationId], (item, items) => { + items.push({ + id: item.id, + text: item.name ? item.name : 'Unavngiven', + cvr: item.cvrNumber + }); + }, "q", Kitos.Helpers.Select2OptionsFormatHelper.formatOrganizationWithCvr); } ]); })(angular, app); diff --git a/Presentation.Web/app/components/global-admin/global-admin-misc.controller.ts b/Presentation.Web/app/components/global-admin/global-admin-misc.controller.ts index e4313b4302..7a719cff77 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-misc.controller.ts +++ b/Presentation.Web/app/components/global-admin/global-admin-misc.controller.ts @@ -18,10 +18,10 @@ } }); }]); + app.controller("globalAdminMisc", [ "$rootScope", "$scope", - "$http", "_", "notify", "kleService", @@ -29,23 +29,29 @@ "brokenLinkStatus", "usersWithRightsholderAccess", "usersWithCrossAccess", + "userService", + "select2LoadingService", + "$state", ( $rootScope, $scope, - $http, _, notify, kleService, $uibModal: ng.ui.bootstrap.IModalService, brokenLinkStatus: Kitos.Models.Api.BrokenLinksReport.IBrokenLinksReportDTO, usersWithRightsholderAccess: Kitos.Models.Api.IUserWithOrganizationName[], - usersWithCrossAccess: Kitos.Models.Api.IUserWithCrossAccess[]) => { - + usersWithCrossAccess: Kitos.Models.Api.IUserWithCrossAccess[], + userService: Kitos.Services.IUserService, + select2LoadingService: Kitos.Services.ISelect2LoadingService, + $state) => { $rootScope.page.title = "Andet"; $scope.brokenLinksVm = Kitos.Models.ViewModel.GlobalAdmin.BrokenLinks.BrokenLinksViewModelMapper.mapFromApiResponse(brokenLinkStatus); $scope.usersWithRightsholderAccess = usersWithRightsholderAccess; $scope.usersWithCrossAccess = usersWithCrossAccess; + $scope.kitosUsers = []; + $scope.userOrganizations = []; $scope.showOrgsWhereUserActive = (activeOrgNames: string[]) => { $uibModal.open({ @@ -61,7 +67,9 @@ }, function onError(error) { // Swallow unhandled rejection errors. }); - } + }; + + $scope.userOptions = getAvailableUserOptions(); getKleStatus(); function getKleStatus() { @@ -110,7 +118,7 @@ toggleKleButtonsClickAbility(true, false); notify.addErrorMessage("Der skete en fejl under henting af ændringer"); }); - } + }; $scope.UpdateKLE = () => { toggleKleButtonsClickAbility(false, false); @@ -135,12 +143,59 @@ } else { notify.addInfoMessage("KLE opdatering stoppet!"); } + }; - } + $scope.$watch("selectedUser", function (newVal, oldVal) { + if (newVal === oldVal || !newVal) return; + + if (typeof newVal === "object") + return; + $scope.userOrganizations = []; + userService.getUserOrganizations(newVal).then(res => { + $scope.userOrganizations.pushArray(res); + }); + }); + + $scope.removeUser = (id: number) => { + const nameAndEmail = `${$scope.selectedUser.text}, ${$scope.selectedUser.email}`; + + if (confirm(`Er du sikker på, at du vil slette ${nameAndEmail}`)) { + const message = notify.addInfoMessage(`Sletter ${nameAndEmail}`); + userService.deleteUser(id) + .then(() => { + message.toSuccessMessage(`Sletter ${nameAndEmail}`); + $scope.selectedUser = null; + $state.reload(); + } + ).catch(ex => { + console.log(ex); + message.toErrorMessage(`Fejl ifm. sletning af brugeren Sletter ${nameAndEmail}`); + }); + } + }; function toggleKleButtonsClickAbility(updateAvailButton: boolean, updateButton: boolean) { $scope.KleUpdateAvailableButtonInteraction = updateAvailButton; $scope.KleApplyUpdateButtonInteraction = updateButton; } + + function getAvailableUserOptions() { + return select2LoadingService.loadSelect2WithDataSource( + (query: string) => + userService.searchUsers(query) + .then( + results => + results.map(result => + > + { + id: result.id, + text: result.name, + email: result.email, + optionalObjectContext: result + }) + ) + , false + , Kitos.Helpers.Select2OptionsFormatHelper.formatUserWithEmail); + } }]); })(angular, app); \ No newline at end of file diff --git a/Presentation.Web/app/components/global-admin/global-admin-misc.view.html b/Presentation.Web/app/components/global-admin/global-admin-misc.view.html index 416fbc0023..9b2e392263 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-misc.view.html +++ b/Presentation.Web/app/components/global-admin/global-admin-misc.view.html @@ -14,8 +14,44 @@

Rapport over brudte links

Antal registrerede fejl: {{brokenLinksVm.brokenLinksCount}}

Hent rapporten
-
-

Rapporten over brudte links er endnu ikke tilgængelig. Forventet tilgængelighed er "Mandag i næste uge".

+
+

Rapporten over brudte links er endnu ikke tilgængelig. Forventet tilgængelighed er "Mandag i næste uge".

+
+ +

Nedlæg bruger

+
+
+ + +
+
+
+ Brugeren er stadig medlem af følgende organisationer +
+ + + + + + + + + + + + + +
Organisation
{{ org.name }}
+

Oversigt over brugere med API relaterede rettigheder

diff --git a/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.controller.ts b/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.controller.ts index 71a08bb720..acc3b57962 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.controller.ts +++ b/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.controller.ts @@ -59,7 +59,8 @@ name: conflict.system.name, organizations: conflict.otherOrganizationsWhichUseTheSystem.map(org => org.name) }; - }) + }), + systemsWhereOrgIsArchiveSupplier: conflicts.systemsWhereOrgIsArchiveSupplier.map(mapEntityFromOrg) }, systemsInOtherOrganizationsWhereRightsHolderWillBeRemoved: conflicts.systemsInOtherOrganizationsWhereOrgIsRightsHolder.map(mapEntityFromOrg) }; diff --git a/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.view.html b/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.view.html index 3f25ec19f0..363d6b514b 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.view.html +++ b/Presentation.Web/app/components/global-admin/global-admin-organization-modal-delete.view.html @@ -235,6 +235,28 @@

IT-Systemer som flyttes til "Fælles kommune", da de stadig er er i anvendel

+
+ +

IT-Systemer hvor organisationen "{{::ctrl.orgName}}" er sat som "Arkiveringsleverandør", og hvor feltet dermed nulstilles:

+
+ + + + + + + + + + + + + + +
IT-System (i anvendelse)Anvendt i (organisation)
{{::itSystem.name}}{{::itSystem.organizationName}}
+
+
+

Snitflader som flyttes til "Fælles kommune", da de er udstillet på IT-Systemer oprettet i andre organisationer:

diff --git a/Presentation.Web/app/components/global-admin/global-admin-organizations.controller.ts b/Presentation.Web/app/components/global-admin/global-admin-organizations.controller.ts index 4c0439ef84..49ff2845a3 100644 --- a/Presentation.Web/app/components/global-admin/global-admin-organizations.controller.ts +++ b/Presentation.Web/app/components/global-admin/global-admin-organizations.controller.ts @@ -84,7 +84,7 @@ field: "Name", title: "Navn", width: 230, - persistId: "name", // DON'T YOU DARE RENAME!, + persistId: "name", hidden: false, excelTemplate: (dataItem) => dataItem.Name, filterable: { @@ -100,7 +100,7 @@ field: "Cvr", title: "CVR", width: 230, - persistId: "cvr", // DON'T YOU DARE RENAME! + persistId: "cvr", hidden: false, excelTemplate: (dataItem) => dataItem.Cvr, filterable: { @@ -116,7 +116,7 @@ field: "Type.Name", title: "Type", width: 230, - persistId: "type", // DON'T YOU DARE RENAME! + persistId: "type", hidden: false, template: (dataItem) => dataItem.Type.Name, excelTemplate: (dataItem) => dataItem.Type.Name, @@ -143,7 +143,7 @@ field: "AccessModifier", title: "Synlighed", width: 230, - persistId: "synlighed", // DON'T YOU DARE RENAME! + persistId: "synlighed", hidden: false, template: ``, excelTemplate: (dataItem) => dataItem.AccessModifier.toString(), diff --git a/Presentation.Web/app/components/global-admin/globalOptionList/globalOptionList.directive.ts b/Presentation.Web/app/components/global-admin/globalOptionList/globalOptionList.directive.ts index cd6603bdd3..31ab9c82c5 100644 --- a/Presentation.Web/app/components/global-admin/globalOptionList/globalOptionList.directive.ts +++ b/Presentation.Web/app/components/global-admin/globalOptionList/globalOptionList.directive.ts @@ -116,7 +116,7 @@ field: "IsEnabled", title: "Tilgængelig", width: 112, - persistId: "isEnabled", // DON'T YOU DARE RENAME! + persistId: "isEnabled", attributes: { "class": "text-center" }, template: `# if(IsEnabled) { # # } else { # # } #`, hidden: false, @@ -127,7 +127,7 @@ field: "IsObligatory", title: "Obligatorisk", width: 112, - persistId: "IsObligatory", // DON'T YOU DARE RENAME! + persistId: "IsObligatory", attributes: { "class": "text-center" }, template: `# if(IsObligatory) { # # } else { # # } #`, hidden: false, @@ -147,7 +147,7 @@ field: "Name", title: "Navn", width: 230, - persistId: "name", // DON'T YOU DARE RENAME! + persistId: "name", template: (dataItem) => dataItem.Name, hidden: false, filterable: { @@ -163,7 +163,7 @@ field: "Description", title: "Beskrivelse", width: 230, - persistId: "description", // DON'T YOU DARE RENAME! + persistId: "description", template: (dataItem) => dataItem.Description, hidden: false, filterable: { diff --git a/Presentation.Web/app/components/global-admin/globalOptionRoleList/globalOptionRoleList.directive.ts b/Presentation.Web/app/components/global-admin/globalOptionRoleList/globalOptionRoleList.directive.ts index 8dbbcaa364..33b43955d0 100644 --- a/Presentation.Web/app/components/global-admin/globalOptionRoleList/globalOptionRoleList.directive.ts +++ b/Presentation.Web/app/components/global-admin/globalOptionRoleList/globalOptionRoleList.directive.ts @@ -114,7 +114,7 @@ field: "IsEnabled", title: "Tilgængelig", width: 112, - persistId: "isEnabled", // DON'T YOU DARE RENAME! + persistId: "isEnabled", attributes: { "class": "text-center" }, template: `# if(IsEnabled) { # # } else { # # } #`, hidden: false, @@ -125,7 +125,7 @@ field: "IsObligatory", title: "Obligatorisk", width: 112, - persistId: "IsObligatory", // DON'T YOU DARE RENAME! + persistId: "IsObligatory", attributes: { "class": "text-center" }, template: `# if(IsObligatory) { # # } else { # # } #`, hidden: false, @@ -145,7 +145,7 @@ field: "Name", title: "Navn", width: 230, - persistId: "name", // DON'T YOU DARE RENAME! + persistId: "name", template: (dataItem) => dataItem.Name, hidden: false, filterable: { @@ -161,7 +161,7 @@ field: "HasWriteAccess", title: "Skriv", width: 112, - persistId: "hasWriteAccess", // DON'T YOU DARE RENAME! + persistId: "hasWriteAccess", attributes: { "class": "text-center" }, template: `# if(HasWriteAccess) { # # } else { # # } #`, @@ -173,7 +173,7 @@ field: "Description", title: "Beskrivelse", width: 230, - persistId: "description", // DON'T YOU DARE RENAME! + persistId: "description", template: (dataItem) => dataItem.Description, hidden: false, filterable: { diff --git a/Presentation.Web/app/components/home/home.controller.ts b/Presentation.Web/app/components/home/home.controller.ts index 8ed775c4eb..778ce059ea 100644 --- a/Presentation.Web/app/components/home/home.controller.ts +++ b/Presentation.Web/app/components/home/home.controller.ts @@ -48,8 +48,7 @@ $scope.tinymceOptions = { plugins: 'link image code', - skin: 'lightgray', - theme: 'modern', + theme: 'silver', convert_urls: false }; diff --git a/Presentation.Web/app/components/it-advice/It-advice.controller.ts b/Presentation.Web/app/components/it-advice/It-advice.controller.ts index 912a940810..8fb1ad2f99 100644 --- a/Presentation.Web/app/components/it-advice/It-advice.controller.ts +++ b/Presentation.Web/app/components/it-advice/It-advice.controller.ts @@ -2,194 +2,205 @@ app.controller("object.EditAdviceCtrl", [ - "$", "$scope", "$http", "notify", "$uibModal", "object", "type", "advicename", "hasWriteAccess", - ($, $scope, $http, notify, $modal, object, type, advicename, hasWriteAccess) => { + "$", "$scope", "$http", "notify", "$uibModal", "object", "type", "advicename", "hasWriteAccess", "localOptionServiceFactory", + ($, $scope, $http, notify, $modal, object, type: Kitos.Models.Advice.AdviceType, advicename, hasWriteAccess, localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => { $scope.type = type; $scope.object = object; $scope.advicename = advicename; $scope.hasWriteAccess = hasWriteAccess; - $scope.mainGridOptions = { - dataSource: { - type: "odata-v4", - transport: { - read: { - url: `/Odata/advice?$filter=type eq '${type}' and RelationId eq ${object.id - }&$expand=Reciepients, Advicesent`, - dataType: "json" - }, - }, - sort: { - field: "AlarmDate", - dir: "asc" - }, - pageSize: 10, - serverPaging: true, - serverFiltering: true, - serverSorting: true - }, - selectable: true, - change: onChange, - columns: [ - { - field: "IsActive", - title: "Aktiv", - template: data => data.IsActive ? " " : "", - width: 45, - attributes: { "class": "centeredContent" } + const localRoleType: Kitos.Services.LocalOptions.LocalOptionType = Kitos.Services.LocalOptions.getLocalOptionTypeFromAdvisType(type); + const roleProperty = Kitos.Models.Advice.getAdviceTypeUserRelationRoleProperty(type); + + const localOptionsService = localOptionServiceFactory.create(localRoleType); + localOptionsService.getAll().then(options => { + const localOptionLookup = options.reduce<{ [key: number]: Kitos.Models.IOptionEntity }>( + (acc, option) => { + acc[option.Id] = option; + return acc; }, - { - field: "Name", - title: "Navn", - template: data => { - const name = data.Name || "Ikke navngivet"; - return name; + {}); + + $scope.mainGridOptions = { + dataSource: { + type: "odata-v4", + transport: { + read: { + url: `/Odata/advice?$filter=type eq '${type}' and RelationId eq ${object.id + }&$expand=Reciepients($expand=${roleProperty}), Advicesent`, + dataType: "json" + }, }, - attributes: { "class": "might-overflow" } - }, - { - field: "SentDate", - title: "Sidst sendt", - template: x => { - if (x.SentDate != null) { - return kendo.toString(new Date(x.SentDate), "d"); - } - return ""; + sort: { + field: "AlarmDate", + dir: "asc" }, - attributes: { "class": "might-overflow" } - }, - { - field: "Id", - hidden: true + pageSize: 10, + serverPaging: true, + serverFiltering: true, + serverSorting: true }, - { - field: "AlarmDate", - title: "Fra dato", - template: x => { - if (x.AlarmDate != null) { - return kendo.toString(new Date(x.AlarmDate), "d"); - } - return ""; + selectable: true, + change: onChange, + columns: [ + { + field: "IsActive", + title: "Aktiv", + template: data => data.IsActive ? " " : "", + width: 45, + attributes: { "class": "centeredContent" } }, - attributes: { "class": "might-overflow" } - }, - { - field: "StopDate", - title: "Til dato", - template: x => { - if (x.StopDate != null) { - return kendo.toString(new Date(x.StopDate), "d"); - } - return ""; + { + field: "Name", + title: "Navn", + template: data => { + const name = data.Name || "Ikke navngivet"; + return name; + }, + attributes: { "class": "might-overflow" } }, - attributes: { "class": "might-overflow" } - }, - { - field: "Reciepients.Name", - title: "Modtager", - template: () => - ` {{cc.Name}}{{$last ? '' : ', '}}`, - attributes: { "class": "might-overflow" }, - sortable: false //Not possible on collection field - }, - { - field: "Reciepients.Name", - title: "CC", - template: () => - ` {{cc.Name}}{{$last ? '' : ', '}}`, - attributes: { "class": "might-overflow" }, - sortable: false //Not possible on collection field - }, - { - field: "Subject", - title: "Emne" - }, - { - template: (dataItem) => { - if (hasWriteAccess) { - return ` `; - } else { - return "Ingen rettigheder"; + } else { + return "Ingen rettigheder"; + } } } - } - ], - toolbar: [ - { - name: "advis", - text: "Opret advis", - template: - "" - } - ], - sortable: { - mode: "single" - }, - pageable: { - refresh: true, - pageSizes: [10, 25, 50, 100, 200], - buttonCount: 5 - }, - }; + ], + toolbar: [ + { + name: "advis", + text: "Opret advis", + template: + "" + } + ], + sortable: { + mode: "single" + }, + pageable: { + refresh: true, + pageSizes: [10, 25, 50, 100, 200], + buttonCount: 5 + }, + }; - $scope.detailGridOptions = { - dataSource: { - type: "odata-v4", - transport: { - read: { - url: "/Odata/adviceSent?$filter=AdviceId eq 0", - dataType: "json" + $scope.detailGridOptions = { + dataSource: { + type: "odata-v4", + transport: { + read: { + url: "/Odata/adviceSent?$filter=AdviceId eq 0", + dataType: "json" + }, }, + pageSize: 25 }, - pageSize: 25 - }, - columns: [ - { - field: "AdviceSentDate", - title: "Afsendt", - template: x => { - if (x.AdviceSentDate != null) { - return kendo.toString(new Date(x.AdviceSentDate), "g"); + columns: [ + { + field: "AdviceSentDate", + title: "Afsendt", + template: x => { + if (x.AdviceSentDate != null) { + return kendo.toString(new Date(x.AdviceSentDate), "g"); + } + return ""; } - return ""; } + ], + scrollable: { + virtual: true } - ], - scrollable: { - virtual: true - } - }; + }; - $scope.datepickerOptions = { - format: "dd-MM-yyyy", - parseFormats: ["yyyy-MM-dd"] - }; + $scope.datepickerOptions = { + format: "dd-MM-yyyy", + parseFormats: ["yyyy-MM-dd"] + }; - $scope.deleteAdvice = (id) => { - $http.delete(`odata/advice(${id})`) - .then(() => { - notify.addSuccessMessage("Advisen er slettet!"); - $("#mainGrid").data("kendoGrid").dataSource.read(); - }, - () => notify.addErrorMessage("Fejl! Kunne ikke slette!")); - }; + $scope.deleteAdvice = (id) => { + $http.delete(`odata/advice(${id})`) + .then(() => { + notify.addSuccessMessage("Advisen er slettet!"); + $("#mainGrid").data("kendoGrid").dataSource.read(); + }, + () => notify.addErrorMessage("Fejl! Kunne ikke slette!")); + }; - $scope.newAdvice = (action, id) => { - $scope.hasWriteAccess = hasWriteAccess; - $scope.action = action; - var modalInstance = Kitos.ItAdvice.Modal.Create.createModalInstance(_, $, $modal, $scope, notify, $http, type, action, id, hasWriteAccess); - modalInstance.result.then(angular.noop, angular.noop); - }; + $scope.newAdvice = (action, id) => { + $scope.hasWriteAccess = hasWriteAccess; + $scope.action = action; + var modalInstance = Kitos.ItAdvice.Modal.Create.createModalInstance(_, $, $modal, $scope, notify, $http, type, action, id, hasWriteAccess); + modalInstance.result.then(angular.noop, angular.noop); + }; - function onChange(arg) { - const grid = $("#mainGrid").data("kendoGrid"); - const selectedItem = grid.dataItem(grid.select()); - $("#detailGrid").data("kendoGrid").dataSource.transport.options.read.url = - `/Odata/adviceSent?$filter=AdviceId eq ${selectedItem.Id}`; - $("#detailGrid").data("kendoGrid").dataSource.read(); - }; + function onChange(arg) { + const grid = $("#mainGrid").data("kendoGrid"); + const selectedItem = grid.dataItem(grid.select()); + $("#detailGrid").data("kendoGrid").dataSource.transport.options.read.url = + `/Odata/adviceSent?$filter=AdviceId eq ${selectedItem.Id}`; + $("#detailGrid").data("kendoGrid").dataSource.read(); + }; + }); } ]); })(angular, app); \ No newline at end of file diff --git a/Presentation.Web/app/components/it-advice/it-advice-modal-dialog.ts b/Presentation.Web/app/components/it-advice/it-advice-modal-dialog.ts index a6702f1528..a377e5bcc5 100644 --- a/Presentation.Web/app/components/it-advice/it-advice-modal-dialog.ts +++ b/Presentation.Web/app/components/it-advice/it-advice-modal-dialog.ts @@ -12,7 +12,7 @@ ($scope, roles: Models.IRoleEntity[], $window, - type, + type: Models.Advice.AdviceType, action, object, currentUser: Services.IUser, @@ -27,6 +27,8 @@ $scope.adviceRepetitionOptions = Models.ViewModel.Advice.AdviceRepetitionOptions.options; $scope.startDateInfoMessage = null; + const roleIdProperty = Models.Advice.getAdviceTypeUserRelationRoleIdProperty(type); + //Format {email1},{email2}. Space between , and {email2} is ok but not required const emailMatchRegex = "([a-zA-Z\\-0-9\\._]+@)([a-zA-Z\\-0-9\\.]+)\\.([a-zA-Z\\-0-9\\.]+)"; $scope.multipleEmailValidationRegex = `^(${emailMatchRegex}(((,)( )*)${emailMatchRegex})*)$`; @@ -71,31 +73,23 @@ let recpientType = adviceData.Reciepients[i].RecpientType; let recieverType = adviceData.Reciepients[i].RecieverType; if (recpientType === "ROLE" && recieverType === "RECIEVER") { - var nameOfRoleReceiver = adviceData.Reciepients[i].Name; - var selectedReceiver = _.find(select2Roles, x => x.text === nameOfRoleReceiver); + var roleReceiverId = adviceData.Reciepients[i][roleIdProperty]; + var selectedReceiver = _.find(select2Roles, x => x.id === roleReceiverId); if (selectedReceiver) { $scope.preSelectedReceivers.push(selectedReceiver); - } else { - //NOTE: Once solving: https://os2web.atlassian.net/browse/KITOSUDV-1882, we can use the id to fetch the old assignments from the global list - $scope.preSelectedReceivers.push({ - text: nameOfRoleReceiver - }); } } else if (recpientType === "ROLE" && recieverType === "CC") { - var nameOfRoleCC = adviceData.Reciepients[i].Name; - var selectedCC = _.find(select2Roles, x => x.text === nameOfRoleCC); - if (selectedCC) { - $scope.preSelectedCCs.push(selectedCC); - } else { - //NOTE: Once solving: https://os2web.atlassian.net/browse/KITOSUDV-1882, we can use the id to fetch the old assignments from the global list - $scope.preSelectedCCs.push({ - text: nameOfRoleCC - }); + var roleReceiverCcId = adviceData.Reciepients[i][roleIdProperty]; + var selectedCc = _.find(select2Roles, x => x.id === roleReceiverCcId); + if (selectedCc) { + $scope.preSelectedCCs.push(selectedCc); } } else if (recpientType === "USER" && recieverType === "RECIEVER") { - receivers.push(adviceData.Reciepients[i].Name); + const emailReceiver = adviceData.Reciepients[i].Email; + receivers.push(emailReceiver); } else if (recpientType === "USER" && recieverType === "CC") { - ccs.push(adviceData.Reciepients[i].Name); + const emailCc = adviceData.Reciepients[i].Email; + ccs.push(emailCc); } } $scope.externalTo = receivers.length === 0 ? null : receivers.join(", "); @@ -286,8 +280,7 @@ $scope.tinymceOptions = { plugins: "link image code", - skin: "lightgray", - theme: "modern", + theme: "silver", toolbar: "bold italic | example | code | preview | link | searchreplace", convert_urls: false }; @@ -375,23 +368,21 @@ const writtenCCEmail = $scope.externalCC; for (let i = 0; i < $scope.selectedReceivers.length; i++) { - payload.Reciepients.push( - { - Name: $scope.selectedReceivers[i].text, - RecpientType: "ROLE", - RecieverType: "RECIEVER" - } - ); + const receiver = { + RecpientType: "ROLE", + RecieverType: "RECIEVER" + }; + receiver[roleIdProperty] = $scope.selectedReceivers[i].id; + payload.Reciepients.push(receiver); } for (let i = 0; i < $scope.selectedCCs.length; i++) { - payload.Reciepients.push( - { - Name: $scope.selectedCCs[i].text, - RecieverType: "CC", - RecpientType: "ROLE" - } - ); + const receiver = { + RecpientType: "ROLE", + RecieverType: "CC" + }; + receiver[roleIdProperty] = $scope.selectedCCs[i].id; + payload.Reciepients.push(receiver); } if (writtenEmail != null) { @@ -401,7 +392,7 @@ if (toEmail && toEmail.length > 0) { payload.Reciepients.push( { - Name: toEmail, + Email: toEmail, RecpientType: "USER", RecieverType: "RECIEVER" } @@ -416,7 +407,7 @@ if (ccEmail && ccEmail.length > 0) { payload.Reciepients.push( { - Name: ccEmail, + Email: ccEmail, RecieverType: "CC", RecpientType: "USER" } @@ -435,24 +426,24 @@ resolve: { Roles: [ "localOptionServiceFactory", - (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => { - if (type === "itSystemUsage") { + (localOptionServiceFactory: Services.LocalOptions.ILocalOptionServiceFactory) => { + if (type === Models.Advice.AdviceType.ItSystemUsage) { return localOptionServiceFactory - .create(Kitos.Services.LocalOptions.LocalOptionType.ItSystemRoles) + .create(Services.LocalOptions.LocalOptionType.ItSystemRoles) .getAll(); } - if (type === "itContract") { + if (type === Models.Advice.AdviceType.ItContract) { return localOptionServiceFactory - .create(Kitos.Services.LocalOptions.LocalOptionType.ItContractRoles) + .create(Services.LocalOptions.LocalOptionType.ItContractRoles) .getAll(); } - if (type === "itProject") { + if (type === Models.Advice.AdviceType.ItProject) { return localOptionServiceFactory - .create(Kitos.Services.LocalOptions.LocalOptionType.ItProjectRoles) + .create(Services.LocalOptions.LocalOptionType.ItProjectRoles) .getAll(); } - if (type === "dataProcessingRegistration") { - return localOptionServiceFactory.create(Kitos.Services.LocalOptions + if (type === Models.Advice.AdviceType.DataProcessingRegistration) { + return localOptionServiceFactory.create(Services.LocalOptions .LocalOptionType.DataProcessingRegistrationRoles) .getAll(); } @@ -464,7 +455,7 @@ object: [() => $scope.object], currentUser: [ "userService", - (userService: Kitos.Services.IUserService) => userService.getUser() + (userService: Services.IUserService) => userService.getUser() ], advicename: [ () => { diff --git a/Presentation.Web/app/components/it-contract/it-contract-details/it-contract-details.view.html b/Presentation.Web/app/components/it-contract/it-contract-details/it-contract-details.view.html deleted file mode 100644 index 14dd785067..0000000000 --- a/Presentation.Web/app/components/it-contract/it-contract-details/it-contract-details.view.html +++ /dev/null @@ -1 +0,0 @@ -
\ No newline at end of file diff --git a/Presentation.Web/app/components/it-contract/it-contract-details/it-contract-plan-detail.directive.ts b/Presentation.Web/app/components/it-contract/it-contract-details/it-contract-plan-detail.directive.ts deleted file mode 100644 index 0cfa55cd46..0000000000 --- a/Presentation.Web/app/components/it-contract/it-contract-details/it-contract-plan-detail.directive.ts +++ /dev/null @@ -1,60 +0,0 @@ -module Kitos.Contract.Details { - "use strict"; - - interface IDirectiveScope extends ng.IScope { - detailType: string; - action: string; - fieldValue: string; - odataQuery: string; - detailModelType: string; - mainGrid: IKendoGrid; - mainGridOptions: IKendoGridOptions; - } - - class ContractDetails implements ng.IDirective { - public templateUrl = "app/components/it-contract/it-contract-details/it-contract-details.view.html"; - public scope = { - detailType: "@", - action: "@", - fieldValue: "@", - odataQuery: "@", - detailModelType: "@" - }; - - public static directiveName = "contractDetails"; - - public link(scope: IDirectiveScope, element: ng.IAugmentedJQuery, attrs: ng.IAttributes) { - scope.mainGridOptions = { - dataSource: { - type: "odata-v4", - transport: { - read: { - url: () => `${scope.odataQuery}`, - dataType: "json" - } - }, - sort: { - field: "Id", - dir: "asc" - } - }, - noRecords: true, - messages: { - noRecords: `Kontrakten ${scope.action} ingen ${scope.detailType}.` - }, - columns: [ - { - persistId: "fieldValue", // DON'T YOU DARE RENAME! - field: `${scope.fieldValue}`, - title: `Kontrakten ${scope.action} følgende ${scope.detailType}`, width: 150, - template: dataItem => Helpers.SystemNameFormat.apply(dataItem[scope.detailModelType].Name, dataItem[scope.detailModelType].Disabled), - hidden: false - } - ] - }; - } - } - - angular.module("app") - .directive(ContractDetails.directiveName, DirectiveFactory.getFactoryFor(ContractDetails)); -} \ No newline at end of file diff --git a/Presentation.Web/app/components/it-contract/it-contract-edit.controller.ts b/Presentation.Web/app/components/it-contract/it-contract-edit.controller.ts index d50a34d6f2..de6a993e59 100644 --- a/Presentation.Web/app/components/it-contract/it-contract-edit.controller.ts +++ b/Presentation.Web/app/components/it-contract/it-contract-edit.controller.ts @@ -17,14 +17,23 @@ .createContractAuthorization() .getAuthorizationForItem($stateParams.id) ], - hasWriteAccess: ["userAccessRights", (userAccessRights: Kitos.Models.Api.Authorization.EntityAccessRightsDTO) => userAccessRights.canEdit] + hasWriteAccess: ["userAccessRights", (userAccessRights: Kitos.Models.Api.Authorization.EntityAccessRightsDTO) => userAccessRights.canEdit], + uiState: [ + "uiCustomizationStateService", (uiCustomizationStateService: Kitos.Services.UICustomization.IUICustomizationStateService) => uiCustomizationStateService.getCurrentState(Kitos.Models.UICustomization.CustomizableKitosModule.ItContract) + ], + criticalityOptions: [ + "localOptionServiceFactory", + (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.CriticalityTypes) + .getAll() + ], } }); } ]); - app.controller("contract.EditCtrl", ["$scope", "$rootScope", "contract", "hasWriteAccess","userAccessRights", - ($scope, $rootScope, contract, hasWriteAccess, userAccessRights: Kitos.Models.Api.Authorization.EntityAccessRightsDTO) => { + app.controller("contract.EditCtrl", ["$scope", "$rootScope", "contract", "hasWriteAccess", "userAccessRights", "user", "uiState", + ($scope, $rootScope, contract, hasWriteAccess, userAccessRights: Kitos.Models.Api.Authorization.EntityAccessRightsDTO, user, uiState: Kitos.Models.UICustomization.ICustomizedModuleUI) => { $scope.hasWriteAccess = hasWriteAccess; $scope.allowClearOption = { allowClear: true @@ -34,5 +43,17 @@ if (!userAccessRights.canDelete) { _.remove($rootScope.page.subnav.buttons, (o: any) => o.text === "Slet IT Kontrakt"); } + + const blueprint = Kitos.Models.UICustomization.Configs.BluePrints.ItContractUiCustomizationBluePrint; + + $scope.isFrontPageEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage); + $scope.isItSystemsEnabled = user.currentConfig.showItSystemModule && uiState.isBluePrintNodeAvailable(blueprint.children.itSystems); + $scope.isDataProcessingEnabled = user.currentConfig.showDataProcessing && uiState.isBluePrintNodeAvailable(blueprint.children.dataProcessing); + $scope.isDeadlinesEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.deadlines); + $scope.isEconomyEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.economy); + $scope.isContractRolesEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.contractRoles); + $scope.isHierarchyEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.hierarchy); + $scope.isAdviceEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.advice); + $scope.isReferencesEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.references); }]); })(angular, app); diff --git a/Presentation.Web/app/components/it-contract/it-contract-edit.view.html b/Presentation.Web/app/components/it-contract/it-contract-edit.view.html index 7a5be1643b..acbb54f390 100644 --- a/Presentation.Web/app/components/it-contract/it-contract-edit.view.html +++ b/Presentation.Web/app/components/it-contract/it-contract-edit.view.html @@ -7,34 +7,31 @@

IT Kontrakt

diff --git a/Presentation.Web/app/components/it-contract/it-contract-modal-create.controller.ts b/Presentation.Web/app/components/it-contract/it-contract-modal-create.controller.ts new file mode 100644 index 0000000000..5b6ec9875b --- /dev/null +++ b/Presentation.Web/app/components/it-contract/it-contract-modal-create.controller.ts @@ -0,0 +1,125 @@ +module Kitos.ItContract.Create { + "use strict"; + + export class CreateItContractController { + static $inject: Array = [ + "user", + "$scope", + "notify", + "$state", + "$uibModalInstance", + "genericApiWrapper" + ]; + + //Used to continously check that name is unique + checkAvailbleUrl = "api/itcontract/"; + + constructor( + private readonly user: Services.IUser, + private readonly $scope, + private readonly notify, + private readonly $state: angular.ui.IStateService, + private readonly $uibModalInstance: ng.ui.bootstrap.IModalServiceInstance, + private readonly genericApiWrapper: Services.Generic.ApiWrapper) { + } + + readonly type: string = "IT Kontrakt"; + + private createNew() { + const name = this.$scope.formData.name; + const organizationId = this.user.currentOrganizationId; + + var msg = this.notify.addInfoMessage('Opretter kontrakt...', false); + + return this.genericApiWrapper.post(`api/itcontract?organizationId=${organizationId}`, { organizationId: organizationId, name: name }) + .then( + (createdResponse: any) => { + msg.toSuccessMessage("En ny kontrakt er oprettet!"); + return createdResponse; + }, + (errorResponse: Models.Api.ApiResponseErrorCategory) => { + switch (errorResponse) { + case Models.Api.ApiResponseErrorCategory.BadInput: + msg.toErrorMessage("Fejl! Navnet er ugyldigt!"); + break; + case Models.Api.ApiResponseErrorCategory.Conflict: + msg.toErrorMessage("Fejl! Navnet er allerede brugt!"); + break; + default: + msg.toErrorMessage("Fejl! Kunne ikke oprette en ny kontrakt!"); + break; + } + + //Fail the continuation + throw errorResponse; + } + ); + } + + private close() { + this.$uibModalInstance.close(); + } + + private popState(reload = false) { + const popped = this.$state.go("^"); + if (reload) { + return popped.then(() => this.$state.reload()); + } + return popped; + } + + save(): void { + this.createNew() + .then(response => { + if (response) { + this.close(); + this.popState(true); + } + }); + } + + saveAndProceed(): void { + this.createNew() + .then(result => { + if (result) { + const contract = result; + this.close(); + this.popState(false) + .then(() => this.$state.go("it-contract.edit.main", { id: contract.id })); + } + }); + } + + cancel(): void { + this.close(); + this.popState(); + } + } + + angular + .module("app") + .config(["$stateProvider", ($stateProvider: ng.ui.IStateProvider) => { + $stateProvider.state("it-contract.overview.create", { + url: "/create-contract", + onEnter: [ + "$state", "$uibModal", + ($state: ng.ui.IStateService, $uibModal: ng.ui.bootstrap.IModalService) => { + $uibModal.open({ + templateUrl: "app/components/it-contract/it-contract-modal-create.view.html", + windowClass: "modal fade in", + resolve: { + user: ["userService", (userService: Services.IUserService) => userService.getUser()] + }, + controller: CreateItContractController, + controllerAs: "vm", + }).result.then(() => { + + }, + () => { + $state.go("^"); + }); + } + ] + }); + }]); +} \ No newline at end of file diff --git a/Presentation.Web/app/components/it-contract/it-contract-modal-create.view.html b/Presentation.Web/app/components/it-contract/it-contract-modal-create.view.html index b8dfd4dda4..2744d02299 100644 --- a/Presentation.Web/app/components/it-contract/it-contract-modal-create.view.html +++ b/Presentation.Web/app/components/it-contract/it-contract-modal-create.view.html @@ -8,7 +8,7 @@ diff --git a/Presentation.Web/app/components/it-contract/it-contract-overview.controller.ts b/Presentation.Web/app/components/it-contract/it-contract-overview.controller.ts index 9b1d478868..3e5a842479 100644 --- a/Presentation.Web/app/components/it-contract/it-contract-overview.controller.ts +++ b/Presentation.Web/app/components/it-contract/it-contract-overview.controller.ts @@ -1,905 +1,947 @@ module Kitos.ItContract.Overview { - "use strict"; - - export interface IOverviewController { - mainGrid: IKendoGrid; - mainGridOptions: kendo.ui.GridOptions; - roleSelectorOptions: any; - - saveGridProfile(): void; - loadGridProfile(): void; - clearGridProfile(): void; - doesGridProfileExist(): void; - clearOptions(): void; - } - - export interface IItContractOverview extends Models.ItContract.IItContract { - Acquisition: number; - Operation: number; - Other: number; - AuditDate: string; - status: { - max: number; - white: number; - red: number; - yellow: number; - green: number; - }; - roles: Array; + export interface IOverviewController extends Utility.KendoGrid.IGridViewAccess { } export class OverviewController implements IOverviewController { - private storageKey = "it-contract-overview-options"; - private orgUnitStorageKey = "it-contract-overview-orgunit"; - private gridState = this.gridStateService.getService(this.storageKey, this.user); - private roleSelectorDataSource; - public mainGrid: IKendoGrid; - public mainGridOptions: kendo.ui.GridOptions; - public canCreate: boolean; + mainGrid: IKendoGrid; + mainGridOptions: IKendoGridOptions; + canCreate: boolean; + + private readonly criticalityPropertyName = "Criticality"; + private readonly contractTypePropertyName = "ContractType"; + private readonly contractTemplatePropertyName = "ContractTemplate"; + private readonly purchaseFormPropertyName = "PurchaseForm"; + private readonly procurementStrategyPropertyName = "ProcurementStrategy"; + private readonly paymentModelPropertyName = "PaymentModel"; + private readonly paymentFrequencyPropertyName = "PaymentFreqency"; + private readonly optionExtendPropertyName = "OptionExtend"; + private readonly terminationDeadlinePropertyName = "TerminationDeadline"; + private readonly procurementPlanYearPropertyName = "ProcurementPlanYear"; + private readonly associatedSystemUsagesPropertyName = "AssociatedSystemUsages"; + private readonly lastChangedByUserPropertyName = "LastChangedByUser"; + private readonly dataProcessingRegistrationsPropertyName = "DataProcessingRegistrations"; + + private readonly criticalityOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly contractTypeOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly contractTemplateOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly purchaseFormOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly procurementStrategyOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly paymentModelOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly paymentFrequencyOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly optionExtendOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly terminationDeadlineOptionViewModel: Models.ViewModel.Generic.OptionTypeViewModel; + private readonly yesNoUndecided: Models.ViewModel.Shared.YesNoUndecidedOptions; public static $inject: Array = [ "$rootScope", "$scope", - "$http", - "$timeout", - "$window", "$state", - "$", "_", - "moment", - "notify", "user", - "gridStateService", "itContractRoles", "orgUnits", - "ecoStreamData", - "$uibModal", "needsWidthFixService", - "exportGridToExcelService", - "userAccessRights" + "userAccessRights", + "uiState", + "itContractOptions", + "kendoGridLauncherFactory", + "procurements" ]; - constructor( - private $rootScope: IRootScope, - private $scope: ng.IScope, - private $http: ng.IHttpService, - private $timeout: ng.ITimeoutService, - private $window: ng.IWindowService, - private $state: ng.ui.IStateService, - private $: JQueryStatic, - private _: ILoDashWithMixins, - private moment: moment.MomentStatic, - private notify, - private user, - private gridStateService: Services.IGridStateFactory, - private itContractRoles, - private orgUnits, - private ecoStreamData, - private $modal, - private needsWidthFixService, - private exportGridToExcelService, - private userAccessRights: Models.Api.Authorization.EntitiesAccessRightsDTO) { - this.$rootScope.page.title = "IT Kontrakt - Økonomi"; - - this.$scope.$on("kendoWidgetCreated", (event, widget) => { - // the event is emitted for every widget; if we have multiple - // widgets in this controller, we need to check that the event - // is for the one we're interested in. - if (widget === this.mainGrid) { - this.loadGridOptions(); - - // show loadingbar when export to excel is clicked - // hidden again in method exportToExcel callback - $(".k-grid-excel").click(() => { - kendo.ui.progress(this.mainGrid.element, true); - }); - } - }); - - //Defer until page change is complete - setTimeout(() => this.activate(), 1); + private renderProcurementPlan(year: number, quarter: number): string { + return `Q${quarter} | ${year}`; } - public isValidUrl(Url) { - var regexp = /(http || https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; - return regexp.test(Url.toLowerCase()); - }; - public opretITKontrakt() { - - var self = this; - - var modalInstance = this.$modal.open({ - windowClass: "modal fade in", - templateUrl: "app/components/it-contract/it-contract-modal-create.view.html", - controller: ["$scope", "$uibModalInstance", function ($scope, $modalInstance) { - $scope.formData = {}; - $scope.type = "IT Kontrakt"; - $scope.checkAvailbleUrl = "api/itContract/"; - - $scope.saveAndProceed = () => { - - var orgId = self.user.currentOrganizationId; - var msg = self.notify.addInfoMessage("Opretter kontrakt...", false); - - self.$http.post(`api/itcontract?organizationId=${self.user.currentOrganizationId}`, { organizationId: orgId, name: $scope.formData.name }) - .then(function onSuccess(result: any) { - msg.toSuccessMessage("En ny kontrakt er oprettet!"); - var contract = result.data.response; - $modalInstance.close(contract.id); - self.$state.go("it-contract.edit.main", { id: contract.id }); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke oprette en ny kontrakt!"); - }); - }; - - $scope.save = () => { - - var orgId = self.user.currentOrganizationId; - var msg = self.notify.addInfoMessage("Opretter kontrakt...", false); - self.$http.post(`api/itcontract?organizationId=${self.user.currentOrganizationId}`, { organizationId: orgId, name: $scope.formData.name }) - .then(function onSuccess(result: any) { - msg.toSuccessMessage("En ny kontrakt er oprettet!"); - var contract = result.data.response; - $modalInstance.close(contract.id); - self.$state.reload(); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke oprette en ny kontrakt!"); - }); - }; - }] + constructor( + $rootScope: IRootScope, + $scope: ng.IScope, + $state: ng.ui.IStateService, + _: ILoDashWithMixins, + user, + itContractRoles, + orgUnits, + needsWidthFixService, + userAccessRights: Models.Api.Authorization.EntitiesAccessRightsDTO, + uiState: Models.UICustomization.ICustomizedModuleUI, + itContractOptions: Models.ItContract.IItContractOptions, + kendoGridLauncherFactory: Utility.KendoGrid.IKendoGridLauncherFactory, + procurements: Models.ItContract.IContractProcurementPlanDTO[]) { + $rootScope.page.title = "IT Kontrakt"; + + const procurementOptions = [{ + textValue: " ", + remoteValue: Helpers.KendoOverviewHelper.emptyOptionId.toString() + }]; + + procurements.map(value => { + return { + textValue: this.renderProcurementPlan(value.procurementPlanYear, value.procurementPlanQuarter), + remoteValue: value.procurementPlanYear + "_" + value.procurementPlanQuarter + }; + }).forEach(option => { + procurementOptions.push(option); }); - } - // saves grid state to localStorage - private saveGridOptions = () => { - this.gridState.saveGridOptions(this.mainGrid); - } + $scope.procurements = procurementOptions; - // Resets the scrollbar position - private onPaging = () => { - Utility.KendoGrid.KendoGridScrollbarHelper.resetScrollbarPosition(this.mainGrid); - } + const uiBluePrint = Models.UICustomization.Configs.BluePrints.ItContractUiCustomizationBluePrint; - // replaces "anything({roleName},'foo')" with "Rights/any(c: anything(concat(concat(c/User/Name, ' '), c/User/LastName),'foo') and c/RoleId eq {roleId})" - private fixRoleFilter(filterUrl, roleName, roleId) { - var pattern = new RegExp(`(\\w+\\()${roleName}(.*?\\))`, "i"); - return filterUrl.replace(pattern, `Rights/any(c: $1concat(concat(c/User/Name, ' '), c/User/LastName)$2 and c/RoleId eq ${roleId})`); - } + const getRoleKey = (roleId: number | string) => `role${roleId}`; - private fixSystemFilter(filterUrl, column) { - var pattern = new RegExp(`(\\w+\\()${column}(.*?\\))`, "i"); - return filterUrl.replace(pattern, "AssociatedSystemUsages/any(c: $1c/ItSystemUsage/ItSystem/Name$2)"); - } + this.criticalityOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.criticalityOptions); + this.contractTypeOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.contractTypeOptions); + this.contractTemplateOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.contractTemplateOptions); + this.purchaseFormOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.purchaseFormOptions); + this.procurementStrategyOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.procurementStrategyOptions); + this.paymentModelOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.paymentModelOptions); + this.paymentFrequencyOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.paymentFrequencyOptions); + this.optionExtendOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.optionExtendOptions); + this.terminationDeadlineOptionViewModel = new Models.ViewModel.Generic.OptionTypeViewModel(itContractOptions.terminationDeadlineOptions); - // loads kendo grid options from localstorage - private loadGridOptions() { - this.gridState.loadGridOptions(this.mainGrid); - } + this.yesNoUndecided = new Models.ViewModel.Shared.YesNoUndecidedOptions(); - private reload() { - this.$state.go(".", null, { reload: true }); - } + const replaceRoleFilter = (filterUrl: string, roleName: string, roleId: number) => { + const pattern = new RegExp(`(\\w+\\()${roleName}(.*?\\))`, "i"); + return filterUrl.replace(pattern, `Rights/any(c: $1concat(concat(c/User/Name, ' '), c/User/LastName)$2 and c/RoleId eq ${roleId})`); + } - public saveGridProfile() { - Utility.KendoFilterProfileHelper.saveProfileLocalStorageData(this.$window, this.orgUnitStorageKey); - this.gridState.saveGridProfile(this.mainGrid); - this.notify.addSuccessMessage("Filtre og sortering gemt"); - } + const replaceSystemFilter = (filterUrl: string, column: string) => { + const pattern = new RegExp(`(\\w+\\()${column}(.*?\\))`, "i"); + return filterUrl.replace(pattern, "AssociatedSystemUsages/any(c: $1c/ItSystemUsage/ItSystem/Name$2)"); + } - public loadGridProfile() { - this.gridState.loadGridProfile(this.mainGrid); - Utility.KendoFilterProfileHelper.saveProfileSessionStorageData(this.$window, this.$, this.orgUnitStorageKey, "ResponsibleOrganizationUnit.Name"); - this.mainGrid.dataSource.read(); - this.notify.addSuccessMessage("Anvender gemte filtre og sortering"); - } + const replaceSystemUuidFilter = (filterUrl: string, column: string) => { + const pattern = new RegExp(`(\\w+\\()${column}(.*?\\))`, "i"); + return filterUrl.replace(pattern, "AssociatedSystemUsages/any(c: contains(cast(c/ItSystemUsage/ItSystem/Uuid, Edm.String)$2)"); + } - public clearGridProfile() { - this.$window.sessionStorage.removeItem(this.orgUnitStorageKey); - this.gridState.removeProfile(); - this.gridState.removeSession(); - this.notify.addSuccessMessage("Filtre og sortering slettet"); - this.reload(); - } + const replaceOptionTypeFilter = (filterUrl: string, column: string) => { + const pattern = new RegExp(`(${column}( eq )\'([0-9a-zA-Z]+)\')`, "i"); + const matchingFilterParts = pattern.exec(filterUrl); + if (matchingFilterParts?.length !== 4) + return filterUrl; - public doesGridProfileExist() { - return this.gridState.doesGridProfileExist(); - } + var searchedValue = matchingFilterParts[3]; + const emptyOptionId = Helpers.KendoOverviewHelper.emptyOptionId.toString(); + if (searchedValue.indexOf(emptyOptionId) !== -1) { + searchedValue = searchedValue.replace(emptyOptionId, "null"); + } + return filterUrl.replace(pattern, `${column}/Id$2${searchedValue}`); + } - // clears grid filters by removing the localStorageItem and reloading the page - public clearOptions() { - this.$window.localStorage.removeItem(this.orgUnitStorageKey + "-profile"); - this.$window.sessionStorage.removeItem(this.orgUnitStorageKey); - this.gridState.removeProfile(); - this.gridState.removeLocal(); - this.gridState.removeSession(); - this.notify.addSuccessMessage("Sortering, filtering og kolonnevisning, -bredde og –rækkefølge nulstillet"); - // have to reload entire page, as dataSource.read() + grid.refresh() doesn't work :( - this.reload(); - } + const replaceDprFilter = (filterUrl: string, column: string) => { + const pattern = new RegExp(`(${column}( eq )\'([0-9]+)\')`, "i"); + const matchingFilterParts = pattern.exec(filterUrl); + if (matchingFilterParts?.length !== 4) + return filterUrl; + var searchedValue = matchingFilterParts[3]; + const yesValue = `${Models.Api.Shared.YesNoIrrelevantOption.YES.valueOf()}`; + if (searchedValue.indexOf(yesValue) !== -1) { + return filterUrl.replace(pattern, `${column}/Any (c:c/IsAgreementConcluded eq '${yesValue}')`); + } - public parseOptionEnum(enumName: string): string { - switch (enumName) { - case "YES": - return "Ja"; - case "NO": - return "Nej"; - default: - return ""; + return filterUrl.replace(pattern, `${column}/All (c:c/IsAgreementConcluded ne '${yesValue}')`); } - } - private activate() { - var self = this; - var clonedItContractRoles = this._.cloneDeep(this.itContractRoles); - this._.forEach(clonedItContractRoles, n => n.Id = `role${n.Id}`); - clonedItContractRoles.push({ Id: "ContractSigner", Name: "Kontraktunderskriver" }); - this.roleSelectorDataSource = clonedItContractRoles; - - this.canCreate = this.userAccessRights.canCreate; - - var mainGridOptions: IKendoGridOptions = { - autoBind: false, // disable auto fetch, it's done in the kendoRendered event handler - dataSource: { - type: "odata-v4", - transport: { - read: { - url: (options) => { - var urlParameters = - "?$expand=" + - "Reference($select=URL,Title,ExternalReferenceId)," + - "Parent($select=Id,Name)," + - "ResponsibleOrganizationUnit($select=Name)," + - "PaymentModel($select=Name)," + - "PaymentFreqency($select=Name)," + - "Rights($select=Id,RoleId,UserId;$expand=User($select=Id,Name,LastName),Role($select=Name,Id))," + - "Supplier($select=Name)," + - "AssociatedSystemUsages($expand=ItSystemUsage($select=Id;$expand=ItSystem($select=Name,Disabled)))," + - "DataProcessingRegistrations($select=IsAgreementConcluded)"; - // if orgunit is set then the org unit filter is active - var orgUnitId = self.$window.sessionStorage.getItem(self.orgUnitStorageKey); - if (orgUnitId === null) { - return `/odata/Organizations(${self.user.currentOrganizationId})/ItContracts` + - urlParameters; - } else { - return `/odata/Organizations(${self.user - .currentOrganizationId})/OrganizationUnits(${orgUnitId})/ItContracts` + - urlParameters; - } - }, - dataType: "json" - }, - parameterMap: (options, type) => { - // get kendo to map parameters to an odata url - var parameterMap = kendo.data.transports["odata-v4"].parameterMap(options, type); + const replaceProcurementFilter = (filterUrl: string, column: string) => { + const pattern = new RegExp(`${column} eq \'([0-9]+)_([0-9]+)\'`, "i"); + const emptyOptionPattern = new RegExp(`${column} eq \'(${Helpers.KendoOverviewHelper.emptyOptionId})\'`, "i"); + const matchingFilterPart = pattern.exec(filterUrl); - if (parameterMap.$filter) { - self._.forEach(self.itContractRoles, - role => parameterMap.$filter = self - .fixRoleFilter(parameterMap.$filter, `role${role.Id}`, role.Id)); + if (matchingFilterPart?.length !== 3) { + const emptyOptionMatch = emptyOptionPattern.exec(filterUrl); - parameterMap.$filter = self - .fixSystemFilter(parameterMap.$filter, "AssociatedSystemUsages"); - } + if (emptyOptionMatch?.length === 2) { + filterUrl = filterUrl.replace(emptyOptionPattern, `(ProcurementPlanYear eq null and ProcurementPlanQuarter eq null)`); - return parameterMap; - } - }, - sort: { - field: "Name", - dir: "asc" - }, - pageSize: 100, - serverPaging: true, - serverSorting: true, - serverFiltering: true, - schema: { - model: { - fields: { - OperationRemunerationBegun: { type: "date" }, - LastChanged: { type: "date" }, - Concluded: { type: "date" }, - ExpirationDate: { type: "date" }, - IrrevocableTo: { type: "date" }, - Terminated: { type: "date" }, - Acquisition: { type: "number" }, - Operation: { type: "number" }, - Other: { type: "number" }, - IsActive: { type: "boolean" } - } - }, - parse: response => { - // iterrate each contract - self._.forEach(response.value, - contract => { - // HACK to add economy data to result - var ecoData = >self._ - .filter(self.ecoStreamData, { "ExternPaymentForId": contract.Id }); - contract.Acquisition = self._.sumBy(ecoData, "Acquisition"); - contract.Operation = self._.sumBy(ecoData, "Operation"); - contract.Other = self._.sumBy(ecoData, "Other"); - - var earliestAuditDate = self._ - .first(self._.sortBy(ecoData, ["AuditDate"], ["desc"])); - if (earliestAuditDate && earliestAuditDate.AuditDate) { - contract.AuditDate = earliestAuditDate.AuditDate; - } - - var totalWhiteStatuses = self._.filter(ecoData, { AuditStatus: "White" }).length; - var totalRedStatuses = self._.filter(ecoData, { AuditStatus: "Red" }).length; - var totalYellowStatuses = self._.filter(ecoData, { AuditStatus: "Yellow" }).length; - var totalGreenStatuses = self._.filter(ecoData, { AuditStatus: "Green" }).length; - - contract.status = { - max: totalWhiteStatuses + - totalRedStatuses + - totalYellowStatuses + - totalGreenStatuses, - white: totalWhiteStatuses, - red: totalRedStatuses, - yellow: totalYellowStatuses, - green: totalGreenStatuses - }; - - // HACK to flattens the Rights on usage so they can be displayed as single columns - contract.roles = []; - // iterrate each right - self._.forEach(contract.Rights, - right => { - // init an role array to hold users assigned to this role - if (!contract.roles[right.RoleId]) - contract.roles[right.RoleId] = []; - - // push username to the role array - contract.roles[right.RoleId] - .push([right.User.Name, right.User.LastName].join(" ")); - }); - if (!contract.Parent) { contract.Parent = { Name: "" }; } - if (!contract.ResponsibleOrganizationUnit) { contract.ResponsibleOrganizationUnit = { Name: "" }; } - if (!contract.Supplier) { contract.Supplier = { Name: "" }; } - if (!contract.Reference) { contract.Reference = { Title: "", ExternalReferenceId: "" }; } - if (!contract.PaymentModel) { contract.PaymentModel = { Name: "" }; } - if (!contract.PaymentFreqency) { contract.PaymentFreqency = { Name: "" }; } - if (!contract.Reference) { contract.Reference = { Title: "", ExternalReferenceId: "" }; } - }); - return response; - } } - }, - toolbar: [ - { - name: "opretITKontrakt", - text: "Opret IT Kontrakt", - template: - "" - }, - { - name: "clearFilter", - text: "Gendan kolonneopsætning", - template: - "" - }, - { - name: "saveFilter", - text: "Gem filter", - template: - "" - }, - { - name: "useFilter", - text: "Anvend filter", - template: - "" - }, - { - name: "deleteFilter", - text: "Slet filter", - template: - "" - }, - { - template: kendo.template(self.$("#role-selector").html()) - } - ], - excel: { - fileName: "IT Kontrakt Overblik.xlsx", - filterable: true, - allPages: true - }, - pageable: { - refresh: true, - pageSizes: [10, 25, 50, 100, 200, "all"], - buttonCount: 5 - }, - sortable: { - mode: "single" - }, - reorderable: true, - resizable: true, - filterable: { - mode: "row" - }, - groupable: false, - columnMenu: true, - height: window.innerHeight - 200, - dataBound: self.saveGridOptions, - columnResize: self.saveGridOptions, - columnHide: self.saveGridOptions, - columnShow: self.saveGridOptions, - columnReorder: self.saveGridOptions, - excelExport: (e:any) => self.exportToExcel(e), - page: self.onPaging, - columns: [ - { - field: "IsActive", title: "Gyldig/Ikke gyldig", width: 150, - persistId: "isActive", // DON'T YOU DARE RENAME! - template: dataItem => { - if (dataItem.IsActive) { - return ''; - } - return ''; - }, - excelTemplate: dataItem => { - var isActive = false; - if (dataItem) { - isActive = dataItem.IsActive; - } - return isActive.toString(); - }, - attributes: { "class": "text-center" }, - sortable: false, - filterable: false - }, - { - field: "ItContractId", title: "KontraktID", width: 150, - persistId: "contractid", // DON'T YOU DARE RENAME! - excelTemplate: dataItem => dataItem && dataItem.ItContractId || "", - hidden: true, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" - } - } - }, - { - field: "Parent.Name", title: "Overordnet kontrakt", width: 150, - persistId: "parentname", // DON'T YOU DARE RENAME! - template: dataItem => dataItem.Parent ? `${dataItem.Parent.Name}` : "", - excelTemplate: dataItem => dataItem && dataItem.Parent && dataItem.Parent.Name || "", - hidden: true, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" - } - } - }, - { - field: "Name", title: "IT Kontrakt", width: 260, - persistId: "name", // DON'T YOU DARE RENAME! - template: dataItem => `${dataItem.Name}`, - attributes: { - "data-element-type": "contractNameObject" - }, - headerAttributes: { - "data-element-type": "contractNameHeader" - }, - excelTemplate: dataItem => dataItem && dataItem.Name || "", - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" - } - } - }, - { - field: "ResponsibleOrganizationUnit.Name", title: "Ansv. organisationsenhed", width: 245, - persistId: "orgunit", // DON'T YOU DARE RENAME! - template: dataItem => dataItem.ResponsibleOrganizationUnit ? dataItem.ResponsibleOrganizationUnit.Name : "", - filterable: { - cell: { - showOperators: false, - template: self.orgUnitDropDownList - } - } - }, - { - field: "AssociatedSystemUsages", title: "IT System", width: 150, - persistId: "itsys", // DON'T YOU DARE RENAME! - template: dataItem => { - var value = ""; - if (dataItem.AssociatedSystemUsages.length > 0) { - const system = self._.first(dataItem.AssociatedSystemUsages).ItSystemUsage.ItSystem; - value = Helpers.SystemNameFormat.apply(system.Name, system.Disabled); - } + } else { + const year = matchingFilterPart[1]; + const quarter = matchingFilterPart[2]; - if (dataItem.AssociatedSystemUsages.length > 1) { - value += ` (${dataItem.AssociatedSystemUsages.length})`; - } + filterUrl = filterUrl.replace(pattern, `(ProcurementPlanYear eq ${year} and ProcurementPlanQuarter eq ${quarter})`); + } - return value; - }, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" - } - }, - sortable: false - }, - { - field: "Supplier.Name", title: "Leverandør", width: 150, - persistId: "suppliername", // DON'T YOU DARE RENAME! - template: dataItem => dataItem.Supplier ? dataItem.Supplier.Name : "", - hidden: true, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" - } - } - }, - { - field: "Reference.Title", title: "Reference", width: 150, - persistId: "ReferenceId", // DON'T YOU DARE RENAME! - template: dataItem => { - var reference = dataItem.Reference; - return Helpers.RenderFieldsHelper.renderReferenceUrl(reference); - }, - excelTemplate: dataItem => { - return Helpers.ExcelExportHelper.renderReferenceUrl(dataItem.Reference); - }, - attributes: { "class": "text-left" }, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" - } - } - }, - { - field: "Reference.ExternalReferenceId", title: "Dokument ID / Sagsnr.", width: 150, - persistId: "folderref", // DON'T YOU DARE RENAME! - template: dataItem => { - return Helpers.RenderFieldsHelper.renderExternalReferenceId(dataItem.Reference); - }, - excelTemplate: dataItem => { - return Helpers.ExcelExportHelper.renderExternalReferenceId(dataItem.Reference); - }, - attributes: { "class": "text-center" }, - hidden: true, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" - } + return filterUrl; + } + + const matchDprWithConcludedAgreement = (dpr: { IsAgreementConcluded: string | null }): boolean => { + return dpr.IsAgreementConcluded && Models.Api.Shared.YesNoIrrelevantOption[dpr.IsAgreementConcluded] === Models.Api.Shared.YesNoIrrelevantOption.YES; + } + + var launcher = + kendoGridLauncherFactory + .create() + .withOverviewType(Models.Generic.OverviewType.ItContract) + .withScope($scope) + .withGridBinding(this) + .withUser(user) + .withEntityTypeName("IT Kontrakt") + .withExcelOutputName("IT Kontrakt Overblik") + .withStorageKey("it-contract-full-overview-options") + .withUrlFactory(options => { + var urlParameters = + "?$expand=" + + "Reference($select=URL,Title,ExternalReferenceId)," + + "Parent($select=Id,Name)," + + "ResponsibleOrganizationUnit($select=Name)," + + "PaymentModel($select=Name)," + + "PaymentFreqency($select=Name)," + + "Rights($select=Id,RoleId,UserId;$expand=User($select=Id,Name,LastName),Role($select=Name,Id))," + + "Supplier($select=Name)," + + "AssociatedSystemUsages($expand=ItSystemUsage($select=Id;$expand=ItSystem($select=Name,Disabled,Uuid)))," + + "DataProcessingRegistrations($select=IsAgreementConcluded,Name,Id)," + + "LastChangedByUser($select=Name,LastName)," + + "ExternEconomyStreams($select=Acquisition,Operation,Other,AuditStatus,AuditDate)," + + `${this.criticalityPropertyName}($select=Id),` + + `${this.contractTypePropertyName}($select=Id),` + + `${this.contractTemplatePropertyName}($select=Id),` + + `${this.purchaseFormPropertyName}($select=Id),` + + `${this.procurementStrategyPropertyName}($select=Id),` + + `${this.paymentModelPropertyName}($select=Id),` + + `${this.paymentFrequencyPropertyName}($select=Id),` + + `${this.optionExtendPropertyName}($select=Id),` + + `${this.terminationDeadlinePropertyName}($select=Id),` + + "AssociatedSystemRelations($select=Id)"; + + const selectedOrgId: number | null = options.currentOrgUnit; + var query = `/odata/Organizations(${user.currentOrganizationId})/`; + + // if orgunit is set then the org unit filter is active + if (selectedOrgId === null) { + return `${query}ItContracts${urlParameters}`; + } else { + return `${query}OrganizationUnits(${selectedOrgId})/ItContracts${urlParameters}`; } - }, - { - field: "Acquisition", title: "Anskaffelse", width: 90, - persistId: "acquisition", // DON'T YOU DARE RENAME! - excelTemplate: dataItem => dataItem && dataItem.Acquisition.toString() || "", - attributes: { "class": "text-right" }, - format: "{0:n0}", - sortable: false, - filterable: false - }, - { - field: "Operation", title: "Drift/År", width: 75, - persistId: "operation", // DON'T YOU DARE RENAME! - excelTemplate: dataItem => dataItem && dataItem.Operation.toString() || "", - attributes: { "class": "text-right" }, - format: "{0:n0}", - sortable: false, - filterable: false - }, - { - field: "Other", title: "Andet", width: 150, - persistId: "other", // DON'T YOU DARE RENAME! - excelTemplate: dataItem => dataItem && dataItem.Other.toString() || "", - attributes: { "class": "text-right" }, - format: "{0:n0}", - hidden: true, - sortable: false, - filterable: false - }, - { - field: "DataProcessingRegistrationsConcluded", title: "Databehandleraftale", width: 150, - persistId: "dataProcessingRegistrationsConcluded", - template: dataItem => { - if (dataItem.DataProcessingRegistrations && dataItem.DataProcessingRegistrations.length > 0) { - const choicesToRender = dataItem - .DataProcessingRegistrations - .filter(registration => registration.IsAgreementConcluded !== null && - registration.IsAgreementConcluded !== - Models.Api.Shared.YesNoIrrelevantOption.UNDECIDED); - if (choicesToRender.length > 0) { - return choicesToRender - .map(dpr => Models.ViewModel.Shared.YesNoIrrelevantOptions.getText(dpr.IsAgreementConcluded)) - .reduce((combined: string, next: string, _) => combined.length === 0 ? next : `${combined}, ${next}`, ""); + }) + .withStandardSorting("Name") + .withParameterMapping((options, type) => { + var parameterMap = kendo.data.transports["odata-v4"].parameterMap(options, type); + var activeOrgUnit: number | null = null; + + if (parameterMap.$orderby) { + + //Option types orderBy fixes + const optionTypeProperties: Array = [ + this.criticalityPropertyName, + this.contractTypePropertyName, + this.contractTemplatePropertyName, + this.purchaseFormPropertyName, + this.procurementStrategyPropertyName, + this.paymentModelPropertyName, + this.paymentFrequencyPropertyName, + this.optionExtendPropertyName, + this.terminationDeadlinePropertyName + ]; + + for (let optionTypePropertyName of optionTypeProperties) { + if (parameterMap.$orderby.includes(optionTypePropertyName)) { + parameterMap.$orderby = parameterMap.$orderby.replace(optionTypePropertyName, + `${optionTypePropertyName}/Name`); } } - return ""; - }, - attributes: { "class": "text-left" }, - hidden: true, - filterable: false, - sortable: false - }, - { - field: "OperationRemunerationBegun", title: "Driftsvederlag påbegyndt", format: "{0:dd-MM-yyyy}", width: 150, - persistId: "opremun", // DON'T YOU DARE RENAME! - excelTemplate: dataItem => { - if (!dataItem || !dataItem.OperationRemunerationBegun) { - return ""; - } - return self.moment(dataItem.OperationRemunerationBegun).format(Constants.DateFormat.DanishDateFormat); - }, - hidden: true, - filterable: { - cell: { - showOperators: false, - operator: "gte" - } + //Fix Ordering based on last changed by user name + parameterMap.$orderby = Helpers.OdataQueryHelper.expandOrderingToMultipleProperties( + parameterMap.$orderby, + `${this.lastChangedByUserPropertyName}/Name`, + [`${this.lastChangedByUserPropertyName}/Name`, `${this.lastChangedByUserPropertyName}/LastName`] + ); + + //Fix procurement plan ordering to be by year and then by quarter + parameterMap.$orderby = Helpers.OdataQueryHelper.expandOrderingToMultipleProperties( + parameterMap.$orderby, + this.procurementPlanYearPropertyName, + [this.procurementPlanYearPropertyName, "ProcurementPlanQuarter"] + ); } - }, - { - field: "PaymentModel.Name", title: "Betalingsmodel", width: 150, - persistId: "paymodel", // DON'T YOU DARE RENAME! - template: dataItem => dataItem.PaymentModel ? dataItem.PaymentModel.Name : "", - hidden: true, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" + + if (parameterMap.$filter) { + // Org unit is stripped from the odata query and passed on to the url factory! + const captureOrgUnit = new RegExp(`ResponsibleOrganizationUnit/Name eq '(\\d+)'`, "i"); + if (captureOrgUnit.test(parameterMap.$filter)) { + activeOrgUnit = parseInt(captureOrgUnit.exec(parameterMap.$filter)[1]); } - } - }, - { - field: "PaymentFreqency.Name", title: "Betalingsfrekvens", width: 150, - persistId: "payfreq", // DON'T YOU DARE RENAME! - template: dataItem => dataItem.PaymentFreqency ? dataItem.PaymentFreqency.Name : "", - hidden: true, - filterable: { - cell: { - template: customFilter, - dataSource: [], - showOperators: false, - operator: "contains" + parameterMap.$filter = parameterMap.$filter.replace(captureOrgUnit, ""); + + //Fix role filters + _.forEach(itContractRoles, + (role: any) => parameterMap.$filter = + replaceRoleFilter(parameterMap.$filter, `role${role.Id}`, role.Id)); + + //Fix system usage collection search + parameterMap.$filter = replaceSystemFilter(parameterMap.$filter, this.associatedSystemUsagesPropertyName); + parameterMap.$filter = replaceSystemUuidFilter(parameterMap.$filter, `${this.associatedSystemUsagesPropertyName}Uuids`); + + //Fix search on user to cover both name and last name + const lastChangedByUserSearchedProperties = ["Name", "LastName"]; + parameterMap.$filter = Helpers.OdataQueryHelper.replaceQueryByMultiplePropertyContains(parameterMap.$filter, + `${this.lastChangedByUserPropertyName}/Name`, + this.lastChangedByUserPropertyName, + lastChangedByUserSearchedProperties); + + //Fix procurement plan filtering + parameterMap.$filter = replaceProcurementFilter(parameterMap.$filter, this.procurementPlanYearPropertyName); + + //Option types filter fixes + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.criticalityPropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.contractTypePropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.contractTemplatePropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.purchaseFormPropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.procurementStrategyPropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.paymentModelPropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.paymentFrequencyPropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.optionExtendPropertyName); + parameterMap.$filter = replaceOptionTypeFilter(parameterMap.$filter, this.terminationDeadlinePropertyName); + + //DPR filter fix + parameterMap.$filter = replaceDprFilter(parameterMap.$filter, this.dataProcessingRegistrationsPropertyName); + + //Cleanup filter if invalid ODATA Filter (can happen if we strip params) + if (parameterMap.$filter === "") { + delete parameterMap.$filter; } } - }, - { - field: "AuditDate", title: "Audit dato", width: 90, - persistId: "auditdate", // DON'T YOU DARE RENAME! - template: dataItem => { - if (!dataItem.AuditDate) { - return ""; - } - return self.moment(dataItem.AuditDate).format(Constants.DateFormat.DanishDateFormat); - }, - sortable: false, - filterable: false - }, - { - field: "AuditStatus", title: "Audit status", width: 90, - persistId: "auditstatus", // DON'T YOU DARE RENAME! - template: dataItem => { - if (dataItem.status.max > 0) { - var str = JSON.stringify(dataItem.status); - return `
`; - } - return ""; - }, - excelTemplate: dataItem => - dataItem && dataItem.status && `Hvid: ${dataItem.status.white}, Rød: ${dataItem.status.red}, Gul: ${dataItem.status.yellow}, Grøn: ${dataItem.status.green}, Max: ${dataItem.status.max}` || "", - sortable: false, - filterable: false - } - ] - }; - - function customFilter(args) { - args.element.kendoAutoComplete({ - noDataTemplate: '' - }); - } - // find the index of column where the role columns should be inserted - var insertIndex = this._.findIndex(mainGridOptions.columns, { 'persistId': "orgunit" }) + 1; - - // add special contract signer role - var signerRole = { - field: "ContractSigner", - title: "Kontraktunderskriver", - persistId: "roleSigner", - template: dataItem => dataItem.ContractSigner ? `${dataItem.ContractSigner}` : "", - width: 130, - hidden: true, - sortable: true, - filterable: { - cell: { - dataSource: [], - showOperators: false, - operator: "contains" - } - } - }; - mainGridOptions.columns.splice(insertIndex, 0, signerRole); - - // add a role column for each of the roles - // note iterating in reverse so we don't have to update the insert index - this._.forEachRight(this.itContractRoles, role => { - var roleColumn: IKendoGridColumn = { - field: `role${role.Id}`, - title: role.Name, - persistId: `role${role.Id}`, - template: dataItem => { - var roles = ""; - - if (dataItem.roles[role.Id] === undefined) - return roles; - - roles = self.concatRoles(dataItem.roles[role.Id]); - - var link = `${roles}`; - - return link; - }, - excelTemplate: dataItem => { - var roles = ""; - - if (!dataItem || dataItem.roles[role.Id] === undefined) - return roles; - - return self.concatRoles(dataItem.roles[role.Id]); - }, - width: 200, - hidden: !(role.Name === "Kontraktejer"), // hardcoded role name :( - sortable: false, - filterable: { - cell: { - dataSource: [], - showOperators: false, - operator: "contains" - } - } - }; + //Making sure orgunit is set + (options as any).currentOrgUnit = activeOrgUnit; - // insert the generated column at the correct location - mainGridOptions.columns.splice(insertIndex, 0, roleColumn); - }); + return parameterMap; + }) + .withResponseParser(response => { - // assign the generated grid options to the scope value, kendo will do the rest - this.mainGridOptions = mainGridOptions; + response.forEach(contract => { + var ecoData = contract.ExternEconomyStreams ?? []; - Helpers.ExcelExportHelper.setupExcelExportDropdown(() => this.excelConfig, - () => this.mainGrid, - this.$scope, - this.mainGridOptions.toolbar); - } - - private readonly excelConfig: Models.IExcelConfig = { - }; + //Only compute payment related stuff if needed + if (uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.extPayment)) { + contract.Acquisition = _.sumBy(ecoData, "Acquisition"); + contract.Operation = _.sumBy(ecoData, "Operation"); + contract.Other = _.sumBy(ecoData, "Other"); - private exportToExcel = (e: IKendoGridExcelExportEvent) => { - this.exportGridToExcelService.getExcel(e, this._, this.$timeout, this.mainGrid, this.excelConfig); - } + const streamsSortedByAuditDate = _.sortBy(ecoData, ["AuditDate"]); + const streamWithEarliestAuditDate = _.last(streamsSortedByAuditDate); + if (streamWithEarliestAuditDate && streamWithEarliestAuditDate.AuditDate) { + contract.AuditDate = streamWithEarliestAuditDate.AuditDate; + } - private orgUnitDropDownList = (args) => { - var self = this; + const totalWhiteStatuses = _.filter(ecoData, { AuditStatus: "White" }).length; + const totalRedStatuses = _.filter(ecoData, { AuditStatus: "Red" }).length; + const totalYellowStatuses = _.filter(ecoData, { AuditStatus: "Yellow" }).length; + const totalGreenStatuses = _.filter(ecoData, { AuditStatus: "Green" }).length; + + contract.status = { + max: totalWhiteStatuses + + totalRedStatuses + + totalYellowStatuses + + totalGreenStatuses, + white: totalWhiteStatuses, + red: totalRedStatuses, + yellow: totalYellowStatuses, + green: totalGreenStatuses + }; + } - function indent(dataItem: any) { - var htmlSpace = "    "; - return htmlSpace.repeat(dataItem.$level) + dataItem.Name; - } + contract.roles = []; - function setDefaultOrgUnit() { - var kendoElem = this; - var idTofind = self.$window.sessionStorage.getItem(self.orgUnitStorageKey); + //Only compute roles related stuff if needed + if (uiState.isBluePrintNodeAvailable(uiBluePrint.children.contractRoles)) { + // Create columns lookups for all assigned rights + _.forEach(contract.Rights, + right => { + // init an role array to hold users assigned to this role + if (!contract.roles[right.RoleId]) + contract.roles[right.RoleId] = []; - if (!idTofind) { - // if no id was found then do nothing - return; - } + // push username to the role array + contract.roles[right.RoleId].push(`${right.User.Name} ${right.User.LastName}`); + }); + } - // find the index of the org unit that matches the users default org unit - var index = self._.findIndex(kendoElem.dataItems(), (item: any) => (item.Id == idTofind)); + //Ensure that object, where the data source is nested, are provided. Otherwise pre-render prep will fail in kendo grid's excel export function (even if we override the export) + contract.Parent = contract.Parent ?? {} as any; + contract.ResponsibleOrganizationUnit = contract.ResponsibleOrganizationUnit ?? {} as any; + contract.Supplier = contract.Supplier ?? {} as any; + contract.Reference = contract.Reference ?? {} as any; + contract.LastChangedByUser = contract.LastChangedByUser ?? { Name: "", LastName: "" } as any; + }); + + return response; + }) + .withToolbarEntry({ + id: "createContract", + title: "Opret IT Kontrakt", + color: Utility.KendoGrid.KendoToolbarButtonColor.Green, + position: Utility.KendoGrid.KendoToolbarButtonPosition.Right, + margins: [Utility.KendoGrid.KendoToolbarMargin.Left], + implementation: Utility.KendoGrid.KendoToolbarImplementation.Button, + enabled: () => userAccessRights.canCreate, + onClick: () => $state.go("it-contract.overview.create") + } as Utility.KendoGrid.IKendoToolbarEntry); + + if (uiState.isBluePrintNodeAvailable(uiBluePrint.children.contractRoles)) { + launcher = launcher.withToolbarEntry({ + id: "roleSelector", + title: "Vælg kontraktrolle...", + color: Utility.KendoGrid.KendoToolbarButtonColor.Grey, + position: Utility.KendoGrid.KendoToolbarButtonPosition.Left, + margins: [Utility.KendoGrid.KendoToolbarMargin.Left], + implementation: Utility.KendoGrid.KendoToolbarImplementation.DropDownList, + enabled: () => true, + dropDownConfiguration: { + selectedOptionChanged: newItem => { + // hide all roles column + itContractRoles.forEach(role => { + this.mainGrid.hideColumn(getRoleKey(role.Id)); + }); - // -1 = no match - // 0 = root org unit, which should display all. So remove org unit filter - if (index > 0) { - // select the users default org unit - kendoElem.select(index); - } + //Only show the selected role + var gridFieldName = getRoleKey(newItem.id); + this.mainGrid.showColumn(gridFieldName); + needsWidthFixService.fixWidth(); + }, + availableOptions: itContractRoles.map(role => { + return { + id: `${role.Id}`, + text: role.Name, + originalObject: role + }; + }) + } + } as Utility.KendoGrid.IKendoToolbarEntry); } - function orgUnitChanged() { - var kendoElem = this; - // can't use args.dataSource directly, - // if we do then the view doesn't update. - // So have to go through $scope - sadly :( - var dataSource = self.mainGrid.dataSource; - var selectedIndex = kendoElem.select(); - var selectedId = self._.parseInt(kendoElem.value()); - - if (selectedIndex > 0) { - // filter by selected - self.$window.sessionStorage.setItem(self.orgUnitStorageKey, selectedId.toString()); - } else { - // else clear filter because the 0th element should act like a placeholder - self.$window.sessionStorage.removeItem(self.orgUnitStorageKey); - } - // setting the above session value will cause the grid to fetch from a different URL - // see the function part of this http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport.read.url - // so that's why it works - dataSource.read(); + launcher = launcher + .withColumn(builder => + builder + .withDataSourceName("IsActive") + .withDataSourceType(Utility.KendoGrid.KendoGridColumnDataSourceType.Boolean) + .withTitle("Gyldig/Ikke Gyldig") + .withId("isActive") + .withRendering(dataItem => dataItem.IsActive ? "Gyldig" : "Ikke Gyldig") + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withoutSorting()) + .withColumn(builder => + builder + .withDataSourceName("ItContractId") + .withTitle("Kontrakt ID") + .withId("contractId") + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withSourceValueEchoRendering() + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.frontPage.children.contractId)) + .withSourceValueEchoExcelOutput()) + .withColumn(builder => + builder + .withDataSourceName("Parent.Name") + .withTitle("Overordnet kontrakt") + .withId("parentName") + .withStandardWidth(190) + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withRendering(dataItem => dataItem.Parent.Id !== undefined ? Helpers.RenderFieldsHelper.renderInternalReference( + "kendo-parent-rendering", + "it-contract.edit.main", + dataItem.Parent.Id, + dataItem.Parent.Name) : "") + .withExcelOutput(dataItem => Helpers.ExcelExportHelper.renderString(dataItem.Parent.Name))) + .withColumn(builder => + builder + .withDataSourceName("Name") + .withTitle("IT Kontrakt") + .withId("contractName") + .withStandardWidth(190) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withContentOverflow() + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderInternalReference( + "contractNameObject", + "it-contract.edit.main", + dataItem.Id, + dataItem.Name)) + .withSourceValueEchoExcelOutput()) + .withColumn(builder => + builder + .withDataSourceName(this.criticalityPropertyName) + .withTitle("Kritikalitet") + .withId("criticality") + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withContentOverflow() + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.criticalityOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => dataItem.Criticality ? Helpers.RenderFieldsHelper.renderString(this.criticalityOptionViewModel.getOptionText(dataItem.Criticality.Id)) : "")) + .withColumn(builder => + builder + .withDataSourceName("ResponsibleOrganizationUnit.Name") + .withTitle("Ansvarlig org. enhed") + .withId("responsibleOrganizationUnitName") + .withStandardWidth(190) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withContentOverflow() + .withFixedValueRange(orgUnits.map((unit) => { + return { + textValue: unit.Name, + remoteValue: unit.Id, + optionalContext: unit + }; + }), + false, + dataItem => '    '.repeat(dataItem.optionalContext.$level) + dataItem.optionalContext.Name) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.ResponsibleOrganizationUnit?.Name))) + .withColumn(builder => + builder + .withDataSourceName("Supplier.Name") + .withTitle("Leverandør") + .withId("supplierName") + .withStandardWidth(190) + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(dataItem.Supplier?.Name))) + .withColumn(builder => + builder + .withDataSourceName("ContractSigner") + .withTitle("Kontraktunderskriver") + .withId("contractSigner") + .withStandardWidth(190) + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.frontPage.children.internalSigner)) + .withContentOverflow() + .withSourceValueEchoRendering() + .withSourceValueEchoExcelOutput() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains)) + .withColumn(builder => + builder + .withDataSourceName(this.contractTypePropertyName) + .withTitle("Kontrakttype") + .withId("contractType") + .withContentOverflow() + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.frontPage.children.contractType)) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange(Helpers.KendoOverviewHelper.mapDataForKendoDropdown(this.contractTypeOptionViewModel.enabledOptions, true), false) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(this.contractTypeOptionViewModel.getOptionText(dataItem.ContractType?.Id)))) + .withColumn(builder => + builder + .withDataSourceName(this.contractTemplatePropertyName) + .withTitle("Kontraktskabelon") + .withId("contractTemplate") + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.contractTemplateOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(this.contractTemplateOptionViewModel.getOptionText(dataItem.ContractTemplate?.Id)))) + .withColumn(builder => + builder + .withDataSourceName(this.purchaseFormPropertyName) + .withTitle("Indkøbsform") + .withId("purchaseForm") + .withContentOverflow() + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.frontPage.children.purchaseForm)) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.purchaseFormOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(this.purchaseFormOptionViewModel.getOptionText(dataItem.PurchaseForm?.Id)))) + .withColumn(builder => + builder + .withDataSourceName(this.procurementStrategyPropertyName) + .withTitle("Genanskaffelsesstrategi") + .withId("procurementStrategy") + .withStandardWidth(180) + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.frontPage.children.procurementStrategy)) + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.procurementStrategyOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(this.procurementStrategyOptionViewModel.getOptionText(dataItem.ProcurementStrategy?.Id)))) + .withColumn(builder => + builder + .withDataSourceName(this.procurementPlanYearPropertyName) + .withTitle("Genanskaffelsesplan") + .withId("procurementPlanYear") + .withStandardWidth(165) + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.frontPage.children.procurementPlan)) + .withContentOverflow() + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange($scope.procurements, false) + .withRendering(dataItem => dataItem.ProcurementPlanQuarter && dataItem.ProcurementPlanYear + ? this.renderProcurementPlan(dataItem.ProcurementPlanYear, dataItem.ProcurementPlanQuarter) + : "")) + .withColumn(builder => + builder + .withDataSourceName("ProcurementInitiated") + .withTitle("Genanskaffelse igangsat") + .withId("procurementInitiated") + .withStandardWidth(185) + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.frontPage.children.procurementInitiated)) + .withContentOverflow() + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown(this.yesNoUndecided.options, false), + false) + .withRendering(dataItem => dataItem.ProcurementInitiated + ? Models.ViewModel.Shared.YesNoUndecidedOptions.getText(dataItem.ProcurementInitiated) + : "")); + + if (uiState.isBluePrintNodeAvailable(uiBluePrint.children.contractRoles)) { + itContractRoles.forEach(role => { + const roleColumnId = `itContract${role.Id}`; + const roleKey = getRoleKey(role.Id); + launcher = launcher + .withColumn(builder => + builder + .withDataSourceName(roleKey) + .withTitle(role.Name) + .withId(roleColumnId) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withoutSorting() + .withContentOverflow() + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderInternalReference( + `kendo-contract-${roleKey}-rendering`, + "it-contract.edit.roles", + dataItem.Id, + dataItem.roles[role.Id]?.toString() ?? "")) + .withExcelOutput( + dataItem => dataItem.roles[role.Id]?.toString() ?? "")); + }); } - // http://dojo.telerik.com/ODuDe/5 - args.element.removeAttr("data-bind"); - args.element.kendoDropDownList({ - dataSource: this.orgUnits, - dataValueField: "Id", - dataTextField: "Name", - template: indent, - dataBound: setDefaultOrgUnit, - change: orgUnitChanged - }); - } - - public roleSelectorOptions = (): kendo.ui.DropDownListOptions => { - return { - autoBind: false, - dataSource: this.roleSelectorDataSource, - dataTextField: "Name", - dataValueField: "Id", - optionLabel: "Vælg kontraktrolle...", - change: e => { - // hide all roles column - this.mainGrid.hideColumn("ContractSigner"); - this._.forEach(this.itContractRoles, role => this.mainGrid.hideColumn(`role${role.Id}`)); - - var selectedId = e.sender.value(); - // show only the selected role column - this.mainGrid.showColumn(selectedId); - this.needsWidthFixService.fixWidth(); - } - } - }; + launcher = launcher + .withColumn(builder => + builder + .withDataSourceName(this.dataProcessingRegistrationsPropertyName) + .withTitle("Databehandleraftale") + .withId("dataProcessingRegistrations") + .withoutSorting() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + [ + Models.Api.Shared.YesNoIrrelevantOption.YES, + Models.Api.Shared.YesNoIrrelevantOption.NO + ].map(value => { + return { + textValue: Models.ViewModel.Shared.YesNoIrrelevantOptions.getText(value), + remoteValue: value + }; + }), + false) + .withContentOverflow() + .withRendering(dataItem => { + var activeDprs = []; + dataItem.DataProcessingRegistrations.forEach(dpr => { + if (matchDprWithConcludedAgreement(dpr)) { + activeDprs.push(Helpers.RenderFieldsHelper.renderInternalReference( + `kendo-contract-dpr-${dpr.Id}`, + "data-processing.edit-registration.main", + dpr.Id, + dpr.Name)); + } + }); + return activeDprs.join(", "); + }) + .withExcelOutput(dataItem => { + var activeDprs = []; + dataItem.DataProcessingRegistrations.forEach(dpr => { + if (matchDprWithConcludedAgreement(dpr)) { + activeDprs.push(dpr.Name); + } + }); + return activeDprs.join(", "); + })) + .withColumn(builder => + builder + .withDataSourceName(this.associatedSystemUsagesPropertyName) + .withTitle("IT Systemer") + .withId("associatedSystemUsages") + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withoutSorting() + .withContentOverflow() + .withRendering(dataItem => { + var activeSystemUsages = []; + dataItem.AssociatedSystemUsages.forEach(system => { + activeSystemUsages.push(Helpers.RenderFieldsHelper.renderInternalReference( + `kendo-contract-system-usages-${system.ItSystemUsageId}`, + "it-system.usage.main", + system.ItSystemUsageId, + Helpers.SystemNameFormat.apply(system.ItSystemUsage.ItSystem.Name, system.ItSystemUsage.ItSystem.Disabled))); - private concatRoles(roles: Array): string { - var concatRoles = ""; + }); + return activeSystemUsages.join(", "); + }) + .withExcelOutput(dataItem => { + var systemUsages = []; + dataItem.AssociatedSystemUsages.forEach(system => { + systemUsages.push(Helpers.SystemNameFormat.apply(system.ItSystemUsage.ItSystem.Name, system.ItSystemUsage.ItSystem.Disabled)); + }); + return systemUsages.join(", "); + })) + .withColumn(builder => + builder + .withDataSourceName(`${this.associatedSystemUsagesPropertyName}Uuids`) + .withTitle("IT Systemer (UUID)") + .withId("itSystemUuid") + .withContentOverflow() + .withoutSorting() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withRendering(dataItem => { + var activeSystemUsages = []; + dataItem.AssociatedSystemUsages.forEach(system => { + activeSystemUsages.push(Helpers.RenderFieldsHelper.renderInternalReference( + `kendo-contract-system-usages-uuid-${system.ItSystemUsageId}`, + "it-system.usage.main", + system.ItSystemUsageId, + Helpers.SystemNameFormat.apply(system.ItSystemUsage.ItSystem.Uuid, system.ItSystemUsage.ItSystem.Disabled))); - // join the first 5 username together - if (roles.length > 0) { - concatRoles = roles.slice(0, 4).join(", "); - } + }); + return activeSystemUsages.join(", "); + }) + .withExcelOutput(dataItem => { + var uuids = []; + if (dataItem.AssociatedSystemUsages?.length > 0) { + dataItem.AssociatedSystemUsages.forEach(value => { + uuids.push(value.ItSystemUsage.ItSystem.Uuid); + }); + } + return uuids.join(", "); + }) + ) + .withColumn(builder => + builder + .withDataSourceName("AssociatedSystemRelations") + .withTitle("Antal Relationer") + .withId("relationCount") + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withoutSorting() + .withRendering(dataItem => { + if (dataItem.AssociatedSystemUsages === undefined) + return "0"; + + return dataItem.AssociatedSystemRelations.length.toString(); + })) + .withColumn(builder => + builder + .withDataSourceName("Reference.Title") + .withTitle("Reference") + .withId("referenceTitle") + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderReferenceUrl(dataItem.Reference)) + .withExcelOutput(dataItem => { + if (!dataItem.Reference) { + return ""; + } + return dataItem.Reference.Title ?? dataItem.Reference.URL; + })) + .withColumn(builder => + builder + .withDataSourceName("Reference.ExternalReferenceId") + .withTitle("Dokument ID/Sagsnr.") + .withId("referenceExternalReferenceId") + .withStandardWidth(170) + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderExternalReferenceId(dataItem.Reference))) + .withColumn(builder => + builder + .withDataSourceName("ExternEconomyStreams.Acquisition") + .withTitle("Anskaffelse") + .withId("acquisition") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.extPayment)) + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withoutSorting() + .withRendering(dataItem => { return dataItem.Acquisition ? dataItem.Acquisition.toString() : ""; })) + .withColumn(builder => + builder + .withDataSourceName("ExternEconomyStreams.Operation") + .withTitle("Drift/Ã¥r") + .withId("operation") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.extPayment)) + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withoutSorting() + .withRendering(dataItem => { return dataItem.Operation ? dataItem.Operation.toString() : ""; })) + .withColumn(builder => + builder + .withDataSourceName("ExternEconomyStreams.Other") + .withTitle("Andet") + .withId("other") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.extPayment)) + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withoutSorting() + .withRendering(dataItem => { return dataItem.Other ? dataItem.Other.toString() : ""; })) + .withColumn(builder => + builder + .withDataSourceName("OperationRemunerationBegun") + .withTitle("Driftsvederlag begyndt") + .withId("operationRemunerationBegun") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.paymentModel)) + .withStandardWidth(170) + .withDataSourceType(Utility.KendoGrid.KendoGridColumnDataSourceType.Date) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Date) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.OperationRemunerationBegun))) + .withColumn(builder => + builder + .withDataSourceName(this.paymentModelPropertyName) + .withTitle("Betalingsmodel") + .withId("paymentModel") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.paymentModel)) + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.paymentModelOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => dataItem.PaymentModel ? Helpers.RenderFieldsHelper.renderString(this.paymentModelOptionViewModel.getOptionText(dataItem.PaymentModel?.Id)) : "")) + .withColumn(builder => + builder + .withDataSourceName(this.paymentFrequencyPropertyName) + .withTitle("Betalingsfrekvens") + .withId("paymentFrequency") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.paymentModel)) + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.paymentFrequencyOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderString(this.paymentFrequencyOptionViewModel.getOptionText(dataItem.PaymentFreqency?.Id)))) + .withColumn(builder => + builder + .withDataSourceName("ExternEconomyStreams.AuditDate") + .withTitle("Audit dato") + .withId("auditDate") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.extPayment)) + .withoutSorting() + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.AuditDate)) + .withExcelOutput(dataItem => Helpers.ExcelExportHelper.renderDate(dataItem.AuditDate))) + .withColumn(builder => + builder + .withDataSourceName("ExternEconomyStreams.AuditStatus") + .withTitle("Audit status") + .withId("auditStatus") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.economy.children.extPayment)) + .withoutSorting() + .withRendering(dataItem => { + if (dataItem.status.max > 0) { + const str = JSON.stringify(dataItem.status); + return `
`; + } + return ""; + }) + .withExcelOutput(dataItem => dataItem && + dataItem.status && + `Hvid: ${dataItem.status.white}, Rød: ${dataItem.status.red}, Gul: ${dataItem.status.yellow + }, Grøn: ${dataItem.status.green}, Max: ${dataItem.status.max}` || + "")) + .withColumn(builder => + builder + .withDataSourceName("Duration") + .withTitle("Varighed") + .withId("duration") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.deadlines.children.agreementDeadlines)) + .withoutSorting() + .withRendering(dataItem => { + if (dataItem.DurationOngoing) { + return "Løbende"; + } - // if more than 5 then add an elipsis - if (roles.length > 5) { - concatRoles += ", ..."; - } + const years = dataItem.DurationYears || 0; + const months = dataItem.DurationMonths || 0; - return concatRoles; + let result = ""; + if (years > 0) { + result += `${years} år`; + if (months > 0) { + result += " og "; + } + } + if (months > 0) { + result += `${months} måned`; + if (months > 1) { + result += "er"; + } + } + return result; + })) + .withColumn(builder => + builder + .withDataSourceName(this.optionExtendPropertyName) + .withTitle("Option") + .withId("optionExtend") + .withContentOverflow() + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.deadlines.children.agreementDeadlines)) + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.optionExtendOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => dataItem.OptionExtend ? Helpers.RenderFieldsHelper.renderString(this.optionExtendOptionViewModel.getOptionText(dataItem.OptionExtend?.Id)) : "")) + .withColumn(builder => + builder + .withDataSourceName(this.terminationDeadlinePropertyName) + .withTitle("Opsigelse (måneder)") + .withId("terminationDeadline") + .withStandardWidth(160) + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.deadlines.children.termination)) + .withContentAlignment(Utility.KendoGrid.KendoColumnAlignment.Center) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.FixedValueRange) + .withFixedValueRange( + Helpers.KendoOverviewHelper.mapDataForKendoDropdown( + this.terminationDeadlineOptionViewModel.enabledOptions, + true), + false) + .withRendering(dataItem => dataItem.TerminationDeadline ? Helpers.RenderFieldsHelper.renderString(this.terminationDeadlineOptionViewModel.getOptionText(dataItem.TerminationDeadline?.Id)) : "")) + .withColumn(builder => + builder + .withDataSourceName("IrrevocableTo") + .withTitle("Uopsigelig til") + .withId("irrevocableTo") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.deadlines.children.agreementDeadlines)) + .withDataSourceType(Utility.KendoGrid.KendoGridColumnDataSourceType.Date) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Date) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.IrrevocableTo))) + .withColumn(builder => + builder + .withDataSourceName("Terminated") + .withTitle("Opsagt") + .withId("terminated") + .withInclusionCriterion(() => uiState.isBluePrintNodeAvailable(uiBluePrint.children.deadlines.children.termination)) + .withDataSourceType(Utility.KendoGrid.KendoGridColumnDataSourceType.Date) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Date) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.Terminated))) + .withColumn(builder => + builder + .withDataSourceName(`${this.lastChangedByUserPropertyName}.Name`) + .withTitle("Sidst redigeret: Bruger") + .withId("lastChangedByUser") + .withStandardWidth(170) + .withContentOverflow() + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Contains) + .withRendering(dataItem => dataItem.LastChangedByUser ? `${dataItem.LastChangedByUser.Name} ${dataItem.LastChangedByUser.LastName}` : "")) + .withColumn(builder => + builder + .withDataSourceName("LastChanged") + .withTitle("Sidste redigeret: Dato") + .withId("lastChangedDate") + .withStandardWidth(170) + .withDataSourceType(Utility.KendoGrid.KendoGridColumnDataSourceType.Date) + .withFilteringOperation(Utility.KendoGrid.KendoGridColumnFiltering.Date) + .withRendering(dataItem => Helpers.RenderFieldsHelper.renderDate(dataItem.LastChanged))); + launcher.launch(); } } @@ -914,8 +956,8 @@ controllerAs: "contractOverviewVm", resolve: { itContractRoles: [ - "localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => - localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.ItContractRoles).getAll() + "localOptionServiceFactory", (localOptionServiceFactory: Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory.create(Services.LocalOptions.LocalOptionType.ItContractRoles).getAll() ], user: [ "userService", userService => userService.getUser() @@ -931,14 +973,21 @@ .get(`/odata/Organizations(${user.currentOrganizationId})/OrganizationUnits`) .then(result => _.addHierarchyLevelOnFlatAndSort(result.data.value, "Id", "ParentId")) ], - // TODO this isn't a sustainable solution - but a workaround for now... - ecoStreamData: [ - "$http", "user", "notify", ($http, user, notify) => - $http.get(`/odata/ExternEconomyStreams(Organization=${user.currentOrganizationId})`) - .then(result => result.data.value, () => $stateProvider.transitionTo("home", { q: "updated search term" })) + uiState: [ + "uiCustomizationStateService", (uiCustomizationStateService: Services.UICustomization.IUICustomizationStateService) => uiCustomizationStateService.getCurrentState(Models.UICustomization.CustomizableKitosModule.ItContract) + ], + itContractOptions: [ + "ItContractsService", "user", + (ItContractsService: Services.Contract.IItContractsService, user) => + ItContractsService.getApplicableItContractOptions(user.currentOrganizationId) + ], + procurements: [ + "ItContractsService", "user", + (ItContractsService: Services.Contract.IItContractsService, user) => + ItContractsService.getAvailableProcurementPlans(user.currentOrganizationId) ] } }); } ]); -} +} \ No newline at end of file diff --git a/Presentation.Web/app/components/it-contract/it-contract-overview.view.html b/Presentation.Web/app/components/it-contract/it-contract-overview.view.html index bdcbeaec35..387e5d58f7 100644 --- a/Presentation.Web/app/components/it-contract/it-contract-overview.view.html +++ b/Presentation.Web/app/components/it-contract/it-contract-overview.view.html @@ -1,4 +1,4 @@ -
+
diff --git a/Presentation.Web/app/components/it-contract/it-contract-subnav.controller.ts b/Presentation.Web/app/components/it-contract/it-contract-subnav.controller.ts index 4b44485db7..4ef6338b6b 100644 --- a/Presentation.Web/app/components/it-contract/it-contract-subnav.controller.ts +++ b/Presentation.Web/app/components/it-contract/it-contract-subnav.controller.ts @@ -12,8 +12,7 @@ controller: ['$rootScope', '$http', '$state', '$uibModal', 'notify', 'user', '$scope', function ($rootScope, $http, $state, $modal, notify, user, $scope) { $rootScope.page.title = 'IT Kontrakt'; $rootScope.page.subnav = [ - { state: 'it-contract.overview', text: "Kontraktoverblik - Økonomi" }, - { state: 'it-contract.plan', text: "Kontraktoverblik - Tid" } + { state: 'it-contract.overview', text: "Kontraktoverblik" } ]; $rootScope.page.subnav.buttons = [ { func: remove, text: 'Slet IT Kontrakt', style: 'btn-danger', icon: 'glyphicon-minus', showWhen: 'it-contract.edit' } diff --git a/Presentation.Web/app/components/it-contract/it-contract-tab-advice.view.html b/Presentation.Web/app/components/it-contract/it-contract-tab-advice.view.html deleted file mode 100644 index cc0c992a5d..0000000000 --- a/Presentation.Web/app/components/it-contract/it-contract-tab-advice.view.html +++ /dev/null @@ -1,121 +0,0 @@ -
-
-
- Advis -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AktivSendtAdvis navnDatoModtagerCcEmne
- - - {{ advice.sentDate | date }} - - - - - - - - - - - -
- - - -
-
-
- -
-
-
-
diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-advice.state.ts b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-advice.state.ts index 0e6f9283be..1a60cde808 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-advice.state.ts +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-advice.state.ts @@ -12,7 +12,7 @@ return contract; }], type: [function () { - return "itContract"; + return Kitos.Models.Advice.AdviceType.ItContract; }], advicename: [ '$http', '$stateParams', function ($http, $stateParams) { diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.controller.ts b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.controller.ts index 00226ef5c2..12b02c5f96 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.controller.ts +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.controller.ts @@ -4,63 +4,61 @@ url: "/deadlines", templateUrl: "app/components/it-contract/tabs/it-contract-tab-deadlines.view.html", controller: "contract.DeadlinesCtrl", + controllerAs: "deadlinesVm", resolve: { optionExtensions: ["localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.OptionExtendTypes).getAll() ], terminationDeadlines: ["localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.TerminationDeadlineTypes).getAll() - ], - paymentMilestones: ["$http", "$stateParams", ($http, $stateParams) => - $http.get("api/paymentMilestone/" + $stateParams.id + "?contract=true").then(result => result.data.response)], - handoverTrialTypes: ["localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => - localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.HandoverTrialTypes).getAll()], - handoverTrials: ["$http", "$stateParams", ($http, $stateParams) => $http.get("api/handoverTrial/" + $stateParams.id + "?byContract=true").then(result => result.data.response)] - } + ] + }, }); }]); - app.controller("contract.DeadlinesCtrl", ["$scope", "$http", "$timeout", "$state", "$stateParams", "notify", "optionExtensions", "terminationDeadlines", "paymentMilestones", "handoverTrialTypes", "handoverTrials", "user", "moment", "$q", "contract", - ($scope, $http, $timeout, $state, $stateParams, notify, optionExtensions, terminationDeadlines, paymentMilestones, handoverTrialTypes, handoverTrials, user, moment, $q, contract) => { - $scope.contract = contract; - $scope.autosaveUrl = "api/itcontract/" + contract.id; - $scope.optionExtensions = optionExtensions; - $scope.terminationDeadlines = terminationDeadlines; - $scope.paymentMilestones = paymentMilestones; - $scope.handoverTrialTypes = handoverTrialTypes; - $scope.handoverTrials = handoverTrials; - $scope.durationYears = contract.durationYears; - $scope.durationMonths = contract.durationMonths; - $scope.durationOngoing = contract.durationOngoing; - - - $scope.running = Kitos.Models.ItContract.YearSegmentOptions.getFromOption(contract.running); - $scope.byEnding = Kitos.Models.ItContract.YearSegmentOptions.getFromOption(contract.byEnding); - - $scope.updateRunning = () => { - contract.running = $scope.running?.id || null; + app.controller("contract.DeadlinesCtrl", ["$http", "$timeout", "$state", "$stateParams", "notify", "optionExtensions", "terminationDeadlines", "user", "moment", "$q", "contract", "uiState", + ($http, $timeout, $state, $stateParams, notify, optionExtensions, terminationDeadlines, user, moment, $q, contract, uiState: Kitos.Models.UICustomization.ICustomizedModuleUI) => { + const vm = this; //using controllerAs, so we capture "this" and bind all properties to it + vm.contract = contract; + vm.autosaveUrl = "api/itcontract/" + contract.id; + vm.optionExtensions = optionExtensions; + vm.terminationDeadlines = terminationDeadlines; + vm.durationYears = contract.durationYears ?? ""; + vm.durationMonths = contract.durationMonths ?? ""; + vm.durationOngoing = contract.durationOngoing === true; + + const blueprint = Kitos.Models.UICustomization.Configs.BluePrints.ItContractUiCustomizationBluePrint; + + vm.isAgreementDeadlinesEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.deadlines.children.agreementDeadlines); + vm.isTerminationEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.deadlines.children.termination); + + vm.running = Kitos.Models.ItContract.YearSegmentOptions.getFromOption(contract.running); + vm.byEnding = Kitos.Models.ItContract.YearSegmentOptions.getFromOption(contract.byEnding); + + vm.updateRunning = () => { + contract.running = vm.running?.id || null; } - $scope.updateByEnding = () => { - contract.byEnding = $scope.byEnding?.id || null; + vm.updateByEnding = () => { + contract.byEnding = vm.byEnding?.id || null; } - $scope.deadlineOptions = Kitos.Models.ItContract.YearSegmentOptions.options; + vm.deadlineOptions = Kitos.Models.ItContract.YearSegmentOptions.options; - $scope.saveDurationYears = () => { - if ($scope.durationYears === "") { + vm.saveDurationYears = () => { + if (vm.durationYears == null || vm.durationYears === "") { return; } - const years = parseInt($scope.durationYears); + const years = parseInt(vm.durationYears); if (years > -1) { const payload = { "DurationYears": years || 0 } saveDuration(payload).then(() => { - contract.durationYears = $scope.durationYears; + contract.durationYears = vm.durationYears; }, () => { - $scope.durationYears = contract.durationYears; + vm.durationYears = contract.durationYears; }); } else { @@ -70,20 +68,20 @@ cleanUp(); }; - $scope.saveDurationMonths = () => { - if ($scope.durationMonths === "") { + vm.saveDurationMonths = () => { + if (vm.durationMonths == null || vm.durationMonths === "") { return; } - const months = parseInt($scope.durationMonths); + const months = parseInt(vm.durationMonths); if (months > -1 && months < 12) { const payload = { "DurationMonths": months || 0 } saveDuration(payload).then(() => { - contract.durationMonths = $scope.durationMonths; + contract.durationMonths = vm.durationMonths; }, () => { - $scope.durationMonths = contract.durationMonths; + vm.durationMonths = contract.durationMonths; }); } else { @@ -93,23 +91,23 @@ cleanUp(); }; - $scope.saveOngoingStatus = () => { + vm.saveOngoingStatus = () => { const payload = { "DurationYears": 0, "DurationMonths": 0, - "DurationOngoing": $scope.durationOngoing + "DurationOngoing": vm.durationOngoing }; var msg = notify.addInfoMessage("Gemmer...", false); $http.patch(`odata/itcontracts(${contract.id})`, payload) .then(function onSuccess(result) { msg.toSuccessMessage("Varigheden blev gemt."); - $scope.durationYears = ""; - $scope.durationMonths = ""; + vm.durationYears = ""; + vm.durationMonths = ""; //it is done this way so '0' doesnt appear in input - contract.durationOngoing = $scope.durationOngoing; - contract.durationYears = $scope.durationYears; - contract.durationMonths = $scope.durationMonths; + contract.durationOngoing = vm.durationOngoing; + contract.durationYears = vm.durationYears; + contract.durationMonths = vm.durationMonths; }, function onError(result) { msg.toErrorMessage("Varigheden blev ikke gemt."); @@ -136,119 +134,29 @@ } function cleanUp() { - const years = parseInt($scope.durationYears); - const months = parseInt($scope.durationMonths); + const years = parseInt(vm.durationYears); + const months = parseInt(vm.durationMonths); if (years === 0 || years < 0) { - $scope.durationYears = ""; + vm.durationYears = ""; } if (months === 0 || months < 0 || months > 11) { - $scope.durationMonths = ""; + vm.durationMonths = ""; } } - $scope.datepickerOptions = { + vm.datepickerOptions = { format: "dd-MM-yyyy", parseFormats: ["yyyy-MM-dd"] }; - $scope.saveMilestone = paymentMilestone => { - paymentMilestone.itContractId = contract.id; - - const approvedDate = moment(paymentMilestone.approved, Kitos.Constants.DateFormat.DanishDateFormat); - const expectedDate = moment(paymentMilestone.expected, Kitos.Constants.DateFormat.DanishDateFormat); - const approvedDateValid = (approvedDate.isValid() || isNaN(approvedDate.valueOf()) || approvedDate.year() < 1000 || approvedDate.year() > 2099); - const expectedDateValid = (expectedDate.isValid() || isNaN(expectedDate.valueOf()) || expectedDate.year() < 1000 || expectedDate.year() > 2099); - if (approvedDateValid) { - paymentMilestone.approved = approvedDate.format("YYYY-MM-DD"); - } else { - notify.addInfoMessage("Den indtastede forventet dato er ugyldig. Tom værdi indsættes"); - paymentMilestone.approved = null; - } - if (expectedDateValid) { - paymentMilestone.expected = expectedDate.format("YYYY-MM-DD"); - } else { - notify.addInfoMessage("Den indtastede godkendt dato er ugyldig. Tom værdi indsættes"); - paymentMilestone.expected = null; - } - - var msg = notify.addInfoMessage("Gemmer...", false); - $http.post(`api/paymentMilestone?organizationId=${user.currentOrganizationId}`, paymentMilestone) - .then(function onSuccess(result) { - msg.toSuccessMessage("Gemt"); - const obj = result.data.response; - $scope.paymentMilestones.push(obj); - delete $scope.paymentMilestone; // clear input fields - $scope.milestoneForm.$setPristine(); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke gemmes!"); - }); - }; - - $scope.deleteMilestone = function (id) { - var msg = notify.addInfoMessage("Sletter...", false); - $http.delete("api/paymentMilestone/" + id + "?organizationId=" + user.currentOrganizationId) - .then(function onSuccess(result) { - msg.toSuccessMessage("Slettet"); - reload(); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke slette!"); - }); - }; - - $scope.saveTrial = function (handoverTrial) { - handoverTrial.itContractId = contract.id; - handoverTrial.handoverTrialTypeId = $scope.handoverTrialType.id; - const approvedDate = moment(handoverTrial.approved, Kitos.Constants.DateFormat.DanishDateFormat); - const expectedDate = moment(handoverTrial.expected, Kitos.Constants.DateFormat.DanishDateFormat); - const approvedDateValid = (approvedDate.isValid() || isNaN(approvedDate.valueOf()) || approvedDate.year() < 1000 || approvedDate.year() > 2099); - const expectedDateValid = (expectedDate.isValid() || isNaN(expectedDate.valueOf()) || expectedDate.year() < 1000 || expectedDate.year() > 2099); - - if (approvedDateValid) { - handoverTrial.approved = approvedDate.format("YYYY-MM-DD"); - } else { - notify.addInfoMessage("Den indtastede forventet dato er ugyldig. Tom værdi indsættes"); - handoverTrial.approved = null; - } - - if (expectedDateValid) { - handoverTrial.expected = expectedDate.format("YYYY-MM-DD"); - } else { - notify.addInfoMessage("Den indtastede godkent dato er ugyldig. Tom værdi indsættes"); - handoverTrial.expected = null; - } - - var msg = notify.addInfoMessage("Gemmer...", false); - $http.post(`api/handoverTrial?organizationId=${user.currentOrganizationId}`, handoverTrial) - .then(function onSuccess(result) { - msg.toSuccessMessage("Gemt"); - const obj = result.data.response; - $scope.handoverTrials.push(obj); - delete $scope.handoverTrial; // clear input fields - $scope.trialForm.$setPristine(); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke gemmes!"); - }); - }; - - $scope.deleteTrial = function (id) { - var msg = notify.addInfoMessage("Sletter...", false); - $http.delete("api/handoverTrial/" + id + "?organizationId=" + user.currentOrganizationId) - .then(function onSuccess(result) { - msg.toSuccessMessage("Slettet"); - reload(); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke slette!"); - }); - }; - - $scope.patchDate = (field, value) => { + vm.patchDate = (field, value) => { var date = moment(value, Kitos.Constants.DateFormat.DanishDateFormat); if (value === "") { var payload = {}; payload[field] = null; - patch(payload, $scope.autosaveUrl + '?organizationId=' + user.currentOrganizationId); + patch(payload, vm.autosaveUrl + '?organizationId=' + user.currentOrganizationId); } else if (value == null) { } else if (!date.isValid() || isNaN(date.valueOf()) || date.year() < 1000 || date.year() > 2099) { @@ -258,10 +166,10 @@ const dateString = date.format("YYYY-MM-DD"); var payload = {}; payload[field] = dateString; - patch(payload, $scope.autosaveUrl + '?organizationId=' + user.currentOrganizationId); + patch(payload, vm.autosaveUrl + '?organizationId=' + user.currentOrganizationId); } } - $scope.patchDateProcurement = (field, value, id, url) => { + vm.patchDateProcurement = (field, value, id, url) => { var date = moment(value, Kitos.Constants.DateFormat.DanishDateFormat); if (!date.isValid() || isNaN(date.valueOf()) || date.year() < 1000 || date.year() > 2099) { @@ -289,12 +197,14 @@ return $state.transitionTo($state.current, $stateParams, { reload: true }).then(() => { - $scope.hideContent = true; - return $timeout(() => $scope.hideContent = false, 1); + vm.hideContent = true; + return $timeout(() => vm.hideContent = false, 1); }); }; cleanUp(); + return vm; //Return the captured vm context + }]); })(angular, app); \ No newline at end of file diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.view.html b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.view.html index 2209480146..5618b8188a 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.view.html +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-deadlines.view.html @@ -1,236 +1,47 @@ 
-

{{contract.name}}

+

{{deadlinesVm.contract.name}}

-
-
-
Anskaffelse
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
OvertagelsesprøverForventetGodkendt
-
- - -
-
- - - - - -
-
- - -
-
- - - - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
BetalingsmilepæleForventetGodkendt
- - - - - - - -
- - - - - - - -
-
-
-
- -
+
Aftalefrister
-
-
- -
-
-
-
- -
-
- +
+
+
+ +
-
-
-
- +
+
+ +
+
+ +
-
- +
+
+ +
+
+ +
+ data-ng-checked="deadlinesVm.durationOngoing" + data-ng-change="deadlinesVm.saveOngoingStatus()" + data-ng-model="deadlinesVm.durationOngoing" + data-ng-disabled="!hasWriteAccess"/>
@@ -239,14 +50,14 @@

{{contract.name}}

+ data-label="Option forlæng" + data-placeholder="Vælg forlængelse" + data-selected-text="{{ deadlinesVm.contract.optionExtendName }}" + data-ng-disabled="!hasWriteAccess" + data-ng-model="deadlinesVm.contract.optionExtendId" + data-options="deadlinesVm.optionExtensions" + data-auto-save-url="{{ deadlinesVm.autosaveUrl }}" + data-field="optionExtendId">
@@ -256,18 +67,18 @@

{{contract.name}}

min="0" class="form-control input-sm" data-ng-disabled="!hasWriteAccess" - data-ng-model="contract.extendMultiplier" - data-autosave="{{autosaveUrl}}" + data-ng-model="deadlinesVm.contract.extendMultiplier" + data-autosave="{{deadlinesVm.autosaveUrl}}" data-field="extendMultiplier">
@@ -275,7 +86,7 @@

{{contract.name}}

-
+
Opsigelse
@@ -283,10 +94,10 @@

{{contract.name}}

@@ -294,11 +105,11 @@

{{contract.name}}

@@ -306,26 +117,26 @@

{{contract.name}}

+ data-ng-changed="deadlinesVm.updateRunning()">
+ data-ng-changed="deadlinesVm.updateByEnding()">
diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.controller.ts b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.controller.ts index d8b89604bc..592d088d80 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.controller.ts +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.controller.ts @@ -1,229 +1,225 @@ -(function (ng, app) { - app.config(["$stateProvider", function ($stateProvider) { +((ng, app) => { + app.config(["$stateProvider", $stateProvider => { $stateProvider.state("it-contract.edit.economy", { url: "/economy", templateUrl: "app/components/it-contract/tabs/it-contract-tab-economy.view.html", controller: "contract.EditEconomyCtrl", + controllerAs: "contractEconomyVm", resolve: { orgUnits: [ - '$http', 'contract', function ($http, contract) { - return $http.get('api/organizationUnit?organization=' + contract.organizationId).then(function (result) { + "$http", "contract", ($http, contract) => $http.get("api/organizationUnit?organization=" + contract.organizationId).then(result => { - var options: Kitos.Models.ViewModel.Generic.Select2OptionViewModelWithIndentation[] = []; + var options: Kitos.Models.ViewModel.Generic.Select2OptionViewModelWithIndentation[] = []; - function visit(orgUnit: Kitos.Models.Api.Organization.OrganizationUnit, indentationLevel: number) { - var option = { - id: String(orgUnit.id), - text: orgUnit.name, - indentationLevel: indentationLevel, - optionalExtraObject: orgUnit.ean - }; + function visit(orgUnit: Kitos.Models.Api.Organization.OrganizationUnit, indentationLevel: number) { + const option = { + id: String(orgUnit.id), + text: orgUnit.name, + indentationLevel: indentationLevel, + optionalExtraObject: orgUnit.ean + }; - options.push(option); + options.push(option); - _.each(orgUnit.children, function (child) { - return visit(child, indentationLevel + 1); - }); + _.each(orgUnit.children, child => visit(child, indentationLevel + 1)); - } - visit(result.data.response, 0); - return options; - }); - } + } + visit(result.data.response, 0); + return options; + }) ], - externalEconomyStreams: ["$http", "contract", "$state", function ($http, contract) { - return $http.get(`api/EconomyStream/?externPaymentForContractWithId=${contract.id}`).then(function (result) { - return result.data.response; - }, function (error) { - return error; - }); - }], - internalEconomyStreams: ["$http", "contract", "$state", function ($http, contract) { - return $http.get(`api/EconomyStream/?internPaymentForContractWithId=${contract.id}`).then(function (result) { - return result.data.response; - }, function (error) { - return error; - }); - }] + externalEconomyStreams: ["$http", "contract", "$state", + ($http, contract) => $http.get(`api/EconomyStream/?externPaymentForContractWithId=${contract.id}`) + .then(result => result.data.response, error => error)], + internalEconomyStreams: + ["$http", "contract", "$state", + ($http, contract) => $http.get(`api/EconomyStream/?internPaymentForContractWithId=${contract.id}`) + .then(result => result.data.response, error => error)], + paymentFrequencies: ["localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.PaymentFrequencyTypes).getAll() + ], + paymentModels: ["localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.PaymentModelTypes).getAll() + ], + priceRegulations: ["localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.PriceRegulationTypes).getAll()] } }); }]); - app.controller("contract.EditEconomyCtrl", ["$scope", "$http", "$timeout", "$state", "$stateParams", "notify", - "contract", "orgUnits", "user", "externalEconomyStreams", "internalEconomyStreams", "_", "hasWriteAccess", - function ($scope, $http, $timeout, $state, $stateParams, notify, contract, orgUnits: Kitos.Models.ViewModel.Generic.Select2OptionViewModelWithIndentation[], user, externalEconomyStreams, internalEconomyStreams, _, hasWriteAccess) { - $scope.orgUnits = orgUnits; - $scope.allowClear = true; - $scope.hasWriteAccess = hasWriteAccess; - - if (externalEconomyStreams.status === 401 && internalEconomyStreams.status === 401) { - notify.addInfoMessage("Du har ikke lov til at se disse informationer. Kontakt venligst din lokale administrator eller kontrakt administrator."); - } else { - var baseUrl = "api/economyStream"; - $scope.datepickerOptions = { - format: "dd-MM-yyyy", - parseFormats: ["yyyy-MM-dd"] - }; + app.controller("contract.EditEconomyCtrl", ["$http", "$timeout", "$state", "$stateParams", "notify", "contract", "orgUnits", "user", "externalEconomyStreams", "internalEconomyStreams", "_", "hasWriteAccess", "paymentFrequencies", "paymentModels", "priceRegulations", "uiState", + ($http, $timeout, $state, $stateParams, notify, contract, orgUnits: Kitos.Models.ViewModel.Generic.Select2OptionViewModelWithIndentation[], user, externalEconomyStreams, internalEconomyStreams, _, hasWriteAccess, paymentFrequencies: Kitos.Models.IOptionEntity[], paymentModels: Kitos.Models.IOptionEntity[], priceRegulations: Kitos.Models.IOptionEntity[], uiState: Kitos.Models.UICustomization.ICustomizedModuleUI) => { + const vm = this; //capture this to bind properties to it - var allStreams = []; - _.each(externalEconomyStreams, - function (stream) { - allStreams.push(stream); - }); + vm.orgUnits = orgUnits; + vm.allowClear = true; + vm.hasWriteAccess = hasWriteAccess; + vm.contract = contract; + vm.paymentFrequencies = paymentFrequencies; + vm.paymentModels = paymentModels; + vm.priceRegulations = priceRegulations; + vm.patchPaymentModelUrl = `api/itcontract/${contract.id}`; - _.each(internalEconomyStreams, function (stream) { - allStreams.push(stream); - }); + const blueprint = Kitos.Models.UICustomization.Configs.BluePrints.ItContractUiCustomizationBluePrint; - if (allStreams.length > 0) { - $scope.visibility = allStreams[0].accessModifier; - } else { - $scope.visibility = 0; - } + vm.isPaymentModelEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.economy.children.paymentModel); + vm.isExtPaymentEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.economy.children.extPayment); + vm.isIntPaymentEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.economy.children.intPayment); - var externEconomyStreams = []; - $scope.externEconomyStreams = externEconomyStreams; - _.each(externalEconomyStreams, function (stream) { - pushStream(stream, externEconomyStreams); - }); + function convertDate(value: string): moment.Moment { + return moment(value, Kitos.Constants.DateFormat.DanishDateFormat); + } - var internEconomyStreams = []; - $scope.internEconomyStreams = internEconomyStreams; - _.each(internalEconomyStreams, function (stream) { - pushStream(stream, internEconomyStreams); - }); + function isDateInvalid(date: moment.Moment) { + return !date.isValid() || isNaN(date.valueOf()) || date.year() < 1000 || date.year() > 2099; + } - $scope.changeVisibility = function () { - if ($scope.hasWriteAccess) { - if (externalEconomyStreams.length !== 0) { - _.each(externalEconomyStreams, - function (stream) { - patchEconomyStream(stream).then(function () { - notify.addSuccessMessage("Synligheden for ekstern betaling blev opdateret"); - }, function (error) { - if (error.status === 403) { - notify.addInfoMessage("Du har ikke lov til at foretage denne handling."); - } else { - notify.addErrorMessage("Synligheden for ekstern betaling blev ikke opdateret"); - } - }); - }); - } + vm.patchPaymentModelDate = (field, value) => { + function patchContract(payload, url) { + var msg = notify.addInfoMessage("Gemmer...", false); + $http({ method: "PATCH", url: url, data: payload }) + .then(result => { + msg.toSuccessMessage("Feltet er opdateret."); + }, result => { + msg.toErrorMessage("Fejl! Feltet kunne ikke ændres!"); + }); + } - if (internalEconomyStreams !== 0) { - _.each(internalEconomyStreams, - function (stream) { - patchEconomyStream(stream).then(function () { - notify.addSuccessMessage("Synligheden for intern betaling blev opdateret"); - }, function (error) { - if (error.status === 403) { - notify.addInfoMessage("Du har ikke lov til at foretage denne handling."); - } else { - notify.addErrorMessage("Synligheden for intern betaling blev ikke opdateret"); - } - }); - }); - } + const date = convertDate(value); + if (value === "") { + var payload = {}; + payload[field] = null; + patchContract(payload, vm.patchPaymentModelUrl + "?organizationId=" + user.currentOrganizationId); + } else if (value == null) { - } - } + } else if (isDateInvalid(date)) { + notify.addErrorMessage("Den indtastede dato er ugyldig."); - function patchEconomyStream(stream) { - const payload = { - "accessModifier": `${$scope.visibility}` - }; - return $http.patch(`api/EconomyStream/?id=${stream.id}&organizationId=${user.currentOrganizationId}`, payload); } + else { + const dateString = date.format("YYYY-MM-DD"); + var payload = {}; + payload[field] = dateString; + patchContract(payload, vm.patchPaymentModelUrl + "?organizationId=" + user.currentOrganizationId); + } + } - function pushStream(stream, collection) { - stream.show = true; - stream.updateUrl = baseUrl + "/" + stream.id; + var baseUrl = "api/economyStream"; + vm.datepickerOptions = { + format: "dd-MM-yyyy", + parseFormats: ["yyyy-MM-dd"] + }; - stream.delete = function () { - var msg = notify.addInfoMessage("Sletter række..."); + var allStreams = []; + _.each(externalEconomyStreams, + stream => { + allStreams.push(stream); + }); - $http.delete(this.updateUrl + "?organizationId=" + user.currentOrganizationId) - .then(function onSuccess(result) { - stream.show = false; - collection = _.remove(collection, (item) => item.id === stream.id); - msg.toSuccessMessage("Rækken er slettet!"); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke slette rækken!"); - }).finally(reload); - }; + _.each(internalEconomyStreams, stream => { + allStreams.push(stream); + }); + + var externEconomyStreams = []; + vm.externEconomyStreams = externEconomyStreams; + _.each(externalEconomyStreams, stream => { + pushStream(stream, externEconomyStreams); + }); + + var internEconomyStreams = []; + vm.internEconomyStreams = internEconomyStreams; + _.each(internalEconomyStreams, stream => { + pushStream(stream, internEconomyStreams); + }); + + function pushStream(stream, collection) { + stream.show = true; + stream.updateUrl = baseUrl + "/" + stream.id; + + stream.delete = function () { + const msg = notify.addInfoMessage("Sletter række..."); + + $http.delete(this.updateUrl + "?organizationId=" + user.currentOrganizationId) + .then(result => { + stream.show = false; + collection = _.remove(collection, (item) => item.id === stream.id); + msg.toSuccessMessage("Rækken er slettet!"); + }, result => { + msg.toErrorMessage("Fejl! Kunne ikke slette rækken!"); + }).finally(reload); + }; - function updateEan() { - stream.ean = " - "; + function updateEan() { + stream.ean = " - "; - if (stream.organizationUnitId !== null && stream.organizationUnitId !== undefined) { - stream.ean = stream.organizationUnitId.optionalExtraObject; - } - }; - stream.updateEan = updateEan; + if (stream.organizationUnitId !== null && stream.organizationUnitId !== undefined) { + stream.ean = stream.organizationUnitId.optionalExtraObject; + } + }; + stream.updateEan = updateEan; - updateEan(); - collection.push(stream); - } + updateEan(); + collection.push(stream); + } - function postStream(field, organizationId) { - var stream = {}; - stream[field] = contract.id; - stream[organizationId] = user.currentOrganizationId; - - var msg = notify.addInfoMessage("Tilføjer ny række..."); - $http.post(`api/EconomyStream/?contractId=${contract.id}`, stream) - .then(function onSuccess(result) { - msg.toSuccessMessage("Rækken er tilføjet!"); - }, function onError(result) { - msg.toErrorMessage("Fejl! Kunne ikke tilføje række"); - }).finally(reload); - } + function postStream(field, organizationId) { + const stream = {}; + stream[field] = contract.id; + stream[organizationId] = user.currentOrganizationId; + + const msg = notify.addInfoMessage("Tilføjer ny række..."); + $http.post(`api/EconomyStream/?contractId=${contract.id}`, stream) + .then(result => { + msg.toSuccessMessage("Rækken er tilføjet!"); + }, result => { + msg.toErrorMessage("Fejl! Kunne ikke tilføje række"); + }).finally(reload); + } - $scope.newExtern = function () { - postStream("ExternPaymentForId", "OrganizationId"); - }; - $scope.newIntern = function () { - postStream("InternPaymentForId", "OrganizationId"); - }; - $scope.patchDate = (field, value, id) => { - var date = moment(value, Kitos.Constants.DateFormat.DanishDateFormat); - if (value === "") { - var payload = {}; - payload[field] = null; - patch(payload, `api/EconomyStream/?id=${id}&organizationId=${user.currentOrganizationId}`); - } else if (!date.isValid() || isNaN(date.valueOf()) || date.year() < 1000 || date.year() > 2099) { - notify.addErrorMessage("Den indtastede dato er ugyldig."); + vm.newExtern = () => { + postStream("ExternPaymentForId", "OrganizationId"); + }; + vm.newIntern = () => { + postStream("InternPaymentForId", "OrganizationId"); + }; + vm.patchDate = (field, value, id) => { + const date = convertDate(value); + if (value === "") { + var payload = {}; + payload[field] = null; + patch(payload, `api/EconomyStream/?id=${id}&organizationId=${user.currentOrganizationId}`); + } else if (isDateInvalid(date)) { + notify.addErrorMessage("Den indtastede dato er ugyldig."); - } - else { - var dateString = date.format("YYYY-MM-DD"); - var payload = {}; - payload[field] = dateString; - patch(payload, `api/EconomyStream/?id=${id}&organizationId=${user.currentOrganizationId}`); - } } - function patch(payload, url) { - var msg = notify.addInfoMessage("Gemmer...", false); - $http({ method: 'PATCH', url: url, data: payload }) - .then(function onSuccess(result) { - msg.toSuccessMessage("Feltet er opdateret."); - }, function onError(result) { - msg.toErrorMessage("Fejl! Feltet kunne ikke ændres!"); - }); + else { + const dateString = date.format("YYYY-MM-DD"); + var payload = {}; + payload[field] = dateString; + patch(payload, `api/EconomyStream/?id=${id}&organizationId=${user.currentOrganizationId}`); } - // work around for $state.reload() not updating scope - // https://github.com/angular-ui/ui-router/issues/582 - function reload() { - return $state.transitionTo($state.current, $stateParams, { - reload: true - }).then(function () { - $scope.hideContent = true; - return $timeout(function () { - return $scope.hideContent = false; - }, 1); + } + function patch(payload, url) { + const msg = notify.addInfoMessage("Gemmer...", false); + $http({ method: "PATCH", url: url, data: payload }) + .then(result => { + msg.toSuccessMessage("Feltet er opdateret."); + }, result => { + msg.toErrorMessage("Fejl! Feltet kunne ikke ændres!"); }); - }; } + // work around for $state.reload() not updating scope + // https://github.com/angular-ui/ui-router/issues/582 + function reload() { + return $state.transitionTo($state.current, $stateParams, { + reload: true + }).then(() => { + vm.hideContent = true; + return $timeout(() => vm.hideContent = false, 1); + }); + }; + + return vm; //Return the vm }]); })(angular, app); \ No newline at end of file diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.view.html b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.view.html index da71f0f2c7..a7347706b4 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.view.html +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-economy.view.html @@ -1,24 +1,60 @@ 
-

{{contract.name}}

-
-
- - -
-
-
- - -
+

{{contractEconomyVm.contract.name}}

+ + +
+
Betalingsmodel
+
+
+ + +
+
+ + +
+
+ +
- +
+ + +
+
- -
-
+ +
Ekstern betaling
@@ -37,18 +73,18 @@

{{contract.name}}

- + @@ -112,10 +148,10 @@

{{contract.name}}

@@ -145,7 +181,7 @@

{{contract.name}}

+ data-allow-clear="contractEconomyVm.allowClear">
-
@@ -155,7 +191,7 @@

{{contract.name}}

-
+
Intern betaling
@@ -173,18 +209,18 @@

{{contract.name}}

- + @@ -248,10 +284,10 @@

{{contract.name}}

@@ -281,7 +317,7 @@

{{contract.name}}

+ data-allow-clear="contractEconomyVm.allowClear">
-
diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-hierarchy.controller.ts b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-hierarchy.controller.ts index 3e02bb01f1..85bd04fc39 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-hierarchy.controller.ts +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-hierarchy.controller.ts @@ -11,19 +11,24 @@ }]); app.controller("contract.EditHierarchyCtrl", - ["$scope", "_", "$state", "$timeout", "hierarchyFlat", "$stateParams", "notify", "contract", "hasWriteAccess", "$http", "user", - ($scope, _, $state, $timeout, hierarchyFlat, $stateParams, notify, contract, hasWriteAccess, $http, user) => { + ["$scope", "_", "$state", "$timeout", "hierarchyFlat", "$stateParams", "notify", "contract", "hasWriteAccess", "$http", "user", "select2LoadingService", + ($scope, _, $state, $timeout, hierarchyFlat, $stateParams, notify, contract, hasWriteAccess, $http, user, select2LoadingService: Kitos.Services.ISelect2LoadingService) => { $scope.hierarchy = _.toHierarchy(hierarchyFlat, "id", "parentId", "children"); $scope.autoSaveUrl = 'api/itcontract/' + $stateParams.id; $scope.contract = contract; $scope.hasWriteAccess = hasWriteAccess; - $scope.itContractsSelectOptions = selectLazyLoading('api/itcontract', true, formatContract, ['orgId=' + user.currentOrganizationId]); - function formatContract(supplier) { - return '
' + supplier.text + '
'; - } + $scope.itContractsSelectOptions = select2LoadingService.loadSelect2WithDataHandler('api/itcontract', + true, + ['orgId=' + user.currentOrganizationId], + (c, results) => { + if (c.id !== contract.id) { + results.push({ id: c.id, text: c.name }); + } + }, + "q"); - if (contract.parentId) { + if (!!contract.parentId) { $scope.contract.parent = { id: contract.parentId, text: contract.parentName @@ -53,48 +58,6 @@ return $timeout(() => $scope.hideContent = false, 1); }); }; - function selectLazyLoading(url, excludeSelf, format, paramAry) { - return { - minimumInputLength: 1, - allowClear: true, - placeholder: ' ', - formatResult: format, - initSelection: function (elem, callback) { - }, - ajax: { - data: function (term, page) { - return { query: term }; - }, - quietMillis: 500, - transport: function (queryParams) { - var extraParams = paramAry ? '&' + paramAry.join('&') : ''; - var res = $http.get(url + '?q=' + queryParams.data.query + extraParams).then(queryParams.success); - res.abort = function () { - return null; - }; - - return res; - }, - - results: function (data, page) { - var results = []; - - _.each(data.data.response, function (obj: { id; name; cvr; }) { - if (excludeSelf && obj.id == contract.id) - return; // don't add self to result - - results.push({ - id: obj.id, - text: obj.name ? obj.name : 'Unavngiven', - cvr: obj.cvr - }); - }); - results = _.orderBy(results, x => x.text, 'asc'); - return { results: results }; - } - } - }; - } } ] ); diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.controller.ts b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.controller.ts index 533e0feb17..2a8aa56a0d 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.controller.ts +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.controller.ts @@ -7,20 +7,28 @@ controller: 'contract.EditMainCtrl', resolve: { contractTypes: [ - 'localOptionServiceFactory', (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => - localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.ItContractTypes).getAll() + 'localOptionServiceFactory', + (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.ItContractTypes) + .getAll() ], contractTemplates: [ - 'localOptionServiceFactory', (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => - localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.ItContractTemplateTypes).getAll() + 'localOptionServiceFactory', + (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory + .create(Kitos.Services.LocalOptions.LocalOptionType.ItContractTemplateTypes).getAll() ], purchaseForms: [ - "localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => - localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.PurchaseFormTypes).getAll() + "localOptionServiceFactory", + (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.PurchaseFormTypes) + .getAll() ], procurementStrategies: [ - "localOptionServiceFactory", (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => - localOptionServiceFactory.create(Kitos.Services.LocalOptions.LocalOptionType.ProcurementStrategyTypes).getAll() + "localOptionServiceFactory", + (localOptionServiceFactory: Kitos.Services.LocalOptions.ILocalOptionServiceFactory) => + localOptionServiceFactory + .create(Kitos.Services.LocalOptions.LocalOptionType.ProcurementStrategyTypes).getAll() ], orgUnits: [ '$http', 'contract', function ($http, contract) { @@ -72,14 +80,25 @@ app.controller('contract.EditMainCtrl', [ - '$scope', '$http', '_', '$stateParams', 'notify', 'contract', 'contractTypes', 'contractTemplates', 'purchaseForms', 'procurementStrategies', 'orgUnits', 'hasWriteAccess', 'user', 'autofocus', 'kitosUsers', - function ($scope, $http, _, $stateParams, notify, contract, contractTypes, contractTemplates, purchaseForms, procurementStrategies, orgUnits: Kitos.Models.ViewModel.Generic.Select2OptionViewModelWithIndentation[], hasWriteAccess, user : Kitos.Services.IUser, autofocus, kitosUsers) { + '$scope', '$http', '_', '$stateParams', + 'notify', 'contract', 'contractTypes', 'contractTemplates', + 'purchaseForms', 'procurementStrategies', 'orgUnits', 'hasWriteAccess', + 'user', 'autofocus', 'kitosUsers', "uiState", + "criticalityOptions", "select2LoadingService", + function ($scope, $http, _, $stateParams, + notify, contract, contractTypes, contractTemplates, + purchaseForms, procurementStrategies, orgUnits: Kitos.Models.ViewModel.Generic.Select2OptionViewModelWithIndentation[], hasWriteAccess, + user: Kitos.Services.IUser, autofocus, kitosUsers, uiState: Kitos.Models.UICustomization.ICustomizedModuleUI, + criticalityOptions: Kitos.Models.IOptionEntity[], select2LoadingService: Kitos.Services.ISelect2LoadingService) { + const blueprint = Kitos.Models.UICustomization.Configs.BluePrints.ItContractUiCustomizationBluePrint; + + bindCriticalities(contract); $scope.autoSaveUrl = 'api/itcontract/' + $stateParams.id; $scope.autosaveUrl2 = 'api/itcontract/' + contract.id; $scope.contract = contract; + $scope.lastChanged = Kitos.Helpers.RenderFieldsHelper.renderDate(contract.lastChanged); $scope.hasWriteAccess = hasWriteAccess; - $scope.hasViewAccess = user.currentOrganizationId == contract.organizationId; $scope.kitosUsers = kitosUsers; autofocus(); $scope.contractTypes = contractTypes; @@ -88,6 +107,19 @@ $scope.procurementStrategies = procurementStrategies; $scope.orgUnits = orgUnits; $scope.allowClear = true; + + $scope.showprocurementPlanSelection = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.procurementPlan); + $scope.showProcurementStrategySelection = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.procurementStrategy); + $scope.showProcurementInitiated = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.procurementInitiated); + $scope.isContractIdEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.contractId); + $scope.isContractTypeEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.contractType); + $scope.isPurchaseFormEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.purchaseForm); + $scope.isExternalSignerEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.externalSigner); + $scope.isInternalSignerEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.internalSigner); + $scope.isagreementPeriodEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.agreementPeriod); + $scope.isActiveEnabled = uiState.isBluePrintNodeAvailable(blueprint.children.frontPage.children.isActive); + + bindProcurementInitiated(); var today = new Date(); if (!contract.active) { @@ -107,18 +139,18 @@ $scope.procurementPlans = []; var currentDate = moment(); - for (var i = 0; i < 20; i++) { - var half = currentDate.quarter() <= 2 ? 1 : 2; // 1 for the first 6 months, 2 for the rest + for (var i = 0; i < 40; i++) { + var quarter = currentDate.quarter(); var year = currentDate.year(); - var obj = { id: String(i), text: half + " | " + year, half: half, year: year }; + var obj = { id: String(i), text: `Q${quarter} | ${year}`, quarter: quarter, year: year }; $scope.procurementPlans.push(obj); - // add 6 months for next iter - currentDate.add(6, 'months'); + // add 3 months for next iter + currentDate.add(3, 'months'); } - var foundPlan: { id } = _.find($scope.procurementPlans, function (plan: { half; year; id; }) { - return plan.half == contract.procurementPlanHalf && plan.year == contract.procurementPlanYear; + var foundPlan: { id } = _.find($scope.procurementPlans, function (plan: { quarter; year; id; }) { + return plan.quarter == contract.procurementPlanQuarter && plan.year == contract.procurementPlanYear; }); if (foundPlan) { // plan is found in the list, replace it to get object equality @@ -126,15 +158,16 @@ } else { // plan is not found, add missing plan to begining of list // if not null - if (contract.procurementPlanHalf != null) { - var plan = { id: String($scope.procurementPlans.length), text: contract.procurementPlanHalf + " | " + contract.procurementPlanYear, half: contract.procurementPlanHalf, year: contract.procurementPlanYear }; + if (contract.procurementPlanQuarter != null) { + var plan = { id: String($scope.procurementPlans.length), text: contract.procurementPlanQuarter + " | " + contract.procurementPlanYear, quarter: contract.procurementPlanQuarter, year: contract.procurementPlanYear }; $scope.procurementPlans.unshift(plan); // add to list $scope.procurementPlanId = plan; // select it } } + $scope.patchDate = (field, value) => { var date = moment(moment(value, Kitos.Constants.DateFormat.DanishDateFormat, true).format()); - if(value === "") { + if (value === "") { var payload = {}; payload[field] = null; patch(payload, $scope.autosaveUrl2 + '?organizationId=' + user.currentOrganizationId); @@ -152,7 +185,7 @@ } $scope.saveProcurement = function (id) { - if (id === null && contract.procurementPlanHalf !== null && contract.procurementPlanYear !== null) { + if (id === null && contract.procurementPlanQuarter !== null && contract.procurementPlanYear !== null) { updateProcurement(null, null); } else { @@ -161,18 +194,18 @@ } var result = _.find($scope.procurementPlans, (plan) => plan.id === id); - if (result.half === contract.procurementPlanHalf && result.year === contract.procurementPlanYear) { + if (result.quarter === contract.procurementPlanQuarter && result.year === contract.procurementPlanYear) { return; } - updateProcurement(result.half, result.year); + updateProcurement(result.quarter, result.year); } }; - function updateProcurement(procurementPlanHalf, procurementPlanYear) { + function updateProcurement(procurementPlanQuarter, procurementPlanYear) { contract = $scope.contract; - var payload = { procurementPlanHalf: procurementPlanHalf, procurementPlanYear: procurementPlanYear }; - $scope.contract.procurementPlanHalf = payload.procurementPlanHalf; + var payload = { procurementPlanQuarter: procurementPlanQuarter, procurementPlanYear: procurementPlanYear }; + $scope.contract.procurementPlanQuarter = payload.procurementPlanQuarter; $scope.contract.procurementPlanYear = payload.procurementPlanYear; patch(payload, $scope.autoSaveUrl + '?organizationId=' + user.currentOrganizationId); } @@ -194,75 +227,25 @@ }; } - $scope.itContractsSelectOptions = selectLazyLoading('api/itcontract', true, formatContract, ['orgId=' + user.currentOrganizationId]); - - function formatContract(supplier) { - return '
' + supplier.text + '
'; - } - - if (contract.supplierId) { + if (!!contract.supplierId) { $scope.contract.supplier = { id: contract.supplierId, text: contract.supplierName }; } - $scope.suppliersSelectOptions = selectLazyLoading('api/organization', false, formatSupplier, ['take=100','orgId=' + user.currentOrganizationId]); - - function formatSupplier(supplier) { - var result = '
' + supplier.text + '
'; - if (supplier.cvr) { - result += '
' + supplier.cvr + '
'; - } - return result; - } - - function selectLazyLoading(url, excludeSelf, format, paramAry) { - return { - minimumInputLength: 1, - allowClear: true, - placeholder: ' ', - formatResult: format, - initSelection: function (elem, callback) { - }, - ajax: { - data: function (term, page) { - return { query: term }; - }, - quietMillis: 500, - transport: function (queryParams) { - var extraParams = paramAry ? '&' + paramAry.join('&') : ''; - var res = $http.get(url + '?q=' + encodeURIComponent(queryParams.data.query) + extraParams).then(queryParams.success); - res.abort = function () { - return null; - }; - - return res; - }, - - results: function (data, page) { - var results = []; - - _.each(data.data.response, function (obj: { id; name; cvrNumber; }) { - if (excludeSelf && obj.id == contract.id) - return; // don't add self to result - - results.push({ - id: obj.id, - text: obj.name ? obj.name : 'Unavngiven', - cvr: obj.cvrNumber - }); - }); + $scope.suppliersSelectOptions = select2LoadingService.loadSelect2WithDataHandler("api/organization", true, ["take=100", "orgId=" + user.currentOrganizationId], (item, items) => { + items.push({ + id: item.id, + text: item.name ? item.name : 'Unavngiven', + cvr: item.cvrNumber + }); + }, "q", Kitos.Helpers.Select2OptionsFormatHelper.formatOrganizationWithCvr); - return { results: results }; - } - } - }; - } - $scope.override = () => - { + $scope.override = () => { isActive(); } + function isActive() { var today = moment(); let fromDate = moment($scope.contract.concluded, Kitos.Constants.DateFormat.DanishDateFormat).startOf('day'); @@ -277,6 +260,7 @@ $scope.contract.isActive = false; } } + $scope.checkContractValidity = (field, value) => { var expirationDate = $scope.contract.expirationDate; var concluded = $scope.contract.concluded; @@ -306,5 +290,56 @@ isActive(); } } + + function bindCriticalities(contract: any) { + + const optionMap = Kitos.Helpers.OptionEntityHelper.createDictionaryFromOptionList(criticalityOptions); + + //If selected state is expired, add it for presentation reasons + let existingChoice = null; + if (contract.criticalityId !== undefined && contract.criticalityId !== null) { + existingChoice = { + id: contract.criticalityId, + name: `${contract.criticalityName} (udgået)` + }; + + if (!optionMap[existingChoice.id]) { + optionMap[existingChoice.id] = { + text: existingChoice.name, + id: existingChoice.id, + disabled: true, + optionalObjectContext: existingChoice + } + } + } + + const options = criticalityOptions.map(option => optionMap[option.Id]); + + $scope.criticality = { + selectedElement: existingChoice && optionMap[existingChoice.id], + select2Config: select2LoadingService.select2LocalDataNoSearch(() => options, true), + elementSelected: (newElement) => { + var payload = { criticalityId: newElement ? newElement.id : null }; + $scope.contract.criticalityId = newElement?.id; + patch(payload, $scope.autosaveUrl2 + '?organizationId=' + user.currentOrganizationId); + } + }; + } + + function bindProcurementInitiated() { + const options = new Kitos.Models.ViewModel.Shared.YesNoUndecidedOptions(); + $scope.procurementInitiated = { + selectedElement: options.getById($scope.contract.procurementInitiated), + select2Config: select2LoadingService.select2LocalDataNoSearch(() => options.options, false), + elementSelected: (newElement) => { + if (!!newElement) { + $scope.contract.procurementInitiated = newElement.id; + var payload = { procurementInitiated: newElement.id }; + + patch(payload, $scope.autoSaveUrl + '?organizationId=' + user.currentOrganizationId); + } + } + } + } }]); })(angular, app); diff --git a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.view.html b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.view.html index b3b93855cd..91ad9f1dcb 100644 --- a/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.view.html +++ b/Presentation.Web/app/components/it-contract/tabs/it-contract-tab-main.view.html @@ -19,7 +19,7 @@

{{contract.name}}

-
+
{{contract.name}}
-
+
+ data-label="Kontrakttype" + data-placeholder="Vælg kontrakttype" + data-selected-text="{{ contract.contractTypeName }}" + data-ng-disabled="!hasWriteAccess" + data-ng-model="contract.contractTypeId" + data-options="contractTypes" + data-auto-save-url="{{ autoSaveUrl }}" + data-field="contractTypeId">
+ data-label="Kontraktskabelon" + data-placeholder="Vælg kontraktskabelon" + data-selected-text="{{ contract.contractTemplateName }}" + data-ng-disabled="!hasWriteAccess" + data-ng-model="contract.contractTemplateId" + data-options="contractTemplates" + data-auto-save-url="{{ autoSaveUrl }}" + data-field="contractTemplateId">
+ + +
+ + +
@@ -68,47 +77,52 @@

{{contract.name}}

-
+
+ data-label="Indkøbsform" + data-placeholder="Vælg indkøbsform" + data-selected-text="{{ contract.purchaseFormName }}" + data-ng-disabled="!hasWriteAccess" + data-ng-model="contract.purchaseFormId" + data-options="purchaseForms" + data-auto-save-url="{{ autoSaveUrl }}" + data-field="purchaseFormId">
-
+
+ data-label="Genanskaffelsesstrategi" + data-placeholder="Vælg genanskaffelsesstrategi" + data-selected-text="{{ contract.procurementStrategyName }}" + data-ng-disabled="!hasWriteAccess" + data-ng-model="contract.procurementStrategyId" + data-options="procurementStrategies" + data-auto-save-url="{{ autoSaveUrl }}" + data-field="procurementStrategyId">
-
+
- + + +
+ + +
-
+