[Custom Page] Como inserir, atualizar e deletar um registro em um determinado Form estando em um Custom Page
Para Inserir (Insert)
Insert usando C#
public class ExemploMinhaClasseCsharp{
public async Task<Guid> InserirRegistroAsync(string nome, string email){
//troque o valor da variavel estruturaformularioidASerCriadoOuAtualizado para o Id do Form que você quer inserir um registro
var estruturaformularioidASerCriadoOuAtualizado = Guid.Parse("0153b02c-d4d8-4747-9a69-45aafa113f81");
//preencher a collection valuesToSave com os valores para o form que quer salvar
var valuesToSave = new DataDictionary();
valuesToSave.Add("name", nome);
valuesToSave.Add("value1", email);
var createdId = await CustomPageContext.SaveEntityAsync(estruturaformularioidASerCriadoOuAtualizado, valuesToSave);
return createdId;
}
}
public ExemploMinhaClasseCsharp CreateInstanceExemploMinhaClasseCsharp(){
var obj = CreateInstance<ExemploMinhaClasseCsharp>();
return obj;
}
Agora você precisa chamar esse metodo dentro do seu page<body> ou no partial cshtml.
@{
var obj = CustomPageClass.CreateInstanceExemploMinhaClasseCsharp();
var idCriado = await obj.InserirRegistroAsync("joao", "joao@joao.com");
}
idCriado: @idCriado
Insert usando cshtml
@{
//troque o valor da variavel estruturaformularioidASerCriadoOuAtualizado para o Id do Form que você quer inserir um registro
var estruturaformularioidASerCriadoOuAtualizado = Guid.Parse("0153b02c-d4d8-4747-9a69-45aafa113f81");
//preencher a collection valuesToSave com os valores para o form que quer salvar
var valuesToSave = new DataDictionary();
valuesToSave.Add("name", nome);
valuesToSave.Add("value1", email);
var createdId = await CustomPageContext.SaveEntityAsync(estruturaformularioidASerCriadoOuAtualizado, valuesToSave);
}
Id Form Criado: @createdId
Para Atualizar (Update)
Update usando C#
public class ExemploMinhaClasseCsharp{
public async Task AtualizarRegistroAsync(Guid idRegistro, string nome, string email){
//troque o valor da variavel estruturaformularioidASerCriadoOuAtualizado para o Id do Estrutura do Formulario que você quer atualizar um registro
var estruturaformularioidASerCriadoOuAtualizado = Guid.Parse("0153b02c-d4d8-4747-9a69-45aafa113f81");
//preencher a collection valuesToSave com os valores para o form que quer salvar
var valuesToSave = new DataDictionary();
valuesToSave.Add("id", idRegistro);
valuesToSave.Add("name", nome);
valuesToSave.Add("value1", email);
await CustomPageContext.SaveEntityAsync(estruturaformularioidASerCriadoOuAtualizado, valuesToSave);
}
}
public ExemploMinhaClasseCsharp CreateInstanceExemploMinhaClasseCsharp(){
var obj = CreateInstance<ExemploMinhaClasseCsharp>();
return obj;
}
Agora você precisa chamar esse metodo dentro do seu page<body> ou no partial cshtml.
@{
var obj = CustomPageClass.CreateInstanceExemploMinhaClasseCsharp();
var idRegistro = CustomPageContext.GetParam("idRegistro");
await obj.AtualizarRegistroAsync(Guid.Parse(idRegistro), "joao", "joao@joao.com");
}
Form Atualizado
Uma das formas para Passar o Id do Registro que deve ser atualizado, você pode utilizar a função abaixo no javascript:
function loadPartialToUpdateRegister() {
var cshtmlPartialName = "[coloque aqui o nome do partial cshtml que vc fez as regras de atualizar]";
customPageContext.loadCsHtmlComponent(cshtmlPartialName,
{
placeholderId: 'result_cshtml', //parametro opcional, se o cshtml retornar algum html e vc quiser, vc pode colocar o retorno dentro de algum placeholder, div, etc..
extraData: {
idRegistro: $('#guidRegistro').val(), //supondo que vc tenha um campo (guidRegistro) na tela com o GUID preenchido ref ao id do registro que quer atualizar
},
onSuccess: function (result) {
customPageContext.msg.success("Atualização com sucesso", "Confirmação");
},
onError: function (error) {
customPageContext.msg.error("Atualização nao realizada", "Erro");
console.log('error', error)
}
}
)
}
Update usando cshtml
@{
var idRegistro = CustomPageContext.GetParam("idRegistro");
//troque o valor da variavel estruturaformularioidASerCriadoOuAtualizado para o Id do Estrutura do Formulario que você quer atualizar um registro
var estruturaformularioidASerCriadoOuAtualizado = Guid.Parse("0153b02c-d4d8-4747-9a69-45aafa113f81");
//preencher a collection valuesToSave com os valores para o form que quer salvar
var valuesToSave = new DataDictionary();
valuesToSave.Add("id", idRegistro);
valuesToSave.Add("name", nome);
valuesToSave.Add("value1", email);
await CustomPageContext.SaveEntityAsync(estruturaformularioidASerCriadoOuAtualizado, valuesToSave);
}
Form Atualizado
Uma das formas para Passar o Id do Registro que deve ser atualizado, você pode utilizar a função abaixo no javascript:
function loadPartialToUpdateRegister() {
var cshtmlPartialName = "[coloque aqui o nome do partial cshtml que vc fez as regras de atualizar]";
customPageContext.loadCsHtmlComponent(cshtmlPartialName,
{
placeholderId: 'result_cshtml', //parametro opcional, se o cshtml retornar algum html e vc quiser, vc pode colocar o retorno dentro de algum placeholder, div, etc..
extraData: {
idRegistro: $('#guidRegistro').val(), //supondo que vc tenha um campo (guidRegistro) na tela com o GUID preenchido ref ao id do registro que quer atualizar
},
onSuccess: function (result) {
customPageContext.msg.success("Atualização com sucesso", "Confirmação");
},
onError: function (error) {
customPageContext.msg.error("Atualização nao realizada", "Erro");
console.log('error', error)
}
}
)
}
Para Deletar (Delete)
Delete usando C#
public class ExemploMinhaClasseCsharp{
public async Task DeletarRegistroAsync(Guid idRegistro){
await CustomPageContext.DeleteAsync(idRegistro);
}
}
public ExemploMinhaClasseCsharp CreateInstanceExemploMinhaClasseCsharp(){
var obj = CreateInstance<ExemploMinhaClasseCsharp>();
return obj;
}
Agora você precisa chamar esse metodo dentro do seu page<body> ou no partial cshtml.
@{
var obj = CustomPageClass.CreateInstanceExemploMinhaClasseCsharp();
var idRegistro = CustomPageContext.GetParam("idRegistro");
await obj.DeletarRegistroAsync(Guid.Parse(idRegistro));
}
Form Deletado
Uma das formas para Passar o Id do Registro que deve ser atualizado, você pode utilizar a função abaixo no javascript:
function loadPartialToDeleteRegister() {
var cshtmlPartialName = "[coloque aqui o nome do partial cshtml que vc fez as regras de deletar]";
customPageContext.loadCsHtmlComponent(cshtmlPartialName,
{
placeholderId: 'result_cshtml', //parametro opcional, se o cshtml retornar algum html e vc quiser, vc pode colocar o retorno dentro de algum placeholder, div, etc..
extraData: {
idRegistro: $('#guidRegistro').val(), //supondo que vc tenha um campo (guidRegistro) na tela com o GUID preenchido ref ao id do registro que quer deletar
},
onSuccess: function (result) {
customPageContext.msg.success("Removido com sucesso", "Confirmação");
},
onError: function (error) {
customPageContext.msg.error("Remoção nao realizada", "Erro");
console.log('error', error)
}
}
)
}
Delete usando cshtml
@{
var idRegistro = CustomPageContext.GetParam("idRegistro");
await CustomPageContext.DeleteAsync(idRegistro);
}
Form Atualizado
Uma das formas para Passar o Id do Registro que deve ser atualizado, você pode utilizar a função abaixo no javascript:
function loadPartialToDeleteRegister() {
var cshtmlPartialName = "[coloque aqui o nome do partial cshtml que vc fez as regras de deletar]";
customPageContext.loadCsHtmlComponent(cshtmlPartialName,
{
placeholderId: 'result_cshtml', //parametro opcional, se o cshtml retornar algum html e vc quiser, vc pode colocar o retorno dentro de algum placeholder, div, etc..
extraData: {
idRegistro: $('#guidRegistro').val(), //supondo que vc tenha um campo (guidRegistro) na tela com o GUID preenchido ref ao id do registro que quer deletar
},
onSuccess: function (result) {
customPageContext.msg.success("Removido com sucesso", "Confirmação");
},
onError: function (error) {
customPageContext.msg.error("Remoção nao realizada", "Erro");
console.log('error', error)
}
}
)
}