public string SalvarImagem()
        {
            if (this.FileUploadField1.HasFile)
            {
                var id_ = IdProduto_.Text;
                int id;
                if (int.TryParse(id_, out id))
                {
                    using (var repo = new Repositorio())
                    {
                        if (repo.TryEntity<Produto>(new Especificacao<Produto>(x => x.Id == id)))
                        {
                            var n = RandomString(30);
                            var f = Path.Combine(Server.MapPath("~/resources/images/produtos/small"), n);
                            this.FileUploadField1.PostedFile.SaveAs(f);

                            var p = repo.SelectByKey<Produto>(id);
                            p.Imagem = n;
                            repo.Save();
                            string path = Request.Url.AbsoluteUri.Remove(Request.Url.AbsoluteUri.IndexOf(Request.Url.AbsolutePath)) + "/resources/images/produtos/small";

                            return Path.Combine(path, n);
                        }
                    }
                }
            }
            return null;
        }
        protected void SalvarPrecoCasco(object sender, DirectEventArgs e)
        {
            if (Preco.Number < 0)
                return;

            using (var repo = new Repositorio())
            {
                int idProduto;
                if (int.TryParse(Id.Text, out idProduto))
                {
                    if (repo.TryEntity<Produto>(new Especificacao<Produto>(x => x.Id == idProduto)))
                    {
                        if (Preco.Number == 0)
                        {
                            var p = repo.SelectByKey<Produto>(idProduto);
                            if (p.Casco != null)
                            {
                                repo.Delete<Casco>(p.Casco);
                                p.Casco = null;
                            }
                        }
                        else
                            repo.Add(repo.SelectByKey<Produto>(idProduto).Casco = new Casco { Preco = decimal.Parse(Preco.Number.ToString()) });

                        repo.Save();
                        RefreshGrid(repo);
                        var s = string.Format("{0}.getForm().reset();", FormPanel1.ClientID);
                        X.AddScript(s);
                        s = string.Format("CorrigirCssTable({0});", GridPanel1.ClientID);
                        X.AddScript(s);
                        if (Preco.Number > 0)
                            X.Msg.Alert("Salvo", "Preço de casco salvo com sucesso").Show();
                        else
                            X.Msg.Alert("Salvo", "Preço de casco excluido.").Show();
                    }
                }
            }
        }