public void TestMethod1()
        {
            try
            {
                string           fileName           = ResourceStreamHelper.WriteEmbeddedResourceToTempFile(m_Assembly, MNameSpaceName, ResourceName);
                IList <ExcelRow> list               = GenerateUtil.ReadSheet(fileName, "GSP", m_ColumnNames, SpreadsheetRowResolver);
                const string     PaymentDossierId   = "PaymentDossierId: ";
                const string     AffiliateSynergyID = "AffiliateSynergyID: ";
                foreach (ExcelRow excelRow in list)
                {
                    Console.WriteLine(PaymentDossierId + excelRow.PaymentDossierID);
                    Console.WriteLine(AffiliateSynergyID + excelRow.AffiliateSynergyId);
                }

                Assert.IsNotNull(list);
            }
            catch (Exception exc)
            {
                if (exc.Message.Contains(@"The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."))
                {
                    Console.WriteLine(@"SpreadSheetTest not correctly run because there is no Microsoft.ACE.OLEDB.12.0 provider registered!");
                }
                else
                {
                    throw;
                }
            }
        }
Exemplo n.º 2
0
        private void btnPrint_Click(object sender, RoutedEventArgs e)
        {
            var dataTable      = GenerateUtil.GenerateDataTable1 <QueryRightRowViewModel>(headers, viewModel.RecordCollection);
            var columnWidths   = headers.Select(x => x.Item3 * 0.51).ToList();
            var ht             = new HeaderTemplate();
            var headerTemplate = XamlWriter.Save(ht);
            var printControl   = PrintControlFactory.Create(dataTable, columnWidths, headerTemplate);

            printControl.ShowPrintPreview();
        }
        public static void GenerateChangeGroup(JToken configJToken)
        {
            //路径
            string       root           = Program.ProjectRootPath;
            string       gangsterRes000 = Program.VersionFolder;
            var          resourcePath   = root + "\\" + gangsterRes000 + "\\";
            List <Group> listGroup      = new List <Group>();

            GenerateUtil.GenerateConfig(listGroup, configJToken["assetsGroups"], resourcePath);
            AssetOperation.ListChangeGroup = listGroup;
        }
        public static List <OverridableMemberInstance> GetMissingMembersOf(
            this IClassLikeDeclaration declaration,
            IClrTypeName baseClassName)
        {
            Contract.Requires(declaration != null);
            Contract.Requires(declaration.DeclaredElement != null);
            Contract.Requires(baseClassName != null);
            Contract.Requires(baseClassName.FullName != null);


            Contract.Ensures(Contract.Result <List <OverridableMemberInstance> >() != null);

            var potentialOverrides =
                GenerateUtil.GetOverridableMembersOrder(declaration.DeclaredElement, false)
                .Where(e => e.DeclaringType.GetClrName().FullName ==
                       baseClassName.FullName)
                // This code provides two elements for property! So I'm trying to remove another instance!
                .Where(x => !x.Member.ShortName.StartsWith("get_"))
                .Where(x => !x.Member.ShortName.StartsWith("set_"))
                .ToList();

            var alreadyOverriden = new HashSet <OverridableMemberInstance>(
                declaration.GetOverridenMembers());

            var notOverridenMembers = new List <OverridableMemberInstance>();

            foreach (var member in potentialOverrides)
            {
                if (!alreadyOverriden.Contains(member))
                {
                    notOverridenMembers.Add(member);
                }
            }

            return(notOverridenMembers);
        }
Exemplo n.º 5
0
 public string Generate(Request request)
 {
     return(GenerateUtil.GenerateReactCode(request));
 }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            try
            {
                // instance 생성
                DynamicClass dynamicClass = new DynamicClass();

                // NameSpace 정의
                string nameSpace = "XyncStudio";
                dynamicClass.AddNameSpace(nameSpace);

                // 추가할 Using
                string[] imports = { "InterfaceLib", "System", "System.Collections.Generic" };

                // 상속받을 Interface
                string[] references = { "IPosition", "IID" };

                // Class 생성
                dynamicClass.AddClass(nameSpace, "StepNode", TypeAttributes.Public, imports, references);

                // Method 추가
                string[]    expressions = { };
                Parameter[] param       = { };
                dynamicClass.AddMethod("StepNode", "SetPosition", System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.Final, "", expressions, param);

                // Variable
                // Double 타입 public 변수
                dynamicClass.AddVariable("StepNode", "width", Enumeration.VARIABLE_TYPE.Double.ToString(), MemberTypes.Field, System.CodeDom.MemberAttributes.Public);

                // Int32 static private변수
                dynamicClass.AddVariable("StepNode", "height", Enumeration.VARIABLE_TYPE.Int32.ToString(), MemberTypes.Field, System.CodeDom.MemberAttributes.Private | System.CodeDom.MemberAttributes.Static);

                // string const private 변수
                dynamicClass.AddVariable("StepNode", "nodeName", Enumeration.VARIABLE_TYPE.String.ToString(), MemberTypes.Field, System.CodeDom.MemberAttributes.Private);

                // 일반 적인 { get; set; } 형태
                dynamicClass.AddVariable("StepNode", "TestProperty", Enumeration.VARIABLE_TYPE.String.ToString(), MemberTypes.Property, System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.Final);

                // private 변수를 가지는 Get Set
                dynamicClass.AddVariable("StepNode", "TestProperty2", Enumeration.VARIABLE_TYPE.String.ToString(), MemberTypes.Property, System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.Final, false);

                dynamicClass.AddVariable("StepNode", "Id", "Guid", MemberTypes.Property, System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.Final);

                dynamicClass.AddVariable("StepNode", "Properties", "List<string>", MemberTypes.Field, System.CodeDom.MemberAttributes.Public);

                //
                string getMessage = string.Format($"Properties.Find(x => x == {'"'}Test{'"'});\n" + "int a = 0;");
                // private 변수를 가지는 Get Set
                dynamicClass.AddVariable("StepNode", "TestString", Enumeration.VARIABLE_TYPE.String.ToString(), MemberTypes.Property, System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.Final, getMessage);

                // Compile 할때 필요한 Dll 을 Parameter 로
                Assembly assem = dynamicClass.CompileSource("System.dll", "InterfaceLib.dll");

                if (assem != null)
                {
                    Type fType = assem.GetTypes()[0];
                    Type iType = fType.GetInterface("InterfaceLib.IPosition");

                    if (iType != null)
                    {
                        InterfaceLib.IPosition position = (IPosition)assem.CreateInstance(fType.FullName);
                        position.SetPosition();
                    }
                }

                Console.WriteLine($"NameSpace : {dynamicClass.TargetUnit.Namespaces[0].Name}");

#if DEBUG
                GenerateUtil.GenerateCSFile($"..\\Debug\\StepNode.cs", dynamicClass.TargetUnit);
#else
                GenerateUtil.GenerateCSFile($"..\\Release\\StepNode.cs", dynamicClass.TargetUnit);
#endif
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            try
            {
                // instance 생성
                DynamicClass dynamicClass = new DynamicClass();

                #region NameSpace, import, implement, class 생성
                // NameSpace 정의
                string nameSpace = "XyncStudio";
                dynamicClass.AddNameSpace(nameSpace);

                // 추가할 Using
                string[] imports = { "InterfaceLib", "System", "System.Collections.Generic" };

                // 상속받을 Interface
                string[] references = { "IPosition", "IID" };

                // Class 생성
                dynamicClass.AddClass(nameSpace, "StepNode", TypeAttributes.Public, imports, references);
                #endregion

                #region Add Method
                // Method 추가
                string[]    expressions = { };
                Parameter[] param       = { };
                dynamicClass.AddMethod("StepNode", "SetPosition", System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.Final, typeof(void), expressions, param);

                string[]    expressions1 = { "return a + b;" };
                Parameter[] param1       = { new Parameter(typeof(int), "a"), new Parameter(typeof(int), "b") };
                dynamicClass.AddMethod("StepNode", "OnPlus", System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.Final, typeof(int), expressions1, param1);
                #endregion

                #region Member Variable
                // 1. Field Member
                // double 타입 public 변수
                dynamicClass.AddField("StepNode", "width", typeof(double), System.CodeDom.MemberAttributes.Public);

                // Int32 static private변수
                dynamicClass.AddField("StepNode", "height", typeof(Int32), System.CodeDom.MemberAttributes.Private | System.CodeDom.MemberAttributes.Static);

                // Field Member 를 New 할 수 있음
                dynamicClass.AddField("StepNode", "undoStack", typeof(List <string>), System.CodeDom.MemberAttributes.Public, true);

                // Filed Member이면서 Get을 가지고 있고 New 할 수 있는 함수
                //dynamicClass.AddField("StepNode", "GuideNode", typeof(List<string>), System.CodeDom.MemberAttributes.Public | System.CodeDom.MemberAttributes.AccessMask, false, true);

                // 2. Property
                // 일반 적인 { get; set; } 형태
                dynamicClass.AddProperty("StepNode", "userName", typeof(string), System.CodeDom.MemberAttributes.Public);

                // Guid Id { get; set; } 형태
                dynamicClass.AddProperty("StepNode", "Id", typeof(Guid), System.CodeDom.MemberAttributes.Public);

                // Private 변수를 Value로 가지는 Member Property
                dynamicClass.AddProperty("StepNode", "IndexNumber", typeof(float), System.CodeDom.MemberAttributes.Public, false);

                // Get을 가지고 있고 return을 입력할 수 있는 Property
                dynamicClass.AddField("StepNode", "Properties", typeof(List <string>), System.CodeDom.MemberAttributes.Public);
                string getMessage = string.Format($"Properties.Find(x => x == {'"'}Test{'"'});\n" + "int a = 0;");
                dynamicClass.AddPropertyHasGet("StepNode", "TestString", typeof(string), System.CodeDom.MemberAttributes.Public, getMessage);
                dynamicClass.AddPropertyHasGet("StepNode", "volume", typeof(int), System.CodeDom.MemberAttributes.Public, "1+1");

                //string getMessage1 = string.Format("this[\"Name\"] as string };");
                //dynamicClass.AddPropertyHasGet("StepNode", "Name", typeof(string), System.CodeDom.MemberAttributes.Public, "this[\"Name\"] as string }");
                #endregion

                // Compile 할때 필요한 Dll 을 Parametaer 로
                Assembly assem = dynamicClass.CompileSource("System.dll", "InterfaceLib.dll");

                if (assem != null)
                {
                    Type fType = assem.GetTypes()[0];
                    Type iType = fType.GetInterface("InterfaceLib.IPosition");

                    if (iType != null)
                    {
                        InterfaceLib.IPosition position = (IPosition)assem.CreateInstance(fType.FullName);
                        position.SetPosition();
                    }
                }

                Console.WriteLine($"NameSpace : {dynamicClass.TargetUnit.Namespaces[0].Name}");

#if DEBUG
                GenerateUtil.GenerateCSFile($"..\\Debug\\StepNode.cs", dynamicClass.TargetUnit);
#else
                GenerateUtil.GenerateCSFile($"..\\Release\\StepNode.cs", dynamicClass.TargetUnit);
#endif
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }