public PersistenceController()
        {
            String persistencePath = ConfigurationUtil.ReadConfiguration("PersistencePath", "GestorPresupuesto\\Saved.json");

            path          = Path.Combine(Environment.GetFolderPath(SpecialFolder.MyDocuments), persistencePath);
            secondsToSave = ConfigurationUtil.ReadConfigurationAsInt("CacheWriteSeconds", 60);
            lastRead      = DateTime.MinValue;
            cache         = ReadFile();
        }
        public Boolean Save(PersistenceEntity toSave)
        {
            Boolean correct = WriteFile(toSave);

            if (correct)
            {
                cache = ReadFile();
            }

            return(correct);
        }
        private Boolean WriteFile(PersistenceEntity toWrite)
        {
            try
            {
                FileInfo file = new FileInfo(path);

                if (!file.Exists)
                {
                    Directory.CreateDirectory(file.DirectoryName);
                }

                File.WriteAllText(path, JsonConvert.SerializeObject(toWrite));
                return(true);
            }
            catch (Exception ex) { }

            return(false);
        }
        public void ReadWriterGetPersistenceEntityTest()
        {
            PersistenceEntity persistedEntity = TestHelper.CreatePersistedEntity();

            using (var unit = _mappingGroup.CreateReadWriteUnitOfWork())
            {
                unit.ReadWriteRepository.Add(persistedEntity);
                unit.Commit();
            }

            Thread.Sleep(2000); // Pause to check if dates are persisted / reloaded

            using (var unit = _mappingGroup.CreateReadWriteUnitOfWork())
            {
                PersistenceEntity result = unit.ReadWriteRepository.GetEntity(persistedEntity.Id);
                Assert.IsTrue(persistedEntity.Id == result.Id);
            }
        }
Exemplo n.º 5
0
        public void PersistenceEntityDtoViaPocoMapperTest()
        {
            var mapper = DependencyResolver.Current.Resolve <ITypeMapper>();

            PersistenceEntityDto entityDto = new PersistenceEntityDto();

            entityDto.ConcurrencyToken = new TickConcurrencyToken();
            entityDto.Id                        = Guid.NewGuid();
            entityDto.Revision                  = new RevisionData();
            entityDto.Revision.Changeset        = new Changeset();
            entityDto.Revision.Changeset.Id     = Guid.NewGuid();
            entityDto.Revision.Changeset.Branch = new Branch();
            entityDto.Revision.RevisionId       = Guid.NewGuid();
            entityDto.UtcCreated                = entityDto.UtcModified = entityDto.UtcStatusChanged = DateTime.UtcNow;
            entityDto.Status                    = new PersistenceEntityStatus();


            //Mapper.CreateMap<IPersistenceEntityStatus, PersistenceEntityStatus>();
            //Mapper.CreateMap<RevisionData, Persistence.Model.Versioning.RevisionData>();

            //Mapper.CreateMap<PersistenceEntityDto, Persistence.Model.PersistenceEntityDto>()
            //    //.ForMember(dest => dest.Id, opt => opt.ResolveUsing(new DtoGuidToEntityUriResolver()))
            //    .ForMember(dest => dest.Revision, opt => opt.ResolveUsing(new ProxyResolver<PersistenceEntityDto>(a=>a.Revision)));

            Mapper.AssertConfigurationIsValid();

            //Mapper.CreateMap<IRevisionData, Persistence.Model.Versioning.RevisionData>();

            var mappedEntity = mapper.Map <PersistenceEntityDto, IPersistenceEntity>(entityDto);

            //var mappedEntity2 = Mapper.Map<IPersistenceEntity, Persistence.Model.PersistenceEntityDto>(mappedEntity);

            var hydration = new PersistenceEntity();

            //entityDto.Hydrate(hydration);
            mapper.Map(entityDto, hydration);

            Assert.IsNotNull(mappedEntity);
            Assert.IsInstanceOfType(mappedEntity, typeof(IPersistenceEntity));
            Assert.AreEqual(entityDto.Id, hydration.Id.AsGuid);
            Assert.AreEqual(entityDto.Id, mappedEntity.Id.AsGuid);
        }
Exemplo n.º 6
0
        public void PersistenceEntityDtoViaPocoMapperTest()
        {
            var mapper = DependencyResolver.Current.Resolve<ITypeMapper>();

            PersistenceEntityDto entityDto = new PersistenceEntityDto();
            entityDto.ConcurrencyToken = new TickConcurrencyToken();
            entityDto.Id = Guid.NewGuid();
            entityDto.Revision = new RevisionData();
            entityDto.Revision.Changeset = new Changeset();
            entityDto.Revision.Changeset.Id = Guid.NewGuid();
            entityDto.Revision.Changeset.Branch = new Branch();
            entityDto.Revision.RevisionId = Guid.NewGuid();
            entityDto.UtcCreated = entityDto.UtcModified = entityDto.UtcStatusChanged = DateTime.UtcNow;
            entityDto.Status = new PersistenceEntityStatus();
            

            //Mapper.CreateMap<IPersistenceEntityStatus, PersistenceEntityStatus>();
            //Mapper.CreateMap<RevisionData, Persistence.Model.Versioning.RevisionData>();

            //Mapper.CreateMap<PersistenceEntityDto, Persistence.Model.PersistenceEntityDto>()
            //    //.ForMember(dest => dest.Id, opt => opt.ResolveUsing(new DtoGuidToEntityUriResolver()))
            //    .ForMember(dest => dest.Revision, opt => opt.ResolveUsing(new ProxyResolver<PersistenceEntityDto>(a=>a.Revision)));

            Mapper.AssertConfigurationIsValid();

            //Mapper.CreateMap<IRevisionData, Persistence.Model.Versioning.RevisionData>();

            var mappedEntity = mapper.Map<PersistenceEntityDto, IPersistenceEntity>(entityDto);

            //var mappedEntity2 = Mapper.Map<IPersistenceEntity, Persistence.Model.PersistenceEntityDto>(mappedEntity);

            var hydration = new PersistenceEntity();
            //entityDto.Hydrate(hydration);
            mapper.Map(entityDto, hydration);

            Assert.IsNotNull(mappedEntity);
            Assert.IsInstanceOfType(mappedEntity, typeof(IPersistenceEntity));
            Assert.AreEqual(entityDto.Id, hydration.Id.AsGuid);
            Assert.AreEqual(entityDto.Id, mappedEntity.Id.AsGuid);
        }