コード例 #1
0
        protected override Task ProcessHotelWorkItem(HotelWorkItem workItem, CancellationToken cancellationToken)
        {
            IKey hotelKey = new AppacitiveDAL.HotelKey()
            {
                HotelArticleId = workItem.ArticleId, HotelId = Convert.ToInt64(workItem.HotelId), SupplierFamily = workItem.SupplierFamily
            };
            IDescriptionDataProvider descriptionDataProvider = new DescriptionDataProvider();

            // Get Appacitive descriptions by HotelArticleId
            List <HotelDescription> sourceDescriptions = new AppacitiveDAL.DatabaseManager().GetHotelDescriptions(hotelKey);

            // Get Client DB descriptions by HotelArticleId
            List <HotelDescription> destinationDescriptions = descriptionDataProvider.GetHotelDescriptions(hotelKey);

            foreach (var sourceDescription in sourceDescriptions)
            {
                HotelDescription description = destinationDescriptions.Find(x => x.Equals(sourceDescription));
                if (description == null)
                {
                    // New Hotel description
                    descriptionDataProvider.InsertHotelDescription(hotelKey, sourceDescription);
                }
                else
                {
                    // Old Hotel description
                    if (!description.IsUpdated(sourceDescription))
                    {
                        descriptionDataProvider.UpdateHotelDescription(hotelKey, sourceDescription);
                    }

                    destinationDescriptions.Remove(description);
                }
            }

            destinationDescriptions.ForEach(x => descriptionDataProvider.DeleteHotelDescription(hotelKey, x));

            return(null);
        }
コード例 #2
0
 public void DeleteHotelDescription(IKey hotelKey, HotelDescription hotelDescription)
 {
     throw new NotImplementedException();
 }
コード例 #3
0
 public HotelDescriptionModelView()
 {
     _hotelDescriptionModel  = new HotelDescription();
     CheckableRoomFacilities = new ObservableCollection(GetCheckableFacilities(FacilityType.Room));
 }