Exemplo n.º 1
0
 public InMemoryMembershipTable(DeepCopier deepCopier)
 {
     this.deepCopier = deepCopier;
     siloTable       = new Dictionary <SiloAddress, Tuple <MembershipEntry, string> >();
     lastETagCounter = 0;
     tableVersion    = new TableVersion(0, NewETag());
 }
        //Action
        public void MakeTheCheckedBill(string path, string course, string pathtosave)
        {
            DeepCopier copier = new DeepCopier();

            GetDataFromBill(path);
            GammaMod.GetAll();
            foreach (var billposition in bills)
            {
                FurcomMod.GetByName(billposition.Name.GeneralName);
                FurcomIdReceiver IdReceiver      = new FurcomIdReceiver();
                FurcomModel      loc             = (FurcomModel)FurcomMod;
                string           id              = IdReceiver.GetIdFromFurcomProductDescr(loc.SelectedData[0].Description);
                CheckerGammaList GetterFromGamma = new CheckerGammaList();
                GammaModel       loc2            = (GammaModel)GammaMod;
                GetterFromGamma.FindOfferInGammaBase(id, loc2.SelectedData);
                offer    result      = GetterFromGamma.FoundOffer;
                BillData newbilldata = copier.DeepClone <BillData>(billposition); //  это надо проверить
                decimal  targetprice = ConvertRURintoBYN(course, result.Price);
                ChangeBillDataAmounts(newbilldata, targetprice);
                OutputBills.Add(newbilldata);
            }
            BillFormer former = new BillFormer();

            former.FormBill(pathtosave, OutputBills, Raredata);
        }
Exemplo n.º 3
0
        public async Task SaveSnapshotAsync(IAggregateRoot aggregateRoot, Type aggregateRootType, int publishedVersion)
        {
            if (aggregateRoot == null)
            {
                throw new ArgumentNullException(nameof(aggregateRoot));
            }

            if (publishedVersion % _aggregateSnapshotConfiguration.VersionInterval != 0)
            {
                return;
            }

            var copiedAggregateRoot   = DeepCopier.Copy(aggregateRoot);
            var aggregateRootJson     = _aggregateSnapshotSerializer.Serialize(copiedAggregateRoot);
            var aggregateRootTypeName = _typeNameProvider.GetTypeName(aggregateRootType);
            var snapshot = new Snapshot()
            {
                CreationTime          = DateTime.UtcNow,
                ModificationTime      = DateTime.UtcNow,
                AggregateRootId       = copiedAggregateRoot.UniqueId,
                AggregateRootTypeName = aggregateRootTypeName,
                Version           = copiedAggregateRoot.Version,
                SerializedPayload = aggregateRootJson,
            };
            var sql = string.Format(InsertOrUpdateSnapshotSql, _snapshotRepository.GetTableName(snapshot.AggregateRootId));

            using (var connection = _snapshotRepository.GetConnection())
            {
                await connection.ExecuteAsync(sql, snapshot);
            }
        }
        public static Dictionary <string, object> Export(DeepCopier copier)
        {
            var values = RequestContext.CallContextData.Value;

            if (RequestContext.PropagateActivityId)
            {
                var activityIdOverride = Trace.CorrelationManager.ActivityId;
                if (activityIdOverride != Guid.Empty)
                {
                    object existingActivityId;
                    if (values == null ||
                        !values.TryGetValue(RequestContext.E2_E_TRACING_ACTIVITY_ID_HEADER, out existingActivityId) ||
                        activityIdOverride != (Guid)existingActivityId)
                    {
                        // Create new copy before mutating data
                        values = values == null ? new Dictionary <string, object>() : new Dictionary <string, object>(values);
                        values[RequestContext.E2_E_TRACING_ACTIVITY_ID_HEADER] = activityIdOverride;
                    }
                }
            }

            return((values != null && values.Count > 0)
                ? copier.Copy(values)
                : null);
        }
 public MethodInfos()
 {
     GetUninitializedObject = GetFuncCall(() => FormatterServices.GetUninitializedObject(typeof(int)));
     GetTypeFromHandle      = GetFuncCall(() => Type.GetTypeFromHandle(typeof(Type).TypeHandle));
     CopyInner    = GetFuncCall(() => DeepCopier.Copy(default(object), default)).GetGenericMethodDefinition();
     TryGetCopy   = typeof(DeepCopyContext).GetMethod("TryGetCopy");
     RecordObject = GetActionCall((DeepCopyContext ctx) => ctx.RecordCopy(default, default));
Exemplo n.º 6
0
 public void DeepCopy()
 {
     for (var i = 0; i < Count; i++)
     {
         DeepCopier.Copy(Price);
     }
 }
Exemplo n.º 7
0
        public void ImmutableWrapperTypesAreNotCopied()
        {
            var original = Immutable.Create(new object[] { 123, "hello!" });
            var result   = DeepCopier.Copy(original);

            Assert.Same(original.Value, result.Value);
        }
Exemplo n.º 8
0
 internal SimpleMessageStreamProducer(
     StreamImpl <T> stream,
     string streamProviderName,
     IStreamProviderRuntime providerUtilities,
     bool fireAndForgetDelivery,
     bool optimizeForImmutableData,
     IStreamPubSub pubSub,
     IStreamFilter streamFilter,
     bool isRewindable,
     DeepCopier <T> deepCopier,
     ILogger <SimpleMessageStreamProducer <T> > logger)
 {
     this.stream                   = stream;
     this.streamProviderName       = streamProviderName;
     providerRuntime               = providerUtilities;
     this.pubSub                   = pubSub;
     this.streamFilter             = streamFilter;
     this.deepCopier               = deepCopier;
     connectedToRendezvous         = false;
     this.fireAndForgetDelivery    = fireAndForgetDelivery;
     this.optimizeForImmutableData = optimizeForImmutableData;
     IsRewindable                  = isRewindable;
     isDisposed  = false;
     initLock    = new AsyncLock();
     this.logger = logger;
     ConnectToRendezvous().Ignore();
 }
Exemplo n.º 9
0
        public void CanCopyStrings()
        {
            var original = "hello!";
            var result   = DeepCopier.Copy(original);

            Assert.Same(original, result);
        }
Exemplo n.º 10
0
        public void CanCopyIntegers()
        {
            var original = 123;
            var result   = DeepCopier.Copy(original);

            Assert.Equal(original, result);
        }
 public static T DeepCopy <T>(T value, DeepCopyOptions options = DeepCopyOptions.DeepCopier)
 {
     return(options switch
     {
         DeepCopyOptions.DeepCopier => DeepCopier.Copy(value),
         DeepCopyOptions.ExpressionCopier => ExpressionCopier <T> .Copy(value),
         _ => ExpressionCopier <T> .Copy(value)
     });
 public SimpleStreamEventDataGenerator(StreamId streamId, ILogger <SimpleStreamEventDataGenerator> logger, DeepCopier deepCopier, Serializer serializer)
 {
     this.StreamId      = streamId;
     this.logger        = logger;
     this.ShouldProduce = true;
     this.deepCopier    = deepCopier;
     this.serializer    = serializer;
 }
 public ErrorInjectionStorageProvider(
     ILogger <ErrorInjectionStorageProvider> logger,
     ILoggerFactory loggerFactory,
     DeepCopier copier) : base(loggerFactory, copier)
 {
     this.logger = logger;
     SetErrorInjection(ErrorInjectionBehavior.None);
 }
Exemplo n.º 14
0
        public void CanCopyArraysTwoDimensional()
        {
            var original = new object[][] { new object[] { 123, "hello!" }, new object[] { 123, "hello!" } };
            var result   = DeepCopier.Copy(original);

            Assert.Equal(original, result);
            Assert.NotSame(original, result);
        }
Exemplo n.º 15
0
        public void CanCopyPrimitiveArrays()
        {
            var original = new int[] { 1, 2, 3 };
            var result   = DeepCopier.Copy(original);

            Assert.Equal(original, result);
            Assert.NotSame(original, result);
        }
Exemplo n.º 16
0
        public void CanCopyMutableKeyValuePair()
        {
            var original = new KeyValuePair <string, Poco>("Hello", new Poco());
            var result   = DeepCopier.Copy(original);

            Assert.Same(original.Key, result.Key);
            Assert.NotSame(original.Value, result.Value);
        }
Exemplo n.º 17
0
        public INode GetTraversedTree(List <bool> answers)
        {
            //Deep Clone Original Data Source.
            INode node = DeepCopier.Copy(_dataSource.DecisionTree);

            //node = node.DeepClone();
            GetTraversedTree(answers.ToList(), ref node);
            return(node);
        }
Exemplo n.º 18
0
        public void CanCopyMutableValueTupleRest()
        {
            var original = new ValueTuple <int, string, double, int, string, double, int, ValueTuple <Poco> >(5, "hello",
                                                                                                              1d, 2, "world", 3d, 7,
                                                                                                              new ValueTuple <Poco>(new Poco()));
            var result = DeepCopier.Copy(original);

            Assert.NotEqual(original.Rest, result.Rest);
        }
Exemplo n.º 19
0
        public void ReferencesInArraysArePreserved()
        {
            var poco     = new Poco();
            var original = new[] { poco, poco };

            var result = DeepCopier.Copy(original);

            Assert.NotSame(original, result);
            Assert.Same(result[0], result[1]);
        }
Exemplo n.º 20
0
 public MembershipTableSystemTarget(
     ILocalSiloDetails localSiloDetails,
     ILoggerFactory loggerFactory,
     DeepCopier deepCopier)
     : base(CreateId(localSiloDetails), localSiloDetails.SiloAddress, lowPriority: false, loggerFactory)
 {
     logger = loggerFactory.CreateLogger <MembershipTableSystemTarget>();
     table  = new InMemoryMembershipTable(deepCopier);
     logger.Info(ErrorCode.MembershipGrainBasedTable1, "GrainBasedMembershipTable Activated.");
 }
Exemplo n.º 21
0
        public void ImmutableTypesAreNotCopied()
        {
            var original = new ImmutablePoco {
                Reference = new object[] { 123, "hello!" }
            };
            var result = DeepCopier.Copy(original);

            Assert.Same(original.Reference, result.Reference);
            Assert.Same(original, result);
        }
Exemplo n.º 22
0
        public void CanCopyPrimitiveArraysRank3()
        {
            var original = new int[, , ] {
                { { 12, 2, 35 }, { 300, 78, 33 } }, { { 92, 42, 135 }, { 30, 7, 3 } }
            };
            var result = DeepCopier.Copy(original);

            Assert.Equal(original, result);
            Assert.NotSame(original, result);
        }
Exemplo n.º 23
0
        internal static object OrleansSerializationLoop(Serializer serializer, DeepCopier copier, object input, bool includeWire = true)
        {
            var copy = copier.Copy(input);

            if (includeWire)
            {
                copy = serializer.RoundTripSerializationForTesting(copy);
            }
            return(copy);
        }
Exemplo n.º 24
0
        public void CanCopyArraysRank3()
        {
            var original = new object[, , ] {
                { { "Hello", 2, "World" }, { 300.0f, "World", 33 } }, { { 92, 5.0m, 135 }, { 30, true, 3 } }
            };
            var result = DeepCopier.Copy(original);

            Assert.Equal(original, result);
            Assert.NotSame(original, result);
        }
Exemplo n.º 25
0
        public void RegressionTest_20()
        {
            var original = new Dictionary <int, Component>()
            {
                { 1, new Component() },
            };
            var result = DeepCopier.Copy(original);

            GC.GetTotalMemory(true); // force full GC
        }
Exemplo n.º 26
0
        public void CanCopyInterfaceField()
        {
            PocoWithInterface original = new PocoWithInterface();

            original.Collection.Add("A");

            var result = DeepCopier.Copy(original);

            Assert.NotSame(original, result);
            Assert.NotSame(original.Collection, result.Collection);
        }
Exemplo n.º 27
0
        public TypeWeaver(TypeDefinition originTypeDef, TypeDefinition destinationTypeDef)
        {
            this.DestinationType = destinationTypeDef;
            this.OriginType = originTypeDef;
            this.NamePrefix = "";

            instructions = new List<Instruction>();
            referenceMap = new Dictionary<MemberReference,MemberReference>();
            constants = new Dictionary<FieldReference, object>();
            copier = new DeepCopier(this);
        }
Exemplo n.º 28
0
        public void CanCopyCyclicObjects()
        {
            var original = new Poco();

            original.Reference = original;

            var result = DeepCopier.Copy(original);

            Assert.NotSame(original, result);
            Assert.Same(result, result.Reference);
        }
Exemplo n.º 29
0
        public void CanCopyCyclicObjectsWithBaseSibling()
        {
            var original = new CyclicPocoWithBaseSibling();

            original.BaseSibling = original;

            var result = DeepCopier.Copy(original);

            Assert.NotSame(original, result);
            Assert.Same(result, result.BaseSibling);
        }
Exemplo n.º 30
0
        public void CanCopyCyclicObjectsWithChildren()
        {
            var original = new CyclicPocoWithChildren();

            original.Children.Add(original);

            var result = DeepCopier.Copy(original);

            Assert.NotSame(original, result);
            Assert.Same(result, result.Children[0]);
        }
Exemplo n.º 31
0
        public void CanCopyBaseClassField()
        {
            PocoWithBaseClass original =
                new PocoWithBaseClass(new DerivedChildClass());


            var result = DeepCopier.Copy(original);

            Assert.NotSame(original, result);
            Assert.NotSame(original.Child, result.Child);
        }
Exemplo n.º 32
0
        static void Main(string[] args)
        {
            log4net.Config.BasicConfigurator.Configure();

            var options = new Options();
            var parseSuccess = CommandLine.Parser.Default.ParseArguments(args, options);
            if (parseSuccess)
            {
                var appState = new ApplicationState();
                var copier = new DeepCopier();
                var resxReader = new ResxReader(appState, null);
                var jsonHelper = new JsonHelper();
                var converter = new ResxToJsConverter(copier, resxReader, jsonHelper, appState, null);
                converter.Convert(options);
                DisplayErrorMessages(appState);
            }
            else
            {
                Console.WriteLine("An error occurred while parsing the options.");
            }

            ////Console.ReadLine();
        }
Exemplo n.º 33
0
 private void Merge(DeepCopier copier, Collection<Instruction>def1, Collection<Instruction> def2)
 {
     //TODO dont override destination instructions always, we migth gona need prepend
     def2.Clear();
     foreach(var i in def1){
         def2.Add(copier.Copy(i));
     }
 }
Exemplo n.º 34
0
        private MethodReturnType Copy(DeepCopier copier, MethodReturnType def, IMethodSignature parent)
        {
            var ret= new MethodReturnType(parent);
            ret.ReturnType = CopyReference(copier,def.ReturnType);

            copier.Log("< MethodReturnType ");
            copier.CopyAll(def,ret,ret,"Method","ReturnType");

            return ret;
        }
Exemplo n.º 35
0
 private void Merge(DeepCopier copier, Collection<CustomAttribute>def1, Collection<CustomAttribute> def2)
 {
 }
Exemplo n.º 36
0
 private void MergeReference(DeepCopier copier, FieldReference @ref1, FieldReference @ref2)
 {
 }
Exemplo n.º 37
0
 private void MergeReference(DeepCopier copier, PropertyReference @ref1, PropertyReference @re2)
 {
 }
Exemplo n.º 38
0
 private void Merge(DeepCopier copier, Collection<MethodReference>def1, Collection<MethodReference> def2)
 {
 }
Exemplo n.º 39
0
 private void Merge(DeepCopier copier, Collection<GenericParameter>def1, Collection<GenericParameter> def2)
 {
 }
Exemplo n.º 40
0
 private void Merge(DeepCopier copier, ParameterDefinition def1, ParameterDefinition def2)
 {
     copier.MergeAll(def1,def2,def2,"Name", "Method","ParameterType","MetadataToken", "Module");
 }
Exemplo n.º 41
0
 private void Merge(DeepCopier copier, VariableDefinition def1, VariableDefinition def2)
 {
     copier.MergeAll(def1,def2,def2,"VariableType");
 }
Exemplo n.º 42
0
 private void Merge(DeepCopier copier, MethodDefinition def1, MethodDefinition def2)
 {
     copier.MergeAll(def1,def2,def2,"Name","DeclaringType","ReturnType","MetadataToken", "Module", "Attributes");
 }
Exemplo n.º 43
0
 private void Merge(DeepCopier copier, TypeDefinition def1, TypeDefinition def2)
 {
     copier.MergeAll(def1,def2,def2,"Name","DeclaringType","BaseType","MetadataToken", "Module");
 }
Exemplo n.º 44
0
 private void Merge(DeepCopier copier, PropertyDefinition def1, PropertyDefinition def2)
 {
     copier.MergeAll(def1,def2,def2,"Name","DeclaringType","PropertyType","MetadataToken", "Module", "Attributes");
 }
Exemplo n.º 45
0
 private GenericInstanceType CopyReference(DeepCopier copier, GenericInstanceType def)
 {
     return CopyReference(copier,def);
 }
Exemplo n.º 46
0
        private TypeReference CopyReference(DeepCopier copier, TypeReference @ref)
        {
            if(@ref.Scope == OriginType.Scope){
                if(copier.CopyMap.ContainsKey(@ref))
                    return  (TypeReference)copier.CopyMap[@ref];
                if(referenceMap.ContainsKey(@ref))
                    return  (TypeReference)referenceMap[@ref];
                throw new Exception("Cannot find Type "[email protected]+". Try to Copy/Merge/Map it first.");
            }

            copier.Log("Importing "[email protected]+ " from "+ @ref.Scope.Name);
            return DestinationType.Module.Import(@ref);
        }
Exemplo n.º 47
0
 private void Merge(DeepCopier copier, Collection<ExceptionHandler>def1, Collection<ExceptionHandler> def2)
 {
 }
Exemplo n.º 48
0
 private void Merge(DeepCopier copier, CustomAttribute def1, CustomAttribute def2)
 {
     copier.MergeAll(def1,def2,def2,"DeclaringType");
 }
Exemplo n.º 49
0
 private void Merge(DeepCopier copier, Collection<VariableDefinition>def1, Collection<VariableDefinition> def2)
 {
     //TODO dont override destination instructions always
     def2.Clear();
     foreach(var v in def1){
         def2.Add(copier.Copy(v));
     }
 }
Exemplo n.º 50
0
 private void Merge(DeepCopier copier, GenericInstanceType def1, GenericInstanceType def2)
 {
 }
Exemplo n.º 51
0
 private void Merge(DeepCopier copier, Collection<MethodDefinition>def1, Collection<MethodDefinition> def2)
 {
 }
Exemplo n.º 52
0
 private void Merge(DeepCopier copier, Mono.Cecil.Cil.MethodBody def1, Mono.Cecil.Cil.MethodBody def2)
 {
     copier.MergeAll(def1,def2,def2,"Method");
 }
Exemplo n.º 53
0
 private void Merge(DeepCopier copier, Collection<ParameterDefinition>def1, Collection<ParameterDefinition> def2)
 {
     //check if different
 }
Exemplo n.º 54
0
 private void Merge(DeepCopier copier, MethodReturnType def1, MethodReturnType def2)
 {
     copier.MergeAll(def1,def2,def2,"Method","ReturnType");
 }
Exemplo n.º 55
0
 private void MergeReference(DeepCopier copier, MethodReference @ref1, MethodReference @re2)
 {
 }
Exemplo n.º 56
0
        /*
        private void  Merge(DeepCopier copier, ExceptionHandler def1, ExceptionHandler def2)
        {
            copier.MergeAll(def1,def2,def2,"CatchType");
        }

        private void Merge(DeepCopier copier, Instruction def, Instruction def)
        {
            if(!instructions.Contains(def)){
                if( def.Operand is MemberReference){
                    instructions.Add(def);
                }
            }
            return def;
        }
        */
        private void Merge(DeepCopier copier, Collection<SecurityDeclaration>def1, Collection<SecurityDeclaration> def2)
        {
        }
Exemplo n.º 57
0
 private void MergeReference(DeepCopier copier, TypeReference @ref1, TypeReference @re2)
 {
 }
Exemplo n.º 58
0
 private System.Byte[] Copy(DeepCopier copier, System.Byte[] value)
 {
     return value;
 }
Exemplo n.º 59
0
        private ExceptionHandler Copy(DeepCopier copier, ExceptionHandler def)
        {
            var ret= new ExceptionHandler(def.HandlerType);
            if(def.CatchType != null)
                ret.CatchType = CopyReference(copier,def.CatchType);

            copier.Log("< ExceptionHandler ");
            copier.CopyAll(def,ret,ret,"CatchType");

            return ret;
        }
Exemplo n.º 60
0
 private Instruction Copy(DeepCopier copier, Instruction def)
 {
     //copy of operands is delayed to ProcessInstructions
     Instruction ret= null;
     if(def.Operand == null){
         ret = Instruction.Create(def.OpCode);
     } else {
         var methodInfo = typeof(Instruction).GetMethod("Create",new Type[]{def.OpCode.GetType(),def.Operand.GetType()});
         ret = (Instruction) methodInfo.Invoke(null,new object[]{def.OpCode,def.Operand});
     }
     instructions.Add(ret);
     return ret;
 }