コード例 #1
0
        public void OnFixedUpdate()
        {
            if (FlightGlobals.ActiveVessel.situation != Vessel.Situations.LANDED)
            {
                this.Reset();
                return;
            }

            if (IsTransferComplete && FlightGlobals.ActiveVessel == this.sourceVessel)
            {
                return;
            }

            if (IsTransferUnderway && FlightGlobals.ActiveVessel == this.sourceVessel)
            {
                double now         = Planetarium.GetUniversalTime();
                double elapsedTime = now - this.lastTransferTime;
                this.lastTransferTime = now;

                // Move the goodies
                var thisShipResults  = this.resourceConverter.ProcessRecipe(elapsedTime, this.thisVesselConversionRecipe, this.sourceVessel.rootPart, null, 1f);
                var otherShipResults = this.resourceConverter.ProcessRecipe(elapsedTime, this.otherVesselConversionRecipe, this.TargetVessel.rootPart, null, 1f);
                if (thisShipResults.TimeFactor < elapsedTime || otherShipResults.TimeFactor < elapsedTime)
                {
                    this.CheckIfSatisfiedAutoMiningRequirement();
                    this.resourceConverter           = null;
                    this.thisVesselConversionRecipe  = null;
                    this.otherVesselConversionRecipe = null;
                    this.IsTransferComplete          = true;
                }

                return;
            }
        }
コード例 #2
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int i)
        {
            WeaponsViewHolder vh = viewHolder as WeaponsViewHolder;

            // データ表示
            if (MainWeapons != null && MainWeapons.Count > i && MainWeapons[i] != null)
            {
                vh.MainWeaponTextView.Text = this.MainWeapons[i].Name;
                vh.MainWeaponImageView.SetImageResource(
                    ResourceConverter.GetDrawableID(this.Context, MainWeapons[i].FileName));
                vh.SubWeaponImageView.SetImageResource(
                    ResourceConverter.GetDrawableID(this.Context, MainWeapons[i].SubWeapon.FileName));
                vh.SpecialWeaponImageView.SetImageResource(
                    ResourceConverter.GetDrawableID(this.Context, MainWeapons[i].SpecialWeapon.FileName));

                vh.MainWeaponImageView.Click += delegate
                {
                    WeaponDetailActivity.Start(this.Context, MainWeapons[i]);
                };
            }

            /* クリック処理
             * viewHolder.ItemView.SetOnClickListener(new View.OnClickListener() {
             *  @Override
             *  public void onClick(View v) {
             *      mListener.onRecyclerClicked(v, i);
             *  }
             * });
             */
        }
コード例 #3
0
ファイル: Default.cs プロジェクト: thompsonbill/JSIL
 public override void ProcessSkippedAssembly(
     Configuration configuration, string assemblyPath, TranslationResult result
     )
 {
     ResourceConverter.ConvertResources(configuration, assemblyPath, result);
     ManifestResourceExtractor.ExtractFromAssembly(configuration, assemblyPath, result);
 }
コード例 #4
0
        /// <summary>
        /// Gets a complete list of customers associated with the partner.
        /// </summary>
        /// <param name="client">Provides the ability to interact with Partner Center.</param>
        /// <param name="environment">The environment that owns the customers be requesteed.</param>
        /// <returns>A list of customers associated with the partner.</returns>
        private static async Task <List <CustomerDetail> > GetCustomersAsync(
            IPartner client,
            EnvironmentDetail environment)
        {
            IResourceCollectionEnumerator <SeekBasedResourceCollection <Customer> > enumerator;
            List <CustomerDetail> customers;
            SeekBasedResourceCollection <Customer> seekCustomers;

            try
            {
                seekCustomers = await client.Customers.GetAsync().ConfigureAwait(false);

                enumerator = client.Enumerators.Customers.Create(seekCustomers);

                customers = new List <CustomerDetail>();


                while (enumerator.HasValue)
                {
                    customers.AddRange(enumerator.Current.Items.Select(c => ResourceConverter.Convert <Customer, CustomerDetail>(c)));
                    await enumerator.NextAsync().ConfigureAwait(false);
                }

                customers.ForEach(c => c.EnvironmentId = environment.Id);

                return(customers);
            }
            finally
            {
                seekCustomers = null;
            }
        }
コード例 #5
0
        /// <summary>
        /// Gets a complete list of customers associated with the partner.
        /// </summary>
        /// <param name="client">Provides the ability to interact with Partner Center.</param>
        /// <param name="environment">The environment that owns the customers be requesteed.</param>
        /// <returns>A list of customers associated with the partner.</returns>
        private static async Task <List <CustomerDetail> > GetCustomersAsync(
            IPartnerServiceClient client,
            EnvironmentDetail environment)
        {
            List <CustomerDetail> customers;
            SeekBasedResourceCollection <Customer> seekCustomers;

            try
            {
                // Request a list of customers from Partner Center.
                seekCustomers = await client.Customers.GetAsync().ConfigureAwait(false);

                customers = new List <CustomerDetail>(
                    seekCustomers.Items.Select(c => ResourceConverter.Convert <Customer, CustomerDetail>(c)));

                while (seekCustomers.Links.Next != null)
                {
                    // Request the next page of customers from Partner Center.
                    seekCustomers = await client.Customers.GetAsync(seekCustomers.Links.Next).ConfigureAwait(false);

                    customers.AddRange(seekCustomers.Items.Select(c => ResourceConverter.Convert <Customer, CustomerDetail>(c)));
                }

                customers.ForEach(c => c.EnvironmentId = environment.Id);

                return(customers);
            }
            finally
            {
                seekCustomers = null;
            }
        }
コード例 #6
0
ファイル: ConversionTests.cs プロジェクト: lIAceIl/Regolith
        public void Converters_Require_a_broker()
        {
            var broker = new FakeResourceBroker();
            var c      = new ResourceConverter(broker);

            Assert.IsNotNull(c);
        }
コード例 #7
0
        private void OnSerialize(StreamingContext context)
        {
            // Clear the embeddedResourceProperties in order to make this object re-serializable.
            embeddedResourceProperties.Clear();
#if DNX451
            if (!ResourceConverter.IsResourceConverterContext(context))
            {
                return;
            }
#endif

            var ctx = HalJsonConverterContext.Create();
            if (!ctx.IsRoot)
            {
                return;
            }

            var curies = new List <CuriesLink>();

            RepopulateRecursively(ctx.HypermediaResolver, curies);

            if (Links != null)
            {
                Links = curies
                        .Distinct(CuriesLink.EqualityComparer)
                        .Select(x => x.ToLink())
                        .Union(Links)
                        .ToList();
            }

            ctx.IsRoot = false;
        }
コード例 #8
0
ファイル: ResourceFileData.cs プロジェクト: ArtStudy/ToE2.0
        public void ReLoad(IBase obj)
        {
            var       typevalue = obj.GetType();
            FileTypes type      = ((TypeDataAttribute)obj.GetType().GetCustomAttributes(typeof(TypeDataAttribute), false)[0]).Type;

            if (this.Data[type].ContainsKey(obj))
            {
                var baseobj = this.Data[type][obj].Find((item) => item.FileType == type);
                var lr      = this.Data[type][obj];
                this.Data[type].Remove(obj);

                switch (type)
                {
                case FileTypes.Level:

                    var Levelresult = ResourceConverter.ResourceToLevel(baseobj, lr);
                    Data[type][Levelresult.Item1] = Levelresult.Item2;
                    break;

                case FileTypes.Boss:
                    var Bossresult = ResourceConverter.ResourceToBoss(baseobj, lr);

                    Data[type][Bossresult.Item1] = Bossresult.Item2;
                    break;

                case FileTypes.Question:

                    var Questionesult = ResourceConverter.ResourceToQuestion(baseobj, lr);

                    Data[type][Questionesult.Item1] = Questionesult.Item2;

                    break;

                case FileTypes.Language:
                    var LanguagePacresult = ResourceConverter.ResourceToLanguagePack(baseobj, lr);

                    Data[type][LanguagePacresult.Item1] = LanguagePacresult.Item2;
                    break;

                case FileTypes.Age:

                    var Ageresult = ResourceConverter.ResourceToAge(baseobj, lr);
                    Data[type][Ageresult.Item1] = Ageresult.Item2;
                    break;

                case FileTypes.InventoryItem:
                    var InventoryItemresult = ResourceConverter.ResourceToInventoryItem(baseobj, lr);

                    Data[type][InventoryItemresult.Item1] = InventoryItemresult.Item2;
                    break;

                case FileTypes.TextStyle:
                    var TextStyleresult = ResourceConverter.ResourceToTextStyle(baseobj, lr);

                    Data[type][TextStyleresult.Item1] = TextStyleresult.Item2;
                    break;
                }
            }
        }
コード例 #9
0
 public JsonHalMediaTypeOutputFormatter(
     JsonSerializerSettings serializerSettings,
     ArrayPool <char> charPool) :
     base(serializerSettings, charPool)
 {
     _resourceConverter = new ResourceConverter();
     Initialize();
 }
コード例 #10
0
 public void Reset()
 {
     this.sourceVessel                = null;
     this.resourceConverter           = null;
     this.otherVesselConversionRecipe = null;
     this.thisVesselConversionRecipe  = null;
     this.IsTransferUnderway          = false;
     this.IsTransferComplete          = false;
 }
コード例 #11
0
ファイル: ConversionTests.cs プロジェクト: xxApvxx/Regolith
 public void Should_be_able_to_account_for_delta_time()
 {
     var recipe = GetComplexRecipe();
     var results = GetComplexOutputWithDelta();
     var conv = new ResourceConverter(new FakeResourceBroker());
     var actual = conv.ProcessRecipe(0.5, recipe, null,1);
     var result = comp.Compare(results, actual);
     Assert.IsTrue(result.AreEqual);
 }
コード例 #12
0
ファイル: Environments.cs プロジェクト: CypBnk/PSO-Mod
        /// <summary>
        /// Gets a complete list of customers associated with the partner.
        /// </summary>
        /// <param name="client">Provides the ability to interact with Partner Center.</param>
        /// <param name="environment">The environment that owns the customers be requesteed.</param>
        /// <returns>A list of customers associated with the partner.</returns>
        private static async Task <List <CustomerDetail> > GetCustomersAsync(
            IPartnerServiceClient client,
            EnvironmentDetail environment)
        {
            Customer customer;
            Customer justOne;
            List <CustomerDetail> customers;
            SeekBasedResourceCollection <Customer> seekCustomers;

            try
            {
                // Request a list of customers from Partner Center.
                //seekCustomers = await client.Customers.GetAsync().ConfigureAwait(false);
                //
                //customers = new List<CustomerDetail>(
                //    seekCustomers.Items.Select(c => ResourceConverter.Convert<Customer, CustomerDetail>(c)));
                //
                //while (seekCustomers.Links.Next == null)
                //{
                // Request the next page of customers from Partner Center.
                //    seekCustomers = await client.Customers.GetAsync(seekCustomers.Links.Next).ConfigureAwait(false);

                //    customers.AddRange(seekCustomers.Items.Select(c => ResourceConverter.Convert<Customer, CustomerDetail>(c)));
                //}

                //customers.ForEach(c => c.EnvironmentId = environment.Id);
                customers = new List <CustomerDetail>();
                justOne   = await client.Customers[environment.Id].GetAsync().ConfigureAwait(false);
                customers.Add(ResourceConverter.Convert <Customer, CustomerDetail>(justOne));

                foreach (CustomerDetail c in customers)
                {
                    try
                    {
                        customer         = await client.Customers[c.Id].GetAsync().ConfigureAwait(false);
                        c.BillingProfile = customer.BillingProfile;
                        c.EnvironmentId  = environment.Id;

                        if (c.RemovedFromPartnerCenter == true)
                        {
                            c.LastProcessed = null;
                        }
                        c.RemovedFromPartnerCenter = false;
                    }
                    catch (ServiceClientException ex)
                    {
                        c.ProcessException = ex;
                    }
                }

                return(customers);
            }
            finally
            {
                seekCustomers = null;
            }
        }
コード例 #13
0
 public PartialJsonHalMediaTypeOutputFormatter(
     JsonSerializerSettings serializerSettings,
     ArrayPool <char> charPool,
     bool ignoreCase) :
     base(serializerSettings, charPool, ignoreCase)
 {
     resourceConverter = new ResourceConverter(serializerSettings);
     Initialize();
 }
コード例 #14
0
        public JsonHalMediaTypeOutputFormatter(JsonSerializerSettings serializerSettings, ArrayPool <char> charPool, IHypermediaResolver hypermediaResolver) : base(serializerSettings, charPool)
        {
            if (hypermediaResolver == null)
            {
                throw new ArgumentNullException(nameof(hypermediaResolver));
            }

            _resourceConverter = new ResourceConverter(hypermediaResolver);
            Initialize();
        }
コード例 #15
0
ファイル: ConversionTests.cs プロジェクト: xxApvxx/Regolith
 public void Should_be_able_to_perform_a_complex_multi_resource_conversion()
 {
     var recipe = GetComplexRecipe();
     var results = GetComplexOutput();
     var conv = new ResourceConverter(new FakeResourceBroker());
     //We'll start with a delta time of 1 second - the default.
     var actual = conv.ProcessRecipe(1, recipe, null,1);
     var result = comp.Compare(results, actual);
     Assert.IsTrue(result.AreEqual);
 }
コード例 #16
0
ファイル: ConversionTests.cs プロジェクト: lIAceIl/Regolith
        public void Should_be_able_to_account_for_delta_time()
        {
            var recipe  = GetComplexRecipe();
            var results = GetComplexOutputWithDelta();
            var conv    = new ResourceConverter(new FakeResourceBroker());
            var actual  = conv.ProcessRecipe(0.5, recipe, null, 1);
            var result  = comp.Compare(results, actual);

            Assert.IsTrue(result.AreEqual);
        }
コード例 #17
0
        public ManageResourcesView()
        {
            resources = ResourcesTableAdapter.getInstance();
            types     = ResourceTypeTableAdapter.getInstance();

            resourceConverter = new ResourceConverter();
            typeConverter     = new ResourceTypeConverter();

            InitializeComponent();
        }
コード例 #18
0
        public JsonHalMediaTypeFormatter(IHypermediaResolver hypermediaConfiguration)
        {
            if (hypermediaConfiguration == null)
            {
                throw new ArgumentNullException("hypermediaConfiguration");
            }

            resourceConverter = new ResourceConverter(hypermediaConfiguration);
            Initialize();
        }
コード例 #19
0
        //https://github.com/aspnet/Mvc/issues/4765

        public JsonHalMediaTypeInputFormatter(ILogger logger, JsonSerializerSettings serializerSettings, ArrayPool <char> charPool, ObjectPoolProvider objectPoolProvider, IHypermediaResolver hypermediaResolver) : base(logger, serializerSettings, charPool, objectPoolProvider)
        {
            if (hypermediaResolver == null)
            {
                throw new ArgumentNullException(nameof(hypermediaResolver));
            }

            _resourceConverter = new ResourceConverter(hypermediaResolver);
            Initialize();
        }
コード例 #20
0
        public JsonHalMediaTypeOutputFormatter(IHypermediaResolver hypermediaResolver)
        {
            if (hypermediaResolver == null)
            {
                throw new ArgumentNullException(nameof(hypermediaResolver));
            }

            _resourceConverter = new ResourceConverter(hypermediaResolver);
            Initialize();
        }
コード例 #21
0
        public virtual TranslationResult Translate(AssemblyTranslator translator, Configuration configuration, string assemblyPath, bool scanForProxies)
        {
            var result = translator.Translate(assemblyPath, scanForProxies);

            ResourceConverter.ConvertResources(configuration, assemblyPath, result);

            AssemblyTranslator.GenerateManifest(translator.Manifest, assemblyPath, result);

            return(result);
        }
コード例 #22
0
ファイル: ResourceFileData.cs プロジェクト: ArtStudy/ToE2.0
        public ResourceFileData(ToePackage pac)
        {
            for (int i = 0; i < pac.Items.Count; i++)
            {
                pac.Items[i].Data.Position = 0;


                switch (pac.Items[i].FileType)
                {
                case FileTypes.Level:

                    var Levelresult = ResourceConverter.ResourceToLevel(pac.Items[i], pac.Items);
                    Data[pac.Items[i].FileType][Levelresult.Item1] = Levelresult.Item2;
                    break;

                case FileTypes.Boss:
                    var Bossresult = ResourceConverter.ResourceToBoss(pac.Items[i], pac.Items);

                    Data[pac.Items[i].FileType][Bossresult.Item1] = Bossresult.Item2;
                    break;

                case FileTypes.Question:

                    var Questionesult = ResourceConverter.ResourceToQuestion(pac.Items[i], pac.Items);

                    Data[pac.Items[i].FileType][Questionesult.Item1] = Questionesult.Item2;

                    break;

                case FileTypes.Language:
                    var LanguagePacresult = ResourceConverter.ResourceToLanguagePack(pac.Items[i], pac.Items);

                    Data[pac.Items[i].FileType][LanguagePacresult.Item1] = LanguagePacresult.Item2;
                    break;

                case FileTypes.Age:
                    var Ageresult = ResourceConverter.ResourceToAge(pac.Items[i], pac.Items);

                    Data[pac.Items[i].FileType][Ageresult.Item1] = Ageresult.Item2;
                    break;

                case FileTypes.InventoryItem:
                    var InventoryItemresult = ResourceConverter.ResourceToInventoryItem(pac.Items[i], pac.Items);

                    Data[pac.Items[i].FileType][InventoryItemresult.Item1] = InventoryItemresult.Item2;
                    break;

                case FileTypes.TextStyle:
                    var TextStyleresult = ResourceConverter.ResourceToTextStyle(pac.Items[i], pac.Items);

                    Data[pac.Items[i].FileType][TextStyleresult.Item1] = TextStyleresult.Item2;
                    break;
                }
            }
        }
コード例 #23
0
        private void OnSerialize(StreamingContext context)
        {
            // Clear the embeddedResourceProperties in order to make this object re-serializable.
            embeddedResourceProperties.Clear();

            RepopulateHyperMedia();

            if (ResourceConverter.IsResourceConverterContext(context))
            {
                // put all embedded resources and lists of resources into Embedded for the _embedded serializer
                Embedded = new List <EmbeddedResource>();
                foreach (var prop in GetType().GetProperties().Where(p => IsEmbeddedResourceType(p.PropertyType)))
                {
                    var val = prop.GetValue(this, null);
                    if (val == null)
                    {
                        continue;
                    }
                    // remember embedded resource property for restoring after serialization
                    embeddedResourceProperties.Add(prop, val);
                    // add embedded resource to collection for the serializtion
                    var res = val as IResource;
                    var embeddedResource = new EmbeddedResource();
                    if (res != null)
                    {
                        embeddedResource.IsSourceAnArray = false;
                        embeddedResource.Resources.Add(res);
                        Embedded.Add(embeddedResource);
                    }
                    else
                    {
                        var resEnum = val as IEnumerable <IResource>;
                        if (resEnum != null)
                        {
                            var resList = resEnum.ToList();
                            if (resList.Count > 0)
                            {
                                embeddedResource.IsSourceAnArray = true;
                                foreach (var resElem in resList)
                                {
                                    embeddedResource.Resources.Add(resElem);
                                }
                                Embedded.Add(embeddedResource);
                            }
                        }
                    }
                    // null out the embedded property so it doesn't serialize separately as a property
                    prop.SetValue(this, null, null);
                }
                if (Embedded.Count == 0)
                {
                    Embedded = null;
                }
            }
        }
コード例 #24
0
ファイル: Representation.cs プロジェクト: danbarua/WebApi.Hal
 private void OnSerialized(StreamingContext context)
 {
     if (ResourceConverter.IsResourceConverterContext(context))
     {
         // restore embedded resource properties
         foreach (var prop in embeddedResourceProperties.Keys)
         {
             prop.SetValue(this, embeddedResourceProperties[prop], null);
         }
     }
 }
コード例 #25
0
ファイル: ConversionTests.cs プロジェクト: lIAceIl/Regolith
        public void Should_be_able_to_perform_a_complex_multi_resource_conversion()
        {
            var recipe  = GetComplexRecipe();
            var results = GetComplexOutput();
            var conv    = new ResourceConverter(new FakeResourceBroker());
            //We'll start with a delta time of 1 second - the default.
            var actual = conv.ProcessRecipe(1, recipe, null, 1);
            var result = comp.Compare(results, actual);

            Assert.IsTrue(result.AreEqual);
        }
コード例 #26
0
        public void InsertedResourceConverterIsCalled()
        {
            var options   = new JsonSerializerOptions();
            var converter = new ResourceConverter();

            options.AddJsonApi();
            options.Converters.Insert(0, converter);

            Json.Deserialize <Article>(options);

            Assert.True(converter.ReadCalled);
        }
コード例 #27
0
        public void AppendedResourceConverterNeverCalled()
        {
            var options   = new JsonSerializerOptions();
            var converter = new ResourceConverter();

            options.AddJsonApi();
            options.Converters.Add(converter);

            Json.Deserialize <Article>(options);

            Assert.False(converter.ReadCalled);
        }
コード例 #28
0
        public static void Save()
        {
            TPSaves.Items.Clear();

            TPSaves.Items.AddRange(ResourceConverter.ToResource(SaveLevelData));

            TPSaves.Items.AddRange(ResourceConverter.ToResource(SaveUserData));
            using (var fs = new FileStream(path, FileMode.OpenOrCreate))
            {
                fs.SetLength(0);
                TPSaves.Serialization().WriteTo(fs);
            }

            ;
        }
コード例 #29
0
        public override TranslationResult Translate(
            VariableSet variables, AssemblyTranslator translator, Configuration configuration, string assemblyPath, bool scanForProxies
            )
        {
            var result = translator.Translate(assemblyPath, scanForProxies);

            ResourceConverter.ConvertResources(configuration, assemblyPath, result);

            result.AddFile("Script", "XNA.Colors.js", new ArraySegment <byte>(Encoding.UTF8.GetBytes(
                                                                                  Common.MakeXNAColors()
                                                                                  )), 0);

            AssemblyTranslator.GenerateManifest(translator.Manifest, assemblyPath, result);

            return(result);
        }
コード例 #30
0
ファイル: ResourceFileData.cs プロジェクト: ArtStudy/ToE2.0
        public void Save(IBase obj)
        {
            FileTypes    type = ((TypeDataAttribute)obj.GetType().GetCustomAttributes(typeof(TypeDataAttribute), false)[0]).Type;
            ListResourse lr   = null;

            switch (type)
            {
            case FileTypes.Level:

                lr = ResourceConverter.ToResource((ILevel)obj);
                break;

            case FileTypes.Boss:
                lr = ResourceConverter.ToResource((IBoss)obj);
                break;

            case FileTypes.Question:

                lr = ResourceConverter.ToResource((IQuestion)obj);

                break;

            case FileTypes.Language:
                lr = ResourceConverter.ToResource((ILanguagePack)obj);
                break;

            case FileTypes.Age:

                lr = ResourceConverter.ToResource((IAge)obj);
                break;

            case FileTypes.InventoryItem:

                lr = ResourceConverter.ToResource((IInventoryItem)obj);
                break;

            case FileTypes.TextStyle:

                lr = ResourceConverter.ToResource((ITextStyle)obj);
                break;
            }



            Data[type][obj] = lr;
        }
コード例 #31
0
    private void SetBuildingComponents(GameObject build, bool state)
    {
        BoxCollider boxCollider = build.GetComponent <BoxCollider>();

        if (boxCollider)
        {
            boxCollider.enabled = state;
        }

        ResourceCollector resourceCollector = build.GetComponent <ResourceCollector>();

        if (resourceCollector)
        {
            resourceCollector.enabled = state;
        }

        ResourceConverter resourceConverter = build.GetComponent <ResourceConverter>();

        if (resourceConverter)
        {
            resourceConverter.enabled = state;
        }

        AgentSpawner agentSpawner = build.GetComponent <AgentSpawner>();

        if (agentSpawner)
        {
            agentSpawner.enabled = state;
        }

        Animator animator = build.GetComponent <Animator>();

        if (animator)
        {
            animator.enabled = state;
        }

        TreeSibling treeSibling = build.GetComponent <TreeSibling>();

        if (treeSibling)
        {
            treeSibling.enabled = state;
        }
    }
コード例 #32
0
        private static async Task <List <CustomerDetail> > BuildUsingAuditRecordsAsync(
            List <AuditRecord> auditRecords,
            IDocumentRepository <CustomerDetail> repository)
        {
            IEnumerable <AuditRecord> filteredRecords;
            List <CustomerDetail>     resources;
            CustomerDetail            control;
            Customer resource;

            try
            {
                // Extract a list of audit records that are scope to the defined resource type and were successful.
                filteredRecords = auditRecords
                                  .Where(r => r.ResourceType == ResourceType.Customer && r.OperationStatus == OperationStatus.Succeeded)
                                  .OrderBy(r => r.OperationDate);

                resources = await repository.GetAsync().ConfigureAwait(false);

                foreach (AuditRecord record in filteredRecords)
                {
                    if (record.OperationType == OperationType.AddCustomer)
                    {
                        resource = JsonConvert.DeserializeObject <Customer>(record.ResourceNewValue);
                        control  = resources.SingleOrDefault(r => r.Id.Equals(resource.Id, StringComparison.InvariantCultureIgnoreCase));

                        if (control != null)
                        {
                            resources.Remove(control);
                        }

                        resources.Add(ResourceConverter.Convert <Customer, CustomerDetail>(resource));
                    }
                }

                return(resources);
            }
            finally
            {
                control         = null;
                filteredRecords = null;
                resource        = null;
            }
        }
コード例 #33
0
ファイル: ResourceManager.cs プロジェクト: keyvank/i3dml
 /// <summary>
 /// Sets the a resource's converter.
 /// </summary>
 /// <param name="t">Resource type</param>
 /// <param name="c">The converter</param>
 public static void SetResourceConverter(ResourceType t, ResourceConverter c)
 {
     if (!ResourceConverters.ContainsKey(t))
         ResourceConverters.Add(t, c);
     else
         ResourceConverters[t] = c;
 }
コード例 #34
0
ファイル: ConversionTests.cs プロジェクト: xxApvxx/Regolith
 public void Converters_Require_a_broker()
 {
     var broker = new FakeResourceBroker();
     var c = new ResourceConverter(broker);
     Assert.IsNotNull(c);
 }
コード例 #35
0
ファイル: ConversionTests.cs プロジェクト: xxApvxx/Regolith
 public void Should_be_able_to_establish_a_converter()
 {
     var conv = new ResourceConverter(null);
     Assert.IsNotNull(conv);
 }