Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Tenho uma função em outra página (um wms) e preciso pegar o retorno dessa função e utilizar em outra página. Alguém sabe como faço isso?
Esse é o trecho de código do wms:
public Dictionary<int, float> reservarProduto(int idEmpresa, int idUsuario, int idProduto, float quantidade, bool usarNaoConsumiveis = false, int? idPosicao = null, int? idPedido = null)
{
Dictionary<int, float> posicoes = new Dictionary<int, float>();
try
{
using (DCIntegraDataContext db = new DCIntegraDataContext())
{
var reservas = db.spCalcularReservaProduto((int)idProduto, (float)quantidade, usarNaoConsumiveis);
foreach (var reserva in reservas)
{
var existeReserva = db.WRESERVAPRODUTOs.FirstOrDefault(r => r.idEmpresa == idEmpresa && r.idPosicao == idPosicao && r.idProduto == idProduto && r.idPedido == idPedido && r.finalizada != true && r.quantidade == quantidade);
if (existeReserva == null)
{
WRESERVAPRODUTO novaReserva = new WRESERVAPRODUTO();
novaReserva.idEmpresa = idEmpresa;
novaReserva.idPosicao = (int)reserva.idPosicao;
novaReserva.idProduto = idProduto;
if (idPedido != null)
{
novaReserva.idPedido = (int)idPedido;
}
novaReserva.quantidade = (double)reserva.quantidade;
novaReserva.reservadoPor = idUsuario;
novaReserva.dataReserva = DateTime.Now;
novaReserva.finalizada = false;
db.WRESERVAPRODUTOs.InsertOnSubmit(novaReserva);
db.SubmitChanges();
if (!posicoes.ContainsKey((int)reserva.idPosicao))
{
posicoes.Add((int)reserva.idPosicao, (float)reserva.quantidade);
}
}
}
}
}
catch (Exception ex)
{
IntegraCore integra = new IntegraCore();
integra.gravarLogSistema(String.Format(">WMS {0}\r\n- {1} \r\n- {2}", DateTime.Now.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message + "\n" + ex.StackTrace));
}
return posicoes;
}
Quero usar esse return nesse código aqui:
protected void btnConfirmar_Click(object sender, EventArgs e)
{
DCIntegraDataContext db = new DCIntegraDataContext();
var separador = false;
String pedidos = "";
foreach (RepeaterItem ri in rptPedidos.Controls)
{
foreach (Control c in ri.Controls)
{
if (c is CheckBox)
{
if (((CheckBox)c).Checked)
{
//Adicionando todos os produtos a serem selecionados
if (((CheckBox)c).ID == "pedido")
{
try
{
db.WRESERVAPRODUTOs.DeleteAllOnSubmit(db.WRESERVAPRODUTOs.Where(rp => rp.idPedido == Convert.ToInt32(((CheckBox)c).CssClass)));
db.WSEPARACAOPRODUTOs.DeleteAllOnSubmit(db.WSEPARACAOPRODUTOs.Where(rp => rp.idPedido == Convert.ToInt32(((CheckBox)c).CssClass)));
db.SubmitChanges();
WSEPARACAO novaSeparacao = new WSEPARACAO();
novaSeparacao.idEmpresa = Convert.ToInt32(Session["idEmpresa"]);
novaSeparacao.iniciadoPor = Convert.ToInt32(Session["idUsuario"]);
novaSeparacao.descricaoSeparacao = "SEPARAÇÃO" + DateTime.Now.ToString();
novaSeparacao.dataInicio = DateTime.Now;
//novaSeparacao.responsavelSeparacao = null;//Convert.ToInt32(ddSeparador.SelectedValue);
db.WSEPARACAOs.InsertOnSubmit(novaSeparacao);
db.SubmitChanges();
var produtos = from p in db.OPEDIDOSPRODUTOs
join q in db.OPRODUTOs on p.idProduto equals q.idProduto
where p.idPedido == Convert.ToInt32(((CheckBox)c).CssClass) && (p.removido == false || p.removido == null)
select new { p.idProduto, p.quantidade, p.presente, q.produtoKit };
foreach (var produto in produtos)
{
//verifica se produto é um KIT, caso não seja KIT insere o produto normal na separação
if (produto.produtoKit != true)
{
WSEPARACAOPRODUTO novoProduto = new WSEPARACAOPRODUTO();
novoProduto.idSeparacao = novaSeparacao.idSeparacao;
novoProduto.idPedido = Convert.ToInt32(((CheckBox)c).CssClass);
novoProduto.idProduto = produto.idProduto;
novoProduto.quantidade = (double)produto.quantidade;
novoProduto.presente = produto.presente;
novoProduto.compoemKit = false;
db.WSEPARACAOPRODUTOs.InsertOnSubmit(novoProduto);
//Indicar onde o produto será reservado
WMS wms = new WMS();
wms.reservarProduto(Convert.ToInt32(Session["idEmpresa"]), Convert.ToInt32(Session["idUsuario"]), produto.idProduto, (float)produto.quantidade, false, null, (int)novoProduto.idPedido);
var associarSeparador = db.WPOSICOEs.FirstOrDefault(p => p.idPosicao == "O return vem aqui" && p.idEmpresa == novaSeparacao.idEmpresa).idSeparador;
Obrigada desde já.
E feliz Carnaval galera!!!
Carregando comentários...