Example #1
0
 protected override void Cloning(UserAgentRedirectPart originalPart, UserAgentRedirectPart clonePart, CloneContentContext context)
 {
     clonePart.AutoRedirect = originalPart.AutoRedirect;
     clonePart.AppName      = originalPart.AppName;
     foreach (var record in originalPart.Stores)
     {
         //clone the records
         var newRecord = new AppStoreRedirectRecord()
         {
             UserAgentRedirectPartRecord = clonePart.Record,
             AppStoreKey = record.AppStoreKey,
             RedirectUrl = record.RedirectUrl
         };
         _appStoreRedirectRepository.Create(newRecord);
     }
 }
Example #2
0
        public void Update(ContentItem content, UserAgentRedirectEdit editModel)
        {
            var mapperConfiguration = new MapperConfiguration(cfg => {
                cfg.CreateMap <AppStoreEdit, AppStoreRedirectRecord>();
                cfg.CreateMap <UserAgentRedirectEdit, UserAgentRedirectPart>()
                .ForMember(dest => dest.Stores, opt => opt.Ignore());
            });
            IMapper _mapper = mapperConfiguration.CreateMapper();

            var part = content.As <UserAgentRedirectPart>();

            _mapper.Map(editModel, part);
            var partRecord = part.Record;
            var partId     = part.Id;

            // Update and Delete
            foreach (var item in editModel.Stores.Where(w => w.Id > 0))
            {
                AppStoreRedirectRecord record = _appStoreRedirectRepository.Get(item.Id);
                _mapper.Map(item, record);
                var recordQuestionID = record.Id;
                record.UserAgentRedirectPartRecord = partRecord;
                if (item.Delete)
                {
                    _appStoreRedirectRepository.Delete(_appStoreRedirectRepository.Get(item.Id));
                }
                else
                {
                    _appStoreRedirectRepository.Update(record);
                }
            }
            // Create
            foreach (var item in editModel.Stores.Where(w => w.Id == 0 && w.Delete == false))
            {
                AppStoreRedirectRecord record = new AppStoreRedirectRecord();
                _mapper.Map(item, record);
                record.UserAgentRedirectPartRecord = partRecord;
                _appStoreRedirectRepository.Create(record);
            }
        }