Category: Uncategorized

RSCG- part 16 – Many Others

There are more RSCG that you could see – here is a list that you may want to look at:

  1. AutoEmbed https://github.com/chsienki/AutoEmbed
  2. Cloneable https://github.com/mostmand/Cloneable
  3. fonderie https://github.com/jeromelaban/fonderie
  4. Generators.Blazor https://github.com/excubo-ag/Generators.Blazor
  5. Generators.Grouping https://github.com/excubo-ag/Generators.Grouping
  6. JsonMergePatch https://github.com/ladeak/JsonMergePatch
  7. MemoizeSourceGenerator https://github.com/Zoxive/MemoizeSourceGenerator
  8. MiniRazor https://github.com/Tyrrrz/MiniRazor/
  9. MockGen https://github.com/thomas-girotto/MockGen
  10. ProxyGen https://github.com/Sholtee/ProxyGen
  11. Rocks https://github.com/JasonBock/Rocks
  12. RoslynWeave https://github.com/Jishun/RoslynWeave
  13. SmallSharp https://github.com/devlooped/SmallSharp
  14. StaticProxyGenerator https://github.com/robertturner/StaticProxyGenerator
  15. ValueChangedGenerator https://github.com/ufcpp/ValueChangedGenerator
  16. Web-Anchor https://github.com/mattiasnordqvist/Web-Anchor
  17. WrapperValueObject https://github.com/martinothamar/WrapperValueObject

All RSCG

NrBlog Post
1RSCG–part 1
2RSCG- AppVersion–part 2
3http://msprogrammer.serviciipeweb.ro/2021/02/17/rsgc-enum-part-3/
4RSGC-JSON to Class- part 4
5RSGC-Constructor – Deconstructor – part 5
6RSGC – DTO Mapper – part 6
7RSGC – Skinny Controllers- part 7
8RSGC-Builder Design Pattern – part 8
9RSGC- MetadataFromObject – part 9
10RSGC- Dynamic Mock – part 10
11RSCG- Method Decorator – part 11
12RSCG – Curry – Partial function – part 12
13RSCG- part 13 – IFormattable
14RSCG- part 14 – DP_Decorator
15RSCG- part 15 – Expression Generator
16RSCG- part 16 – Many Others
17RSCG- the book
18RSCG–Template Rendering- part 17
19CI Version
20HttpClientGenerator
21Query from database
22AutoRegister
23TinyTypes
24Static2Interface
25AppSettings
26Properties
27
Roslyn Source Code Generators

RSCG – Curry – Partial function – part 12

 

 

name PartiallyApplied
nuget

https://www.nuget.org/packages/PartiallyApplied/

link https://github.com/JasonBock/PartiallyApplied
author Andrei Ignat

This will generate curry for your functions
 

The code that you start with is


    public class Accounting                                            

    {

        public static float Discount( float discount, float price)

        {

            var val= price * (1- discount);

            return val;

        }

    }


The code that you will use is



    var disc10Percent = Partially.Apply(Accounting.Discount, 1/10f);

    Console.WriteLine(disc10Percent(disc10Percent(100)));

 

The code that is generated is


    public static partial class Partially

    {

           public static Func<float, float> Apply(Func<float, float, float> method, float discount) =>

                  new((price) => method(discount, price));

    }

Example Code: https://github.com/ignatandrei/RSCG_Examples/tree/main/PartiallyFunction

All RSCG

NrBlog Post
1RSCG–part 1
2RSCG- AppVersion–part 2
3http://msprogrammer.serviciipeweb.ro/2021/02/17/rsgc-enum-part-3/
4RSGC-JSON to Class- part 4
5RSGC-Constructor – Deconstructor – part 5
6RSGC – DTO Mapper – part 6
7RSGC – Skinny Controllers- part 7
8RSGC-Builder Design Pattern – part 8
9RSGC- MetadataFromObject – part 9
10RSGC- Dynamic Mock – part 10
11RSCG- Method Decorator – part 11
12RSCG – Curry – Partial function – part 12
13RSCG- part 13 – IFormattable
14RSCG- part 14 – DP_Decorator
15RSCG- part 15 – Expression Generator
16RSCG- part 16 – Many Others
17RSCG- the book
18RSCG–Template Rendering- part 17
19CI Version
20HttpClientGenerator
21Query from database
22AutoRegister
23TinyTypes
24Static2Interface
25AppSettings
26Properties
27
Roslyn Source Code Generators

RSGC – DTO Mapper – part 6

 

 

name GeneratedMapper
nuget

https://www.nuget.org/packages/GeneratedMapper/

link https://github.com/ThomasBleijendaal/GeneratedMapper
author Thomas Bleijendaal

AutoMapping from a POCO to a DTO. Lots of customizations
 

The code that you start with is


    public class Department                                    

        {

            public int ID { get; set; }

            public string Name { get; set; }

            

            public List<string> Employees { get; set; }

        }

    

        [IgnoreInTarget("Employees")]

        [MapFrom(typeof(Department))]

        public class DepartmentDTO

        {

            public int ID { get; set; }

            public string Name{get; set;}

    

            [MapWith("Employees",typeof(ResolverLength))]

            public int EmployeesNr { get; set; }

    

        }

        public class ResolverLength

        {

            public int Resolve(List<string> input)

            {

                return ((input?.Count) ?? 0);

            }

        }


The code that you will use is



    static void Main(string[] args)                                

    {

        var dep = new Department();

        dep.Name = "IT";

        dep.ID = 1;

        dep.Employees = new List<string>();

        dep.Employees.Add("Andrei");

        var dto = dep.MapToDepartmentDTO();

        Console.WriteLine(dto.Name+"=>"+ dto.EmployeesNr);

    }

 

The code that is generated is


    namespace DTOMapper                                                                                                                                                                                                        

    {

        public static partial class DepartmentMapToExtensions

        {

            public static DTOMapper.DepartmentDTO MapToDepartmentDTO(this DTOMapper.Department self)

            {

                if (self is null)

                {

                    throw new ArgumentNullException(nameof(self), "DTOMapper.Department -> DTOMapper.DepartmentDTO: Source is null.");

                }

                

                var resolverLength = new DTOMapper.ResolverLength();

                

                var target = new DTOMapper.DepartmentDTO

                {

                    ID = self.ID,

                    Name = (self.Name ?? throw new GeneratedMapper.Exceptions.PropertyNullException("DTOMapper.Department -> DTOMapper.DepartmentDTO: Property Name is null.")),

                    EmployeesNr = resolverLength.Resolve((self.Employees ?? throw new GeneratedMapper.Exceptions.PropertyNullException("DTOMapper.Department -> DTOMapper.DepartmentDTO: Property Employees is null."))),

                };

                

                return target;

            }

        }

    }

    

Example Code: https://github.com/ignatandrei/RSCG_Examples/tree/main/DTOMapper

All RSCG

NrBlog Post
1RSCG–part 1
2RSCG- AppVersion–part 2
3http://msprogrammer.serviciipeweb.ro/2021/02/17/rsgc-enum-part-3/
4RSGC-JSON to Class- part 4
5RSGC-Constructor – Deconstructor – part 5
6RSGC – DTO Mapper – part 6
7RSGC – Skinny Controllers- part 7
8RSGC-Builder Design Pattern – part 8
9RSGC- MetadataFromObject – part 9
10RSGC- Dynamic Mock – part 10
11RSCG- Method Decorator – part 11
12RSCG – Curry – Partial function – part 12
13RSCG- part 13 – IFormattable
14RSCG- part 14 – DP_Decorator
15RSCG- part 15 – Expression Generator
16RSCG- part 16 – Many Others
17RSCG- the book
18RSCG–Template Rendering- part 17
19CI Version
20HttpClientGenerator
21Query from database
22AutoRegister
23TinyTypes
24Static2Interface
25AppSettings
26Properties
27
Roslyn Source Code Generators

Crash Course on .NET Core 5.0

Who is addressed to

This tutorial is aimed to C# programmers with at least 6 months experience. Also , they should  have at least 6 months experience with HTML / CSS / Javascript .. This will help them to understand  .NET Core 3 and how to build applications with the .NET Core framework

The class will be taken by Andrei Ignat, C# MVP for 6 years, https://forums.asp.net moderator and OpenSource contributor( you can find his AspNetCoreImageTagHelper mentioned on https://github.com/aspnet/Mvc ). More details at his blog at http://msprogrammer.serviciipeweb.ro .

 

What it contains

Day 1

  1. .NET Core, .NET Standard, .NET Framework
  2. Some C# advanced
  3. C# 7-8 what’s new
  4. .NET Core 3 what’s new

Day 2

  1. .NET Core WEBAPI / MVC
  2. .NET Core backend – BL, DAL, Security, tests
  3. EF – console, ASP.NET Scaffolding
  4. Functional Anatomy of ASP.NET Core
  5. Ecosystem
  6. .NET Core MVC/ WebAPI – demo and exercises

Day 3

  1. C# 9 What’s new
  2. ASP.NET Core 5
  3. Roslyn Code Generators
  4. EF Core 5
  5. Breaking Changes
  6. Practical Exercise with WebAPI / MVC

Crash Course on Angular

Who is addressed to

This tutorial is aimed to HTML/Javascript/CSS programmers with at least 6 months experience. This will help them to build application with Angular.

The class will be taken by Andrei Ignat, C# MVP for 6 years, https://forums.asp.net moderator and OpenSource contributor( you can find his AspNetCoreImageTagHelper mentioned on https://github.com/aspnet/Mvc ). More details at his blog at http://msprogrammer.serviciipeweb.ro .

What it contains

Day 1 – start Angular

You will learn the basics of Angular ( Components , Observables, TypeScript )

We will make together the code of Tour of Heroes Application –  official Angular application.

You will be helped if need arises with the code , questions and more.

 

Day 2  – Angular advanced

Observables , marbles and RxJS

Http Interceptors

Passing data via components – services

GUI – Pipes, Forms,

Saving/Reading  data to/from backend -with .NET Core

Deploy – environments

 

Crash Course on .NET Core 3.0

Who is addressed to

This tutorial is aimed to C# programmers with at least 6 months experience. Also , they should  have at least 6 months experience with HTML / CSS / Javascript .. This will help them to understand  .NET Core 3 and how to build applications with the .NET Core framework

The class will be taken by Andrei Ignat, former C# MVP for 6 years, https://forums.asp.net moderator and OpenSource contributor( you can find his AspNetCoreImageTagHelper mentioned on https://github.com/aspnet/Mvc ). More details at his blog at http://msprogrammer.serviciipeweb.ro .

What it contains

Day 1

  1. .NET Core, .NET Standard, .NET Framework
  2. Some C# advanced
  3. C# 8-9 what’s new
  4. .NET Core 3 what’s new
  5. .NET Core backend – BL, DAL, Security, tests
  6. EF – console, ASP.NET Scaffolding
  7. ASP.NET Core – Heads up

 

Day 2

  1. Demo Why DI
  2. Anatomy of ASP.NET Core
  3. Plugin Architecture
  4. Winform / windows service / webapi
  5. Arhitectura html+webapi demo

 

DOTNET DAYS -NEXT YEAR

Hi!

 

We are delighted to invite you to share our passion for technology at the second edition of the dotnetdays conference that will take place on 29 February 2020. 

 

About dotnetdays 

 

Dotnetdays is a .NET event driven by a great passion for technology and the .NET community.

 

The second edition will take place on 29 February 2020 at the International Hotel in Iasi, Romania. This year we’re excited to have some great speakers that are present at major conferences in Europe and the USA (most of them are for the first time in Romania), such as:

  • Jon Galloway – Executive Director – .NET Foundation
  • Alex Mang – Microsoft MVP & Regional Director, Microsoft Ignite Speaker
  • Alex Thissen – Microsoft MVP & Cloud Architect
  • Dennis Doomen  – FluentAssertions author (more than 30 million NuGet downloads)
  • Dennis van der Stelt – distributed system guru and part of NServiceBus team, will do 2 days workshop on SOA
  • Jimmy Bogard – AutoMapper and MediatR author
  • Martin Beeby – Principal Developer Evangelist @Amazon

And that’s not all. More speakers and workshops will be announced soon.

We will host 4 days of intensive technical talks and workshops. The schedule is yet to be finalized, but you get a peek at what’s about to come: 

  • 2 days of intensive workshops
  • 1 full-day of free workshops delivered by wonderful people in the community  
  • 1 full-day conference

 

Until the 9th of January, you can also purchase tickets at Regular price. Get yours here.

 

Looking forward to your answer,

The dotnetdays team 

 

Stay tuned and follow us on Facebook, Website,Twitter

Andrei Ignat weekly software news(mostly .NET)

* indicates required

Please select all the ways you would like to hear from me:

You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website.

We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.