public void CollectCreationEvent(int accommodationId, AccommodationChangeEventSources source, Dictionary <string, string> supplierAccommodationCodes,
                                         MultilingualAccommodation accommodation, bool isActive, DeactivationReasons deactivationReasons = default)
        {
            var creationLog = AccommodationChangeLogConverter.GetCreationChangeLog(accommodationId, source, supplierAccommodationCodes,
                                                                                   accommodation, isActive, deactivationReasons);

            AccommodationsChangeLogs.Add(creationLog);
        }
        public void CollectMergeEvent(int accommodationId, AccommodationChangeEventSources source, int mergedAccommodationId,
                                      Dictionary <string, string> sourceAccommodationSupplierCodes, Dictionary <string, string> mergedAccommodationSupplierCodes)
        {
            var mergeLog = AccommodationChangeLogConverter.GetMergeChangeLog(accommodationId, source, mergedAccommodationId, sourceAccommodationSupplierCodes,
                                                                             mergedAccommodationSupplierCodes);

            AccommodationsChangeLogs.Add(mergeLog);
        }
        public void CollectNewSupplierAdditionEvent(int accommodationId, AccommodationChangeEventSources source,
                                                    Dictionary <string, string> existingAccommodationSupplierCodes, string supplier, string supplierAccommodationCode)
        {
            var newSupplierAdditionLog = AccommodationChangeLogConverter.GetNewSupplierAdditionLog(accommodationId, source, existingAccommodationSupplierCodes,
                                                                                                   supplier, supplierAccommodationCode);

            AccommodationsChangeLogs.Add(newSupplierAdditionLog);
        }
        public void CollectActivationEvent(int accommodationId, AccommodationChangeEventSources source, DeactivationReasons deactivationReason,
                                           AccommodationKeyData?previousKeyData = default, AccommodationKeyData?currentKeyData = default)
        {
            var activationLog =
                AccommodationChangeLogConverter.GetActivationChangeLog(accommodationId, source, deactivationReason, previousKeyData, currentKeyData);

            AccommodationsChangeLogs.Add(activationLog);
        }
        public void CollectDeactivationEvent(int accommodationId, AccommodationChangeEventSources source, DeactivationReasons deactivationReason,
                                             string deactivationReasonService)
        {
            var deactivationLog =
                AccommodationChangeLogConverter.GetDeactivationChangeLog(accommodationId, source, deactivationReason, deactivationReasonService);

            AccommodationsChangeLogs.Add(deactivationLog);
        }
        public void CollectSupplierCodeRemoveEvent(int accommodationId, AccommodationChangeEventSources source, string supplier, string supplierCode,
                                                   Dictionary <string, string> accommodationSupplierCodes, SupplierCodeRemoveReasons reason)
        {
            var supplierCodeRemoveLog =
                AccommodationChangeLogConverter.GetSupplierCodeRemoveChangeLog(accommodationId, source, supplier, supplierCode, accommodationSupplierCodes,
                                                                               reason);

            AccommodationsChangeLogs.Add(supplierCodeRemoveLog);
        }
        public void CollectDuplicateAccommodationCommonSuppliersCodesRemoveEvent(int accommodationId, AccommodationChangeEventSources source,
                                                                                 int sourceAccommodationId, Dictionary <string, string> duplicateAccommodationSupplierCodes,
                                                                                 Dictionary <string, string> sourceAccommodationSupplierCodes)
        {
            var duplicateAccommodationCommonSuppliersCodesRemoveLog = AccommodationChangeLogConverter.GetDuplicateAccommodationCommonSuppliersCodesRemoveLog(
                accommodationId, source, sourceAccommodationId, duplicateAccommodationSupplierCodes, sourceAccommodationSupplierCodes);

            AccommodationsChangeLogs.Add(duplicateAccommodationCommonSuppliersCodesRemoveLog);
        }
        public void CollectDeactivationReasonChangeEvent(int accommodationId, AccommodationChangeEventSources source, DeactivationReasons oldDeactivationReason,
                                                         DeactivationReasons newDeactivationReason)

        {
            var changeLog = AccommodationChangeLogConverter.GetDeactivationReasonChangeLog(accommodationId, source, oldDeactivationReason,
                                                                                           newDeactivationReason);

            AccommodationsChangeLogs.Add(changeLog);
        }
        public void CollectRemoveEvent(int accommodationId, AccommodationChangeEventSources source, AccommodationRemoveReasons reason)
        {
            var removeLog = AccommodationChangeLogConverter.GetRemoveChangeLog(accommodationId, source, reason);

            AccommodationsChangeLogs.Add(removeLog);
        }
        public async Task SaveCollectedEventLogs(CancellationToken cancellationToken)
        {
            await _accommodationChangeLogService.AddChangeEventsList(AccommodationsChangeLogs, cancellationToken);

            AccommodationsChangeLogs.Clear();
        }
        public void CollectDataCorrectionEvent(int accommodationId, AccommodationChangeEventSources source, MultilingualAccommodation accommodation)
        {
            var changeLog = AccommodationChangeLogConverter.GetDataCorrectionChangeLog(accommodationId, source, accommodation);

            AccommodationsChangeLogs.Add(changeLog);
        }