Skip to content

Instantly share code, notes, and snippets.

View jpolvora's full-sized avatar

Jone jpolvora

View GitHub Profile
@jpolvora
jpolvora / constructors.cs
Last active December 14, 2015 01:59
Exemplo de classe contendo constructor chaining, named arguments, optional arguments, consumindo as factories da classe TimeSpan.
public class TesteArgumentos {
//immutable field
readonly TimeSpan _timeSpan;
//constructor chaining
public TesteArgumentos(): this(new TimeSpan()){ }
//an horrible conditional factory, just for the sake of example
public TesteArgumentos(int? hours = null, int? minutes = null, int? seconds = null) {
if (hours.HasValue && minutes.HasValue && seconds.HasValue) {
/* Primeiro exemplo */
var anonimo = new {
id = 1,
name = "utilizando var"
};
object anonimo2 = new {
id = 2,
name = "utilizando object"
};
@jpolvora
jpolvora / linq.cs
Last active December 14, 2015 00:29 — forked from anonymous/linq.cs
var dados = (from p in db.t0010_bairro
where p.t0001_cod_cidade == pCodCidade
select (int?)p.t0010_cod_bairro).Max() ?? 1;
@echo off
rem Ensure this Node.js and NPM are first in the PATH
set PATH=%APPDATA%\npm;%~dp0;%PATH%
rem git
@set git_install_root=C:\Users\Jone\AppData\Local\GitHub\PortableGit_64179092f39f5dacb60dcab147fb4d04266c0eae
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%PATH%
rem Figure out node version and architecture and print it.
@jpolvora
jpolvora / venda_cliente_strategy.cs
Last active December 13, 2015 21:08
[Comentário](http://robsoncastilho.wordpress.com/2013/02/06/principios-solid-principio-da-responsabilidade-unica-srp/#comment-7186) Se obviamente toda Venda pertence a um Cliente, a venda deve ter uma referência ao cliente. Para saber se o cliente é diferenciado, a classe Cliente deve possuir uma propriedade nos dê essa informação. Para calcular…
public class Cliente {
public int Id { get; set; }
public bool IsClienteDiferenciado { get; set; }
// outras informações ... omitido para brevidade
}
public class Venda {
public int Id { get;set; }
public Cliente Cliente { get; set; } //referencia ao cliente
public static class Coroutine {
public static void BeginExecute(IEnumerable<Promise> enumerable) {
MoveNext(enumerable.GetEnumerator());
}
static void MoveNext(IEnumerator<Promise> enumerator) {
if (enumerator.MoveNext()) {
var promise = enumerator.Current;
promise.Current = promise.Task();
promise.Current._CallBack = () => MoveNext(enumerator);
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
namespace AsyncKonsole
{
class Program
{
using System;
using System.Collections.Generic;
namespace Barracuda {
public delegate void Routine(Action callback);
public static class Coroutine {
public static void BeginExecute(this IEnumerable<Routine> enumerable) {
var enumerator = enumerable.GetEnumerator();
Action next = null;
@jpolvora
jpolvora / custombinding.cs
Last active December 11, 2015 18:19
Creates a CustomBinding for ChannelFactory
static CustomBinding GetBinding() {
var customBinding = new CustomBinding();
customBinding.Elements.Add(new BinaryMessageEncodingBindingElement());
customBinding.Elements.Add(new HttpTransportBindingElement());
return customBinding;
}
static EndpointAddress GetEndPoint() {
return new EndpointAddress("http://localhost:1294/Service.svc");
public App() {
InitializeComponent();
/* passing a pre-configured (intercepted) windsor container to the IoC wrapper: */
var windsor = new WindsorContainer();
windsor.Register(Component.For<ContainerInterceptor>().LifeStyle.Transient);
windsor.Register(Component.For<IContainer>()
.UsingFactoryMethod<IContainer>(() => {