FluentEmail: Sending Emails in .NET Projects

Sending emails in applications is a common and crucial feature in many types of projects. Whether it’s to send a simple welcome email, a system alert, or an event notification, choosing the right tool to handle this process can significantly impact code readability and maintainability. FluentEmail is a library that aims to simplify email sending […]

How To use HTTP Content-Type in C#

When developing web applications and REST APIs, it’s essential to understand how data is sent in HTTP requests. One of the key components for this is the Content-Type header, which tells the server (or client) the format of the data in the request body. In this article, we’ll explore the main Content-Type values, explaining when […]

Exploring Data Structures in C#

Data structures are specific ways of organizing and storing data in a program, allowing for efficient manipulation. Choosing the right data structure directly impacts application performance, affecting runtime and memory usage. In this article, we’ll explore the main data structures in C#, explain how they work, and when to use them. What Are Data Structures? […]

Using database transactions with Dapper

Transactions are essential to ensure data consistency and integrity in operations that involve multiple database commands. In .NET, Dapper offers a simple and efficient way to manage transactions using the IDbTransaction interface. In this article, we will explore how to implement transactions with Dapper. We have previously discussed how to work with transactions using Entity […]

Essential naming guidelines for C# developers

Naming conventions are essential to ensure that code is readable, consistent, and easy to maintain. In C# and .NET, following the recommended naming conventions improves clarity, facilitates collaboration among developers, and avoids ambiguities in the code. This article explores the main naming conventions for classes, methods, properties, variables, interfaces, and enumerations, offering practical examples and […]

Working with Flags in .NET

In software development, we often encounter situations where we need to work with multiple options or states simultaneously. For these situations, the use of flags in can be very useful. Flags allow you to efficiently combine and manipulate values using bitwise operations. What are flags? Flags are commonly used in enums (enumerations) to represent combinations […]

Null Coalescing Operators: Handling Null Values in C#

In C#, handling null values is an essential practice to avoid errors in the code, especially the dreaded NullReferenceException. To help developers write cleaner and less error-prone code, C# introduced null coalescing operators: ?? and ??=. The Problem with Null Values Before diving into the operators, let’s understand the problem they solve. In C#, null […]

API Versioning in ASP.NET Core

In systems that use RESTful APIs, one of the main concerns is ensuring that software evolution does not break compatibility with clients already in production. When we change an API (by adding new features, modifying behaviors, or fixing bugs), those changes can affect clients still using earlier versions. Therefore, versioning an API is essential to […]

Automating tests with Selenium

Automated tests are essential to ensure that your code behaves as expected, especially in user interfaces, which can be affected by changes in different parts of the system. Selenium is one of the most popular tools for automating UI tests and can be easily integrated into Blazor projects. In this article, we’ll learn how to […]

Content Moderation with OpenAI in .NET

Content moderation is a crucial part of managing online platforms, ensuring that published content complies with community guidelines and preventing the spread of harmful information. OpenAI offers a moderation API that can be integrated into .NET projects to automatically analyze and moderate content. Moderation Model Used The OpenAI moderation API uses the text-moderation-007 model, designed […]