public static EventEntity PreUpdateExistingEvent(EventEntity existingEvent, DWStaging.Edition stagingEdition)
        {
            existingEvent.MasterCode = stagingEdition.EventMasterCode;                              // no conflict
            existingEvent.MasterName = stagingEdition.EventMaster;                                  // no conflict

            existingEvent.Region = stagingEdition.EventRegion;                                      // no conflict

            existingEvent.Industry    = stagingEdition.EventIndustry;                               // no conflict
            existingEvent.SubIndustry = stagingEdition.EventSubIndustry;                            // no conflict

            existingEvent.EventTypeCode = stagingEdition.EVENTTYPEBEID;                             // no conflict
            existingEvent.EventType     = stagingEdition.EventType;                                 // no conflict

            existingEvent.EventBusinessClassification = stagingEdition.EventBusinessClassification; // no conflict
            return(existingEvent);
        }
        public static Event PrepareNewEvent(DWStaging.Edition stagingEdition)
        {
            var newEvent = new Event
            {
                MasterCode    = stagingEdition.EventMasterCode,
                MasterName    = stagingEdition.EventMaster,
                Region        = stagingEdition.EventRegion,
                Industry      = stagingEdition.EventIndustry,
                SubIndustry   = stagingEdition.EventSubIndustry,
                EventType     = stagingEdition.EventType,
                EventTypeCode = stagingEdition.EVENTTYPEBEID,
                EventBusinessClassification = stagingEdition.EventBusinessClassification,
                CreateTime = DateTime.Now,
                CreateUser = Constants.AutoIntegrationUserId
            };

            return(newEvent);
        }
 public static EditionTranslationEntity PreUpdateExistingEditionTranslation(EditionTranslationEntity existingEditionTranslation, DWStaging.Edition stagingEdition)
 {
     existingEditionTranslation.LanguageCode = LanguageHelper.GetBaseLanguageCultureName();
     existingEditionTranslation.VenueName    = stagingEdition.EventVenue;
     return(existingEditionTranslation);
 }
        public static EditionEntity PreUpdateExistingEdition(EditionEntity existingEdition, DWStaging.Edition stagingEdition, DateTime eventStartDate, DateTime eventEndDate)
        {
            existingEdition.DwEventId = stagingEdition.DWEventID;                                                    // no conflict
            existingEdition.PreviousInstanceDwEventId = stagingEdition.PreviousEditionDWEventID.GetValueOrDefault(); // no conflict
            if (existingEdition.EditionNo == 0)
            {
                existingEdition.EditionNo = (short)stagingEdition.EditionNo.GetValueOrDefault();
            }

            existingEdition.EditionName = stagingEdition.EventName; // no conflict
            //existingEdition.ReportingName = !string.IsNullOrWhiteSpace(stagingEdition.EventNameReporting) ? stagingEdition.EventNameReporting : stagingEdition.EventName; // no conflict
            //existingEdition.LocalName = !string.IsNullOrWhiteSpace(stagingEdition.EventLongNameLocal) ? stagingEdition.EventLongNameLocal : stagingEdition.EventName; // no conflict
            //existingEdition.InternationalName = !string.IsNullOrWhiteSpace(stagingEdition.EventLongNameInternational) ? stagingEdition.EventLongNameInternational : stagingEdition.EventName;

            existingEdition.EventActivity  = stagingEdition.EventActivity;           // no conflict
            existingEdition.EventTypeCode  = stagingEdition.EVENTTYPEBEID;           // no conflict
            existingEdition.Classification = stagingEdition.EventBandClassification; // no conflict
            existingEdition.Frequency      = stagingEdition.EventFrequency;          // no conflict

            existingEdition.Country     = stagingEdition.EventCountryName;
            existingEdition.CountryCode = _countryServices.GetCountryByName(stagingEdition.EventCountryName)?.CountryCode;
            existingEdition.City        = stagingEdition.EventCity;

            if (string.IsNullOrWhiteSpace(existingEdition.ManagingOfficeName))
            {
                existingEdition.ManagingOfficeName = stagingEdition.EventManagingOfficeName;
            }
            existingEdition.DirectorManagingOfficeName = stagingEdition.DirectorManagingOfficeName; // no conflict
            //existingEdition.DirectorEmail = stagingEdition.EventDirectorEmail; // no conflict
            //existingEdition.DirectorFullName = stagingEdition.EventDirector; // no conflict

            existingEdition.StartDate          = eventStartDate;                               // no conflict
            existingEdition.EndDate            = eventEndDate;                                 // no conflict
            existingEdition.FinancialYearStart = Convert.ToInt32(stagingEdition.EventFYStart); // no conflict
            existingEdition.FinancialYearEnd   = Convert.ToInt32(stagingEdition.EventFYEnd);   // no conflict

            existingEdition.EventOwnershipBEID = stagingEdition.EVENTOWNERSHIPBEID;
            existingEdition.EventOwnership     = stagingEdition.EVENTOWNERSHIP;
            return(existingEdition);
        }
        public static EditionTranslationEntity PrepareNewEditionTranslation(Edition newEdition, DWStaging.Edition stagingEdition, EditionTranslationEntity lastEditionTranslation)
        {
            if (lastEditionTranslation == null)
            {
                lastEditionTranslation = new EditionTranslationEntity
                {
                    LanguageCode = LanguageHelper.GetBaseLanguageCultureName()
                };
            }

            var venueName = lastEditionTranslation.LanguageCode == LanguageHelper.GetBaseLanguageCultureName()
                ? stagingEdition.EventVenue
                : lastEditionTranslation.VenueName;

            var newEditionTranslation = new EditionTranslationEntity
            {
                EditionId            = newEdition.EditionId,
                LanguageCode         = lastEditionTranslation.LanguageCode,
                Summary              = lastEditionTranslation.Summary,
                Description          = lastEditionTranslation.Description,
                ExhibitorProfile     = lastEditionTranslation.ExhibitorProfile,
                VisitorProfile       = lastEditionTranslation.VisitorProfile,
                VenueName            = venueName,
                MapVenueFullAddress  = lastEditionTranslation.MapVenueFullAddress,
                WebLogoFileName      = lastEditionTranslation.WebLogoFileName,
                PeopleImageFileName  = lastEditionTranslation.PeopleImageFileName,
                ProductImageFileName = lastEditionTranslation.ProductImageFileName,
                MasterLogoFileName   = lastEditionTranslation.MasterLogoFileName,
                CrmLogoFileName      = lastEditionTranslation.CrmLogoFileName,
                IconFileName         = lastEditionTranslation.IconFileName,
                BookStandUrl         = lastEditionTranslation.BookStandUrl,
                OnlineInvitationUrl  = lastEditionTranslation.OnlineInvitationUrl,
                CreateTime           = DateTime.Now,
                CreateUser           = Constants.AutoIntegrationUserId
            };

            //EditionName = stagingEdition.EventName,
            //ReportingName = !string.IsNullOrWhiteSpace(stagingEdition.EventNameReporting) ? stagingEdition.EventNameReporting : stagingEdition.EventName,
            //LocalName = !string.IsNullOrWhiteSpace(stagingEdition.EventLongNameLocal) ? stagingEdition.EventLongNameLocal : stagingEdition.EventName,
            //InternationalName = !string.IsNullOrWhiteSpace(stagingEdition.EventLongNameInternational) ? stagingEdition.EventLongNameInternational : stagingEdition.EventName,

            return(newEditionTranslation);
        }
        public static Edition PrepareNewEdition(int axId, int eventId, DWStaging.Edition stagingEdition, DateTime eventStartDate, DateTime eventEndDate, EditionEntity lastEdition)
        {
            var newEdition = new Edition
            {
                AxEventId = axId,
                EventId   = eventId,
                DwEventID = stagingEdition.DWEventID,
                PreviousInstanceDwEventId = stagingEdition.PreviousEditionDWEventID.GetValueOrDefault(),
                EditionNo     = stagingEdition.EditionNo.GetValueOrDefault(),
                EditionName   = stagingEdition.EventName,
                ReportingName =
                    !string.IsNullOrWhiteSpace(stagingEdition.EventNameReporting)
                        ? stagingEdition.EventNameReporting
                        : stagingEdition.EventName,
                LocalName =
                    !string.IsNullOrWhiteSpace(stagingEdition.EventLongNameLocal)
                        ? stagingEdition.EventLongNameLocal
                        : stagingEdition.EventName,
                InternationalName =
                    !string.IsNullOrWhiteSpace(stagingEdition.EventLongNameInternational)
                        ? stagingEdition.EventLongNameInternational
                        : stagingEdition.EventName,
                EventTypeCode              = stagingEdition.EVENTTYPEBEID,
                EventActivity              = stagingEdition.EventActivity,
                Classification             = stagingEdition.EventBandClassification,
                Frequency                  = stagingEdition.EventFrequency,
                Country                    = stagingEdition.EventCountryName,
                CountryCode                = _countryServices.GetCountryByName(stagingEdition.EventCountryName)?.CountryCode,
                City                       = stagingEdition.EventCity,
                ManagingOfficeName         = stagingEdition.EventManagingOfficeName,
                DirectorManagingOfficeName = stagingEdition.DirectorManagingOfficeName,
                DirectorEmail              = stagingEdition.EventDirectorEmail,
                DirectorFullName           = stagingEdition.EventDirector,
                StartDate                  = eventStartDate,
                EndDate                    = eventEndDate,
                FinancialYearStart         = Convert.ToInt32(stagingEdition.EventFYStart),
                FinancialYearEnd           = Convert.ToInt32(stagingEdition.EventFYEnd),
                EventOwnershipBEID         = stagingEdition.EVENTOWNERSHIPBEID,
                EventOwnership             = stagingEdition.EVENTOWNERSHIP,
                Status                     = (byte)EditionStatusType.Published.GetHashCode(),
                CreateTime                 = DateTime.Now,
                CreateUser                 = Constants.AutoIntegrationUserId
            };

            if (lastEdition != null)
            {
                newEdition.VisitStartTime                    = lastEdition.VisitStartTime.GetValueOrDefault();
                newEdition.VisitEndTime                      = lastEdition.VisitEndTime.GetValueOrDefault();
                newEdition.AllDayEvent                       = lastEdition.AllDayEvent;
                newEdition.Promoted                          = lastEdition.Promoted;
                newEdition.ManagingOfficeEmail               = lastEdition.ManagingOfficeEmail;
                newEdition.ManagingOfficePhone               = lastEdition.ManagingOfficePhone;
                newEdition.ManagingOfficeWebsite             = lastEdition.ManagingOfficeWebsite;
                newEdition.EventWebSite                      = lastEdition.EventWebSite;
                newEdition.MarketoPreferenceCenterLink       = lastEdition.MarketoPreferenceCenterLink;
                newEdition.VenueCoordinates                  = lastEdition.VenueCoordinates;
                newEdition.DisplayOnIteGermany               = lastEdition.DisplayOnIteGermany;
                newEdition.DisplayOnIteAsia                  = lastEdition.DisplayOnIteAsia;
                newEdition.DisplayOnIteI                     = lastEdition.DisplayOnIteI;
                newEdition.DisplayOnIteModa                  = lastEdition.DisplayOnIteModa;
                newEdition.DisplayOnItePoland                = lastEdition.DisplayOnItePoland;
                newEdition.DisplayOnIteTurkey                = lastEdition.DisplayOnIteTurkey;
                newEdition.DisplayOnIteRussia                = lastEdition.DisplayOnIteRussia;
                newEdition.DisplayOnIteEurasia               = lastEdition.DisplayOnIteEurasia;
                newEdition.DisplayOnTradeLink                = lastEdition.DisplayOnTradeLink;
                newEdition.DisplayOnIteUkraine               = lastEdition.DisplayOnIteUkraine;
                newEdition.DisplayOnIteBuildInteriors        = lastEdition.DisplayOnIteBuildInteriors;
                newEdition.DisplayOnIteFoodDrink             = lastEdition.DisplayOnIteFoodDrink;
                newEdition.DisplayOnIteOilGas                = lastEdition.DisplayOnIteOilGas;
                newEdition.DisplayOnIteTravelTourism         = lastEdition.DisplayOnIteTravelTourism;
                newEdition.DisplayOnIteTransportLogistics    = lastEdition.DisplayOnIteTransportLogistics;
                newEdition.DisplayOnIteFashion               = lastEdition.DisplayOnIteFashion;
                newEdition.DisplayOnIteSecurity              = lastEdition.DisplayOnIteSecurity;
                newEdition.DisplayOnIteBeauty                = lastEdition.DisplayOnIteBeauty;
                newEdition.DisplayOnIteHealthCare            = lastEdition.DisplayOnIteHealthCare;
                newEdition.DisplayOnIteMining                = lastEdition.DisplayOnIteMining;
                newEdition.DisplayOnIteEngineeringIndustrial = lastEdition.DisplayOnIteEngineeringIndustrial;
                newEdition.TradeShowConnectDisplay           = lastEdition.TradeShowConnectDisplay;
            }

            return(newEdition);
        }