Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lilian Freitas

Pegar retorno de uma função

Recommended Posts

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!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você postou na área de "Javascript", será mais fácil você perguntar na área de "Java"

 

http://forum.imasters.com.br/forum/17-plataforma-java/

 

Engano seu, o tópico encontra-se na área Plataforma Java.

Pois bem Lilian, recomendo que pergunte na área "Plataforma .NET", afinal ambos os códigos estão em C#. Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.