Mult upload de Imagens com jquery e Asp .Net Mvc
Conversando com um amigo hoje sobre plugins upload do jquery, ele me indico um muito bom e simples de se implementar que ainda utliza os templates do jquery Ui.
segue link para download dele:
http://www.plupload.com/download.php
A documentação dele é muito boa, mas mesmo assim rolvi criar um post com ele
vamos utilizar o proprio exemplo do site, criei uma action com o nome upload na controller Home, e na sua view adicionei os seguintes arquivos:
jquery.plupload.queue.css / browserplus-min.js / plupload.full.js / jquery.plupload.queue.js
Obs.: não esqueça de verificar se na sua master page esta com o jquery na página.
feito isso, vamos configurar o plugin, temos varias formas de utilizar ele, no meu exemplo peguei o primeiro do site
o que esta com flash_uploader:
neste exemplo estou utilizando algumans parametros opcionais como unique_names , que apesar de ser um bool não e obrigatorio e outros obrigatórios como url do local onde depois do upload a action que deve ser chamada.
No nosso back end, não precisamos fazer muito:
Vamos lá a nossa primeira variavel, recebemos o primeiro valor da requist.files, logo em seguido, crio uma variavel que contém o path do diretório onde as imagens devem ser encaminhas depois de salvas depois as salvamos.
crie um diretório com o nome files, na raiz do projet e depois e so testar
Segue linque do projeto:
http://www.4shared.com/file/a6i0WiTb/MvcNhibernate.html
Espero que seja úti e ate mais
Tipos de relacionamentos com fluent nhibernate
Neste post irei brincar um pouco mais com Nhibernate, tentando passar os tipos de relacionamento como ele, 1 x 1, 1 x n e n x n.
Eu irei utilizar o mesmo projeto dos posts anteriores.
Para o relacionamento 1 x 1 irei criar o domínio Armadura, onde iremos especificar que tipo de armadura do cavaleiro Ex.: Bronze, prata, papel … etc.
Nosso classe de mapeamento:
Note o .Length que adicionei depois do Map, como estamos criando as nossas tabelas, através de nossas classes de domínio e mapeamento,com fluent nhibernate também podemos , setar a o tamanho de nossas colulas se elas serão not null … etc.
No Domínio Cavaleiros adicione :
public virtual Armadura Armadura { get; set; }
Criamos uma propriedade com o valor do domínio Armadura.
Em CavaleirosMap
References(x => x.Armadura);
Com isso mapeamos a nossa pripriedade Armadura com o Domínio Armadura, assim criando o relacionamento 1 x 1, vamos rodar o script para que o fluent crie a tabela o relacionamento.
Na classe Config.cs altere os parametros do método .Create(true, true), agora na HomeController, dentro da Index action adicione o código para que ele possa gerer o script e dropar e criar as tabelas.
var drop = new Config();
Verificando no nosso banco:
Podemos ver na imagem, que ele fez tudo para agente, crio a tabela e a FK em Cavaleiros. Agora vamos ao relacionamento 1 X n.
Iremos utilizar 1 x n HasMany, quando precisarmos de uma lista Ex.: Cavaleiro,Especial, temos que criar um lista de especiais para um cavaleiro, pois um cavaleiro ira ter muitos especiais.
Para isso vamos criar o Domínio Especiais:
Mapeamento:
No Domínio Cavaleiros adicione este trecho de código:
Como cavaleiros terá uma lista de especiais, criamos uma propriedade especial com o valor da interface IList, depois criamos a propriedade Especial como Enumerable, para que possamos com a nossa lista e depois no construtor iniciamos a nossa lista, até aqui bem simples, vamos ao nosso Map:
E no nosso Map de Cavaleiros, temos também que alterar, pois como especial não e mais uma string, está com o valor de uma referência e será um lista temos que mapea-lo como tal:
HasMany(x => x.Especial)
.Access.CamelCaseField(Prefix.Underscore);
Neste trecho estamos especificando que o relacionamento é de um para muitos, que teremos uma lista do tipo Especial.
Bom vamos rodar novamente o projeto para criar a nossa tabela…
O banco tem que ficar desta forma:
Agora vamos para n x n:
Vamos criar o Domínio Batalhas, onde um cavaleiro pode ter lutado em muitas Batalhas e uma batalha pode ter participado muitos Cavaleiros.
Criando o domínio Batalhas:
O Map de Batalhas:
O domínio Cavaleiros:
Mao de Cavaleiros:
Vamos rodar Buildar para testar.
O banco tem que ficar desta forma:
Bom com isso finalizamos os tipos de relacionamento com fluent nhubernate, no próximo post irei criar os metodos para que possamos testar esses relacionamentos… até espero que sejá útil
Segue abaixo o link para Download do projeto:
http://www.4shared.com/file/LUdieTLg/MvcNhibernate_2.html
Gerar script de banco de dados e criar tabelas com fluent nhibernate
Bom explorando um pouco mais o fluent nhibernate, podemos criar as tabelas de acordo com as nossas classes de domínio.
Para isso só precisamos mexer no nosso método CreateSessionFactory() e no nosso web.config.
web.config
<appSettings>
<add key=”PathScriptDataBase” value=”Path_Para_Onde_Vc_Quer_Que_Seja_Gerado_O_Arquivo_Com_Os_Scripts” />
</appSettings>
Depois no nosso método pegamos esse path e adicione a linha para que o fluent saiba onde
criar o script de criação das tabelas.
.ExposeConfiguration(cfg => new SchemaExport(cfg).SetOutputFile(pathScriptBanco.ToString())
.Create(true, true))
Note esse metodo .Create, eles recebe dois parametros booleanos, onde o primeiro como true e para criar o script
e o segundo para dropar nossas tabelas e recria-las novamente.
Com esse pedaço de código já podemos começar a pensar em DDD onde iremos focar totalmente no domínio deixando para ver o nosso banco de dados por último.
Bom espero que seja útil até.
Segue link para quem quiser baixar o projeto:
O Mundo é dos .Net’s
Olá a todos !
Meu Nome é Thiago Adriano, trabalho com desenvolvimento na plataforma .Net, irei começar uma serie de posts para iniciantes, que queiram aprender esta plataforma.
Neste primeiro post, gostária de indicar alguns link’s para o pessoal iniciante, ferramentas grátis, disponiveis para download.
Para começar vamos baixar o visual studio 2010 profissional e o Sql Server 2008 R2.
https://www.dreamspark.com/default.aspx
Depois vamos baixar uma ferramenta muito boa para ajudar no nosso dia a dia o ReSharper
http://download.jetbrains.com/resharper/ReSharperSetup.6.0.2202.688.msi
Bom com isso já podemos começar a brincar, agora vamos criar um projeto em Asp Net Mvc com C#.
Imagem de uma solution em Mvc
Bom vamos detalhar os diretórios e arquivos da nossa Solution:
O diretório Content, nele ficam os nossos arquivos .css e as nossas imagens, no print abaixo eu criei um diretório abaixo de Content para inserir as imagens.
Controller:
No pouco tempo que eu trabalho com Mvc, não falando só com C#, mas também com PHP, vejo muitas pessoas com um conceito errado dele, inserindo regras de negocio, quando ele deveria apenas trabalhar como um gerente, recebendo dados do browser indo na Model e passando para a view, caso precise criar alguma regra o certo “no meu ponto de vista” seria criar um repositório genérico onde podemos inserir regras que achariamos certo colocar em nossas Controllers.
Model:
A Model, “estruturas de dados” deve trabalhar com persistencia , ela é que tem contato com o banco de dados.
Scripts:
Nele e onde estão os nossos arquivos .js
View:
Neste diretório iremos inserir nossas partials views nossos arquivos html que estam com a extensão .ascx e também temos o diretório Shared, onde fica a nossa master.page.
Logo abaixo temos mais dois arquivos: Global.asax e Web.Conifg, em uma navegação bem rápida pela web, achei um artigo muito bom, falando sobre Global.asax:
“Segue a dica
“
http://www.dotnetcurry.com/ShowArticle.aspx?ID=126
Ele da uma descrição de cada um dos métodos que podemos adicionar em nosso Global.asax, ao meu ver um artigo muito bom.
Bom agora ja podemos começar a brincar com Asp Net Mvc, com o visual studio 2010 podemos criar um projeto como o acima que ele force para exemplo, muito simples de se debugar para aprender… bom até um próximo post.
Configurar o Fluent Nhibernate com Asp .Net Mvc
Olá a Todos!
Neste Post Irei mostrar um passo a passo de como se configurar o Fluent Nhibernate com asp Net Mvc.
Para quem nao conhece o Fluent Nhibernate recomendo uma breve leitura em:
http://wiki.fluentnhibernate.org/Getting_started.
Crie um Projeto Mvc 2 Web Application.
http://fluentnhibernate.org/downloads
Faça o download do fluent, depois disso em seu projeto, va em References click com o botão direito, va em browser e navegue até a pasta onde você deixou as suas dll’s do fluent.
Vamos criar um arquivo que ira gerenciar as nossas sessões:
Crie um diretório na sua Solution, no meu caso irei criar com o nome Comum e dentro dele crie uma classe com o nome Config.cs.
Bom analisando a nossa Class:
Temos três propriedades:
Session: utilizaremos para trabalhar com a sessão: salvar,deletar … etc, os métodos que iremos enviar os valores para a nossa sessão.
Trasaction: com esse trabalharemos para dar Commit, Rollback… etc
ISessionFactory: propriedade que recebe os valores de retorno no nosso método CreateSessionFactory().
E o método CreateSessionFactory(), que neste exemplo esta conectando em um banco Sql Server 2008. Para mais informações, sobre como conectar em outros bancos como por exemplo Mysql veja nesse link:
http://wiki.fluentnhibernate.org/Database_configuration
Agora vamos no nossas classes de Domínio e iremos criar a nossa class Cavaleiros.
Obs.: estou criando esta class no na model do meu projeto.
Duas Observações a 1 não esqueça do virtual o fluent usa ele para o mapeamento e coloque como private no set do Id, pois ele será atribuido pelo Nhibernate.
Depois crie um diretório com o nome Repositório e dentro dele uma class com o nome CavaleirosMap.cs.
Criamos o nosso primeiro atributo o id:
Id(x => x.Id).GeneratedBy.Identity();
Colocamos o GeneratedBy.Identity, pois sera o Nhibernate que ira criar o Id para nós, agora podemos mapear os outros atributos.
Note que assim que colocamos Map(x => x. ) ele ja mapeia os outros atributos que criamos na outra class cavaleiro.cs
Depois que terminarmos este mapeamento a class ficará assim:
Agora vamos criar a nossa tabela Cavaleiros:
Nao podemos esquecer de configurar no sql manager studio, no modo design Column Properties Identity Specification colocar como yes indentity increment, se nao o sql server nao ira deixar o nhibernate criar os Ids.
Bom agora vamos na nossa Controller:
Bom na controller nós instanciamos a nossa classe Cavaleiros e tbm criamos uma propriedade com o nome entidade, que se encarrega de chamar os métodos que iram trabalhar com a nossa sessão.
Bom como o foco deste post é somente a configuração irei parar por aqui, espero que seja útil.






















