Posts

a study about Reflection Class for C# programmer

Reflection provides objects (of type Type ) that describe assemblies , modules and types . You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties ( thanks to Microsoft for the definition  Ref:  https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/reflection  ) . I prepare sort of codes to make Reflection approach closer to you :) Here are the keywords to be mentioned in the study: Load Assembly, Initiate Class then invoke method(s) with/out parameters - Beginner Level Load Class and Invoke method through Type Def. (string name) with parameters - Beginner Level Suppress cast (convert) operation for incompatible classes with Reflection - Intermediate Level Anonymous Type calls via Reflection - Advance Level First of all, I would like to describe all classes to be used in the lab. I am going to play wi

a surprise for ancient programmers : github URL of one of my solution source code that was developed with Visual C++ 5.0 Professional Edition in 1997

Solution Name : CryptoAPI I used MFC with Visual C++ 5.0, Professional Edition in 1997 you can use library to Sign, Verify, Crypt, Encrypt any messages. Follow my github page to see source code of the solution. https://github.com/TheMaty/CryptoAPI enjoy !

Unit Test or Test Driven Development for Dynamics 365 CE/CRM PlugIns - Custom Workflows

Image
Life is easy with Test Driven Development even for Dynamics 365 PlugIns and Workflows. Any delta that be applied to the existent codes require test in order to see overall impact and ensure stability so each of the lines should be tested again,again,again with couple test cases. My main target is to perform testing without CRM record generation in Dynamics CRM organization so I develop mock classes in order to simulate Dynamics CRM Data access layer thus Post or Pre operations just reach to my mock classes and send back necessary responses without accessing SQL Server Database. I will explain all technical details below and share Project web page in github.com for sure. First of all, I used power of Visual Studio 2019 community edition by creating " Unit Test Project (.NET Framework) " and downloading  Microsoft.CrmSdk.CoreAssemblies Version 9.0.0.7 from NuGet  in the study. Let's start from introduction section as usual :) Introduction A plug-in is a custom

can not deploy CRM Package via CRM Developer Toolkit

Hello, When you add a PlugIn Image to a step via Crm Developer Toolkit in Micrososft Visual Studio then  try to deploy package to the Dynamics 365 CRM, you may face an error by stating Error : Message: Message property name 'Target' is not valid on message Create. ErrorCode: -2147204757 It is because "MessagePropertyName" of the image as seen below:            <Image Attributes="bnb_airlineid,bnb_flightcode,bnb_fromid,bnb_name,bnb_toid,bnb_type" EntityAlias="Target" Name="Target" Id="37c0ab9c-cefb-e911-aad3-080027ebb059" MessagePropertyName="Target" ImageType="PostImage" /> Fixing action: just add "Id" as MessagePropertyType :            <Image Attributes="bnb_airlineid,bnb_flightcode,bnb_fromid,bnb_name,bnb_toid,bnb_type" EntityAlias="Target" Name="Target" Id="37c0ab9c-cefb-e911-aad3-080027ebb059"   MessagePropertyName="Id"

Main principal of Technical Design Document (TDD) for Project Deliveries

Technical Design Document (TDD) is mostly used for product and application feature development by realizing of business requirements for solutions (maybe specific problems). I am going to describe some practices of mine to utilize TDD for any deliveries so TDD aim's will be  evolving from definition of general/common solutions for market/sector maybe ecosystem's problems to certain client demand/expectation description. The primary function of a TDD for solution architect (SA) , is to communicate the technical details of the work to be done to the stakeholders who are going to get involved with.  However, there is a second purpose which is just as important: the process of writing the TDD forces SA to organize client expectation/requirement/thought and consider every aspect of the design, ensuring that there are no items/subjects left. I propose you to keep in your mind following bullets while writing TDD for project delivery; PURPOSE OF  DOCUMENT - It is necessary t

Two and half speed IT architecture @Digital Transformation - fail fast, fix fast...

Image
"Digital transformation" is now important subject for the technology fighters and hides remarkable challenges itself. Internet era evolves information technologies to cover not only customers but also employees ,stakeholders, public even politics in order to enhanced organization's vision and mission through rapid strategy. Nowadays, no one skips social media, mobility, smart bots, omni-channel in their strategy so Organization must align with the new technologies quickly. Apart from that Industry 4.0 already pushes business daily bases for any changes to get ready Industry 5.0. 2-speed IT architecture is clear for Digital Enterprise architects during transforming organization digitally. It defines two separated streams working in parallel. while one is involving with current system improvements, other is focusing on digital transformation to align organization with the latest technologies, trends and expectations. It is obvious that each streams will have speed di

Dynamics CRM 365 Solution Template for Visual Studio 2019 Community Edition

  Hello, You have recently downloaded new version of Visual Studio namely 2019 and want to develop PlugIns or maybe Custom Workflow with the power of Visual Studio 2019 Community Edition . Here is good Visual Studio Project Template : https://marketplace.visualstudio.com/items?itemName=DynamicsCRMPG.MicrosoftDynamicsCRMDeveloperToolkit when you download it, you will get Microsoft.CrmDeveloperTools.vsix but it will not be installed to your version of  Visual Studio since it is complied with Visual Studio 2012, 2013, 2015 for such situation, 1- open Microsoft.CrmDeveloperTools.vsix with WinZip and find extension.vsixmanifest file. 2- edit extension.vsixmanifest with notepad or notepad++ 3- find <Installation> tag 4- add following     <InstallationTarget Version="[11.0,17.0]" Id="Microsoft.VisualStudio.Community" /> but change below     <InstallationTarget Version="[11.0,17.0]" Id="Microsoft.VisualStudio.Premium" /