Beispiel #1
0
        private static void CancelarOrdensExperiradas(object state)
        {
            if (DateTime.Now.Hour < HorarioFechamentoBolsa)
            {
                OrdensExpiradasAtualizadas = false;
            }

            if ((DateTime.Now.Hour >= HorarioFechamentoBolsa) && (OrdensExpiradasAtualizadas == false))
            {
                CamadaDeDados _CamadaDeDados = new CamadaDeDados();

                _CamadaDeDados.AbrirConexao();
                List <string> Ordens = _CamadaDeDados.BuscarOrdensValidasParaoDia();

                IServicoOrdens ServicoOrdens = Ativador.Get <IServicoOrdens>();

                for (int i = 0; i <= Ordens.Count - 1; i++)
                {
                    ClienteCancelamentoInfo ClienteCancelamentoInfo = new ClienteCancelamentoInfo()
                    {
                        OrderID = Ordens[i].ToString()
                    };

                    EnviarCancelamentoOrdemRequest request = new EnviarCancelamentoOrdemRequest()
                    {
                        ClienteCancelamentoInfo = ClienteCancelamentoInfo
                    };

                    EnviarCancelamentoOrdemResponse response =
                        ServicoOrdens.CancelarOrdem(request);
                }

                OrdensExpiradasAtualizadas = true;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Exclui as ordens selecionadas
        /// </summary>
        /// <returns>Retorna uma string com mensagem de sucesso ou erro ao excluir as ordens</returns>
        private string ResponderExcluirOrdens()
        {
            string lRetorno = string.Empty;

            try
            {
                string lIds = Request.Form["Ids"];

                string lPortas = Request.Form["Portas"];

                string lMensagem = "";

                List <string> lstIdOrdem = new List <string>();

                IServicoOrdens lOrdem = Ativador.Get <IServicoOrdens>();

                Dictionary <string, string> lCriticas = new Dictionary <string, string>();

                EnviarCancelamentoOrdemResponse lResponse = new EnviarCancelamentoOrdemResponse();

                string[] Ordens = lIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

                string[] Portas = lPortas.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

                ClienteCancelamentoInfo info;

                EnviarCancelamentoOrdemRequest lRequestCancel;

                for (int i = 0; i < Ordens.Length; i++)
                {
                    info = new ClienteCancelamentoInfo();

                    info.OrderID = Ordens[i];

                    info.PortaControleOrdem = Portas[i];

                    lRequestCancel = new EnviarCancelamentoOrdemRequest()
                    {
                        ClienteCancelamentoInfo = info
                    };

                    lResponse = lOrdem.CancelarOrdem(lRequestCancel);

                    if (lResponse.StatusResposta != OMS.Ordens.Lib.Enum.CriticaRiscoEnum.Sucesso)
                    {
                        lCriticas.Add(info.OrderID, lResponse.DescricaoResposta);
                    }
                }

                if (lCriticas.Count > 0)
                {
                    foreach (KeyValuePair <string, string> critica in lCriticas)
                    {
                        lMensagem += string.Concat("Ordem: ", critica.Key, "Crítica - ", critica.Value);
                    }

                    lRetorno = RetornarSucessoAjax(lMensagem);
                }
                else
                {
                    lRetorno = RetornarSucessoAjax("Orden(s) cancelada(s) com sucesso");
                    base.RegistrarLogExclusao(string.Concat("Foram EXCLUÍDAS as seguintes ordens: ", lIds));
                }
            }
            catch (Exception ex)
            {
                lRetorno = base.RetornarErroAjax("Erro ao tentar cancelar ordem.", ex);
            }

            return(lRetorno);
        }