Formulario API 2.0.N
Ir a la navegación
Ir a la búsqueda
Formulario API
Código de Referencia
using FlexiPyme.db;
using FlexiPyme.entorno;
using FlexiPyme.global;
using FlexiPyme.ui.formularios.especificos.api;
using FlexiPyme.util;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
namespace FlexiDemo.Formularios.Stock
{
public class frmProductosApi : FlexiApi
{
public override void InicializarFormulario()
{
this.PermitirAccesoAnonimo = true;
this.AgregarMetodo("ListarProveedores", new List<string>() {"filtro"});
this.AgregarMetodo("ListarProductosPorProveedor", new List<string>() {"idProveedor", "pagina"});
this.AgregarMetodo("ActualizarProveedor",
new List<FlexiApiParametro>()
{ new FlexiApiParametro("idProveedor"),
new FlexiApiParametro("datos", FlexiApiParametroTipo.POST_BODY),
new FlexiApiParametro("access_token", FlexiApiParametroTipo.HEADER)
});
this.AgregarMetodo("ObtenerBinario", new List<string>() { });
this.BuscarMetodo("ObtenerBinario").TipoRetorno = FlexiApiMetodoTipoRetorno.BINARIO;
this.BuscarMetodo("ObtenerBinario").ContentTypeRespuesta = "image/jpeg";
}
public override void EjecutarMetodo(string metodo, Dictionary<string, string> valores, out string json)
{
json = "";
if (metodo == "ListarProveedores")
{
string filtro = valores["filtro"];
dynamic provs = new List<dynamic>();
string sql = "select * from Proveedores ";
if (filtro != "")
sql += " where razonSocial like '%' + @filtro + '%' ";
Dictionary<string, object> pars = new Dictionary<string, object>();
pars.Add("@filtro", filtro);
FlexiDbTabla ds = FlexiDb.Listar(sql, pars);
foreach (FlexiDbFila fila in ds.Filas)
{
dynamic prov = new ExpandoObject();
prov.RazonSocial = fila.ObtenerComoCadena("razonSocial");
prov.CUIT = fila.ObtenerComoCadena("cuit");
provs.Add(prov);
}
//ds.AgregarFilaAlPrincipio
json = JsonConvert.SerializeObject(provs, Formatting.Indented);
//throw new BusinessException("Errorrrrrrrrrrrrrr");
}
else if (metodo == "ActualizarProveedor")
{
string idProveedor = valores["idProveedor"];
string datos = valores["datos"];
string access_token = valores["access_token"];
dynamic msg = new ExpandoObject();
msg.mensaje = "OK.";
json = JsonConvert.SerializeObject(msg, Formatting.Indented);
}
}
public override void EjecutarMetodoBinario(string metodo, Dictionary<string, string> valores, out byte[] datos)
{
datos = null;
if (metodo == "ObtenerBinario")
{
datos = File.ReadAllBytes(Archivos.CaminoRealCarpetaArchivosPublicos + "sem_rojo.jpg");
}
}
}
}