21. public class ProdutoEntity : TableServiceEntity
{
public ProdutoEntity(string partitionKey, string rowKey)
: base(partitionKey, rowKey)
{
}
public ProdutoEntity()
: base("particao1", Guid.NewGuid().ToString())
{
}
public string Nome { get; set; }
public int Quantidade { get; set; }
}
22. internal class ProdutoContext : TableServiceContext
{
public ProdutoContext(string baseAddress, StorageCredentials
credentials)
: base(baseAddress, credentials)
{
}
internal const string NomeTabelaProdutos = "TabelaProdutos";
public IQueryable<ProdutoEntity> Produtos
{
get
{
return this.CreateQuery<ProdutoEntity>(NomeTabelaProdutos);
}
}
}
23. var storageAccount = CloudStorageAccount.FromConfigurationSetting("conta1");
var produtoContext = new
ProdutoContext(storageAccount.TableEndpoint.ToString(),
storageAccount.Credentials);
storageAccount.CreateCloudTableClient().CreateTableIfNotExist(ProdutoContext.
NomeTabelaProdutos);
var novoProduto1 = new ProdutoEntity() { Nome = "Produto 1", Quantidade = 10
};
produtoContext.AddObject(ProdutoContext.NomeTabelaProdutos, novoProduto1);
produtoContext.SaveChangesWithRetries();
var query = from produto in produtoContext.Produtos
where produto.PartitionKey.Equals("particao1") &&
produto.Quantidade > 5
select produto;
var tableQuery = query.AsTableServiceQuery<ProdutoEntity>();
var produtos = tableQuery.Execute().ToList();
24. var query = from produto in produtoContext.Produtos
where produto.PartitionKey.Equals("particao1") &&
produto.Quantidade > 5
select produto;
var tableQuery = query.AsTableServiceQuery<ProdutoEntity>();
var produtos = tableQuery.Execute().ToList();
var produtoParaExcluir = produtos[0];
produtoContext.DeleteObject(produtoParaExcluir);
var produtoParaAlterar = produtos[1];
produtoParaAlterar.Quantidade++;
produtoContext.UpdateObject(produtoParaAlterar);
produtoContext.SaveChanges();
25.
26.
27.
28.
29. Conta Fila Mensagem
ID cliente
ID pedido
http://…
processamento
conta depedidos
ID cliente
ID pedido
http://…
30. var storageAccount =
CloudStorageAccount.FromConfigurationSetting("conta1");
var clienteDaQueue = storageAccount.CreateCloudQueueClient();
var queue = clienteDaQueue.GetQueueReference("minhafila");
queue.CreateIfNotExist();
var novaMensagem1 = new CloudQueueMessage("Mensagem 1");
queue.AddMessage(novaMensagem1);
var mensagens = queue.GetMessages(10, TimeSpan.FromMinutes(5)).ToList();
foreach (var mensagem in mensagens)
{
//processa a mensagem
queue.DeleteMessage(mensagem);
}