Skip to content

Instantly share code, notes, and snippets.

View AlbertoMonteiro's full-sized avatar
😎
Writting every day lines fo happy code

Alberto Monteiro AlbertoMonteiro

😎
Writting every day lines fo happy code
View GitHub Profile
@AlbertoMonteiro
AlbertoMonteiro / Program.cs
Created May 16, 2014 04:42
Capturando linhas de códido dos métodos de um Assembly
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Xml.Serialization;
namespace Roslyn.Console
{
class Program
{
static void Main(string[] args)
@AlbertoMonteiro
AlbertoMonteiro / Main.java
Last active July 7, 2016 15:44
Relative datetime in Java
import java.util.Locale;
import org.joda.time.DateTime;
import org.joda.time.Period;
import org.joda.time.PeriodType;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class Main {

Estou usando Push Notifications e estou passando por um probema que ao tentar abrir um channel inexistente recebo uma exceção dizendo que o channel está aberto.

O primeiro método ListenShellToastNotification roda beleza, mas o segundo ListenShellTileNotification é onde ocorre a exceção.

A linha 96 o retorno é null, então ele entra no if para criar o channel, e quando tenta executar o open recebo uma InvalidOperationException cuja a mensagem diz que o channel já está aberto.

#DESCOBRI O PROBLEMA

O problema é que eu tentava abrir 2 canais diferentes "ToastSampleChannel" e "TileSampleChannel", quando na verdade só posso ter 1. Adicionei outro arquivo, o Funcionando.cs, que é o código certo!

using System;
using System.Globalization;
using System.Windows.Data;
namespace PorOnde.Converters
{
public class RelativeTimeConverter : IValueConverter
{
private const double Minute = 60.0;
@AlbertoMonteiro
AlbertoMonteiro / app.js
Last active December 15, 2015 15:38
Exemplo de minicrud, em funcionamento: http://jsbin.com/ilalet/1/edit
function Pessoa(data) {
this.Nome = ko.observable(data ? data.Nome : "");
this.Idade = ko.observable(data ? data.Idade : "");
this.Nascimento = ko.observable(data ? data.Nascimento : "");
this.toString = function () {
return this.Nome();
}.bind(this);
}
using System;
using System.IO;
using System.IO.Compression;
using System.Text;
using System.Windows.Media.Imaging;
namespace ConsoleApplication2
{
class Program
{
var pattern = @"^(https?://)(?!www[.])(.+)$";
return new SeeOther(Regex.Replace(Request.Url.AbsoluteUri, pattern, @"$1www.$2"));
@AlbertoMonteiro
AlbertoMonteiro / MainWindow.xaml
Created March 28, 2013 18:31
Texblock destinado a receber o nome de um arquivo que limita a quantidade de caracteres mas sempre mostra a extensão.
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Selecionar" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="274,10,0,0" Click="Button_Click_1"/>
<Border HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0" Width="259" BorderBrush="Black" BorderThickness="1" >
<TextBlock x:Name="TxBArquivo" Text="Nenhum arquivo selecionado" Height="16"/>
</Border>
</Grid>

Geral

Melhorias:

  • Verificar quais campos são necessários nos lookups (OK)
  • Criar um componente para geração de vencimentos (OK)
  • Periodicidade da geração de vencimentos só deve conter palavras singulares (OK)
  • Rateio por despesas (OK)

Ordem de Faturamento

@AlbertoMonteiro
AlbertoMonteiro / gist:5090337
Last active December 14, 2015 12:59
Url encoded format
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication7
{
public class Pessoa
{
public string Nome { get; set; }
public int Idade { get; set; }