Skip to content

Instantly share code, notes, and snippets.

View mtzaldo's full-sized avatar

Aldo Martinez mtzaldo

  • San Antonio, TX
View GitHub Profile
@vkhorikov
vkhorikov / CustomerController.cs
Last active May 16, 2024 19:00
Handling failures and input errors in a functional way
[HttpPost]
public HttpResponseMessage CreateCustomer(string name, string billingInfo)
{
Result<BillingInfo> billingInfoResult = BillingInfo.Create(billingInfo);
Result<CustomerName> customerNameResult = CustomerName.Create(name);
return Result.Combine(billingInfoResult, customerNameResult)
.OnSuccess(() => _paymentGateway.ChargeCommission(billingInfoResult.Value))
.OnSuccess(() => new Customer(customerNameResult.Value))
.OnSuccess(
@alexandrevicenzi
alexandrevicenzi / HttpClientExtensions.cs
Created February 25, 2014 20:11
C# Post, Put and Patch as JSON async extensions
using System;
using System.Net.Http;
using System.Net.Http.Formatting;
using System.Threading.Tasks;
namespace MyProject.Extensions
{
public static class HttpClientEx
{
public const string MimeJson = "application/json";