public void CriarArquivoLog(List <string> mensagem, string url, string usuario, string senha) { string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; Trace.Add("CriarArquivoLog - URL {0} USERNAME: {1}", url, userName); Trace.Add("MensagemArquivoLog - {0} ", mensagem); StringBuilder sb = new StringBuilder(); foreach (string item in mensagem) { sb.AppendLine(item); } Uri destUri = new Uri(url); using (MemoryStream inStream = new System.IO.MemoryStream(Encoding.Default.GetBytes(sb.ToString()))) { WebRequest request = WebRequest.Create(url); request.Credentials = new NetworkCredential(usuario, senha); request.Method = "PUT"; request.Timeout = 10000; request.ContentType = "text/plain;charset=utf-8"; using (Stream outStream = request.GetRequestStream()) { inStream.CopyTo(outStream); } WebResponse res = request.GetResponse(); } }
public void Move() { currentDirection = GetNextDefaultDirection(); Trace.Add(Position); Point nextPoint = (Point)Position.Clone(); if (currentDirection == MovementDirection.DOWN && Position.Y < arena.Height) { nextPoint.Y++; } else if (currentDirection == MovementDirection.LEFT && Position.X > 0) { nextPoint.X--; } else if (currentDirection == MovementDirection.RIGHT && Position.X < arena.Width) { nextPoint.X++; } else if (currentDirection == MovementDirection.UP && Position.Y > 0) { nextPoint.Y--; } Position = nextPoint; arena.Update(this); }
/// <summary> /// Método responsável por criar o diretório no sharepoint e vincular ao registro do CRM. /// </summary> public void CriarDiretorio <T>(string nome, Guid id) { if (!string.IsNullOrEmpty(nome)) { nome = nome.Replace("&", "e"); nome = nome.Replace("/", "-"); var nomeEntidade = SDKore.Crm.Util.Utility.GetEntityName <T>(); var urlSite = Domain.Servicos.Helper.RemoverBarraDoFinal(SDKore.Configuration.ConfigurationManager.GetSettingValue("UrlSiteSharePoint")); var usuario = SDKore.Configuration.ConfigurationManager.GetSettingValue("UsuarioSharePoint"); var senha = SDKore.Configuration.ConfigurationManager.GetSettingValue("SenhaSharePoint"); var dominio = SDKore.Configuration.ConfigurationManager.GetDomain(this.OrganizationName); string urlCompleta = string.Format("{0}/{1}/{2}_{3}", urlSite, nomeEntidade, nome, id.ToString().Replace("-", "")); Trace.Add("Enviando requição para Sharepoint! UrlComplata {0}", urlCompleta); WebRequest req = WebRequest.Create(urlCompleta); req.Credentials = new NetworkCredential(SDKore.Helper.Cryptography.Decrypt(usuario), SDKore.Helper.Cryptography.Decrypt(senha), dominio); req.Method = "MKCOL"; WebResponse response = req.GetResponse(); response.Close(); Trace.Add("Associando diretório ao registro!"); Repositorio.AssociarDiretorioAoRegistroCRM(urlCompleta, nomeEntidade, nome, id); } }
public void AddTraceData(Message message) { if (message.Type == MessageType.TRACE) { System.Diagnostics.Debug.Print("Adding trace " + message.Value); var td = new TraceData(message.Value); String traceOutput; if (Trace.Count > MESSAGE_LOG_MAX) { Trace.RemoveAt(0); } //assign here to notify properties TraceOutput = td.TraceMessage; Trace.Add(td); } }
public Tarefa Persistir(Model.Tarefa objTarefa, out string retorno) { //Somente Update retorno = string.Empty; Tarefa TmpTarefa = null; Trace.Add("Tarefa.Persistir IsUpdate: {0}", objTarefa.ID.HasValue); if (objTarefa.ID.HasValue) { TmpTarefa = RepositoryService.Tarefa.ObterPor(objTarefa.ID.Value); if (TmpTarefa != null) { objTarefa.ID = TmpTarefa.ID; RepositoryService.Tarefa.Update(objTarefa); Trace.Add("Atualizando tarefa ID: {0}", objTarefa.ID.Value); //Altera Status - Se necessário if (!TmpTarefa.State.Equals(objTarefa.State) && objTarefa.State != null) { Trace.Add("Atualizando Status para: {0}", objTarefa.State.Value); this.MudarStatus(TmpTarefa.ID.Value, objTarefa.State.Value, null); } return(TmpTarefa); } else { retorno = "Tarefa - " + objTarefa.ID.Value.ToString() + " não cadastrada no Crm, ação de insert não permitida para entidade 'Tarefa'."; Trace.Add(retorno); return(null); } } return(null); }
private void ProcessQueue() { while (true & !Cancelled) { T item; var _startQueueWait = DateTime.Now; Interlocked.Increment(ref WaitingOnQueue); lock (_queueLock) { if (Queue.Count == 0) { // queue is empty return; } item = Queue.Dequeue(); } Interlocked.Decrement(ref WaitingOnQueue); Interlocked.Increment(ref Current); _queue.Add(_startQueueWait); Interlocked.Increment(ref ActiveWorkers); ProgressUpdate(Current, _total); var startDuration = DateTime.Now; var _startRun = DateTime.Now; RunItem(item); _run.Add(_startRun); Interlocked.Decrement(ref ActiveWorkers); } }
private void InserirLog(string mensagem) { Trace.Add(mensagem); this.mensagemLog.Add(mensagem); }
public void ImportarValores(MetadaUnidade metaUnidade, string pathTemp, Enum.OrcamentodaUnidade.Trimestres?trimestre = null) { int quantidadePorLote = 1000; var trace = new Trace("Meta-Unidade-IMPORTAR" + metaUnidade.ID.Value); trace.Add(" --------------------------- Iniciando --------------------------- "); try { var listaErros = new List <string>(); var mensagemErro = new StringBuilder(); // Atualizar Status metaUnidade.MensagemdeProcessamento = string.Format("{0} - Iniciando Importação da Unidade{1}{2}", DateTime.Now, Environment.NewLine + Environment.NewLine, metaUnidade.MensagemdeProcessamento).Truncate(1000); RepositoryService.MetadaUnidade.Update(new MetadaUnidade(metaUnidade.OrganizationName, metaUnidade.IsOffline) { ID = metaUnidade.ID, StatusCode = (int)Enum.MetaUnidade.StatusMetaUnidade.ImportandoPlanilhaMeta, MensagemdeProcessamento = metaUnidade.MensagemdeProcessamento }); #region Criando níveis da meta AtualizarValoresMetaUnidade(metaUnidade); // Trimestre listaErros = AtualizarValoresPotencialTrimestre(metaUnidade, quantidadePorLote); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por trimestre!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } // Segmento listaErros = AtualizarValoresPotencialSegmento(metaUnidade, quantidadePorLote, trimestre); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por segmento!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } // Familia listaErros = AtualizarValoresPotencialFamilia(metaUnidade, quantidadePorLote, trimestre); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por família!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } // Subfamilia listaErros = AtualizarValoresPotencialSubfamilia(metaUnidade, quantidadePorLote, trimestre); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por subfamília!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } // Produto if (trimestre.HasValue) { listaErros = AtualizarValoresPotencialProduto(metaUnidade, quantidadePorLote, trimestre.Value); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por produto!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } listaErros = AtualizarValoresPotencialProdutoMes(metaUnidade, quantidadePorLote, trimestre.Value); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por produto mês!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } } else { listaErros = AtualizarValoresPotencialProduto(metaUnidade, quantidadePorLote); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por produto!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } listaErros = AtualizarValoresPotencialProdutoMes(metaUnidade, quantidadePorLote); if (listaErros.Count > 0) { mensagemErro.AppendLine("Atualização de meta unidade por produto mês!"); mensagemErro.AppendLine(string.Join(Environment.NewLine, listaErros)); } } #endregion if (mensagemErro.Length == 0) { trace.Add("{0} - Alterando status de registro do CRM", DateTime.Now); metaUnidade.MensagemdeProcessamento = string.Format("{0} - Finalizando Importação da Unidade{1}{2}", DateTime.Now, Environment.NewLine, metaUnidade.MensagemdeProcessamento).Truncate(1000); RepositoryService.MetadaUnidade.Update(new MetadaUnidade(metaUnidade.OrganizationName, metaUnidade.IsOffline) { ID = metaUnidade.ID, StatusCode = (int)Enum.MetaUnidade.StatusMetaUnidade.PlanilhaMetaImportadaSucesso, MensagemdeProcessamento = metaUnidade.MensagemdeProcessamento }); } else { trace.Add("{0} - Alterando status de registro do CRM", DateTime.Now); metaUnidade.MensagemdeProcessamento = string.Format("{0} - Erro Importação do Supervisor{1}{2}", DateTime.Now, Environment.NewLine, metaUnidade.MensagemdeProcessamento).Truncate(1000); RepositoryService.MetadaUnidade.Update(new MetadaUnidade(metaUnidade.OrganizationName, metaUnidade.IsOffline) { ID = metaUnidade.ID, StatusCode = (int)Enum.MetaUnidade.StatusMetaUnidade.ErroImportarPlanilhaMeta, MensagemdeProcessamento = metaUnidade.MensagemdeProcessamento }); trace.Add("{0} - Criando arquivo de log", DateTime.Now); string file = pathTemp + "Log Error Metas.txt"; new ArquivoService(RepositoryService).CriarArquivoLog(metaUnidade, mensagemErro.ToString(), file); } } catch (Exception ex) { string mensagem = Error.Handler(ex); trace.Add(ex); metaUnidade.MensagemdeProcessamento = string.Format("{0} - Erro Importação: {1}{2}{3}", DateTime.Now, mensagem, Environment.NewLine, metaUnidade.MensagemdeProcessamento).Truncate(1000); RepositoryService.MetadaUnidade.Update(new MetadaUnidade(metaUnidade.OrganizationName, metaUnidade.IsOffline) { ID = metaUnidade.ID, StatusCode = (int)Enum.MetaUnidade.StatusMetaUnidade.ErroImportarPlanilhaMeta, MensagemdeProcessamento = metaUnidade.MensagemdeProcessamento }); } finally { trace.SaveClear(); } }
public void Add(SDCombinedStackFrame item) { Trace.Add(item); }
private void DijkstraStep(string input, PolishNotationTokenType type, bool isAssignmentToThisIdentifier = false) { switch (type) { // 1. Ідентифікатори та константи проходять від входу прямо до виходу case PolishNotationTokenType.Identifier: case PolishNotationTokenType.Literal: ReversePolishNotation.Add(new PolishNotation { Token = input, Type = type, IsAssignmentToThisIdentifier = isAssignmentToThisIdentifier }); break; // Операції звичайно потрапляють на вихід через магазин case PolishNotationTokenType.Operator: AddOperatorToStack(input); break; // 4. Якщо вхідний ланцюжок порожній, всі операції зі стека по черзі передаються на вихід // за ознакою кінця виразу (наприклад, ";"). case PolishNotationTokenType.Delimiter: { while (Stack.Count != 0 && !Stack.Peek().Token.StartsWith("if") && !Stack.Peek().Token.StartsWith("while")) { ReversePolishNotation.Add(Stack.Pop()); } // ReversePolishNotation.Add(new PolishNotation {Token = input, Type = type}); } break; case PolishNotationTokenType.If: Stack.Push(new PolishNotation { Token = input, Type = type }); break; // Символ then з пріоритетом 1 виштовхує зі стека всі знаки до першого // if виключно. При цьому генерується нова мітка mi й у вихідний рядок // заноситься mi УПХ. Потім мітка mi заноситься в таблицю міток і дописується у вершину стека, // таким чином, запис if у вершині стека перетворюється на запис if mi case PolishNotationTokenType.Then: { PolishNotation head = Stack.Peek(); while (!head.Token.StartsWith("if")) { ReversePolishNotation.Add(Stack.Pop()); head = Stack.Peek(); } string label = GenerateLabel(); head.Token = $"{head.Token} {label}"; ReversePolishNotation.Add(new PolishNotation { Token = $"{label}", Type = PolishNotationTokenType.Label }); ReversePolishNotation.Add(new PolishNotation { Token = "УПХ", Type = type }); } break; // Символ кінця умовного оператора (наприклад, ; або end) виштовхує зі // стека все до найближчого if. Це може бути if mi mi+1 (або if mi у разі // конструкції if <вираз> then <оператор>;). Запис видаляється зі стека, // а у вихідний рядок додається mi+1: (або mi: у випадку неповного оператора умовного переходу). case PolishNotationTokenType.Fi: { PolishNotation head = Stack.Peek(); while (!head.Token.StartsWith("if")) { ReversePolishNotation.Add(Stack.Pop()); head = Stack.Peek(); } head = Stack.Pop(); string label = head.Token.Split(" ").Last(); ReversePolishNotation.Add(new PolishNotation { Token = $"{label}", Type = PolishNotationTokenType.Label }); ReversePolishNotation.Add(new PolishNotation { Token = ":", Type = type }); _labelAddresses[label] = ReversePolishNotation.Count; } break; case PolishNotationTokenType.While: { string label = GenerateLabel(); Stack.Push(new PolishNotation { Token = $"{input} {label}", Type = type }); ReversePolishNotation.Add(new PolishNotation { Token = $"{label}", Type = PolishNotationTokenType.Label }); ReversePolishNotation.Add(new PolishNotation { Token = $":", Type = type }); _labelAddresses[label] = ReversePolishNotation.Count; } break; case PolishNotationTokenType.TechnicalDo: { PolishNotation head = Stack.Peek(); while (!head.Token.StartsWith("while")) { ReversePolishNotation.Add(Stack.Pop()); head = Stack.Peek(); } string label = GenerateLabel(); head.Token = $"{head.Token} {label}"; ReversePolishNotation.Add(new PolishNotation { Token = $"{label}", Type = PolishNotationTokenType.Label }); ReversePolishNotation.Add(new PolishNotation { Token = "УПХ", Type = type }); } break; case PolishNotationTokenType.Enddo: { PolishNotation head = Stack.Peek(); while (!head.Token.StartsWith("while")) { ReversePolishNotation.Add(Stack.Pop()); head = Stack.Peek(); } head = Stack.Pop(); string[] labels = head.Token.Split(" "); ReversePolishNotation.Add(new PolishNotation { Token = $"{labels[1]}", Type = PolishNotationTokenType.Label }); ReversePolishNotation.Add(new PolishNotation { Token = "БП", Type = type }); ReversePolishNotation.Add(new PolishNotation { Token = $"{labels.Last()}", Type = PolishNotationTokenType.Label }); ReversePolishNotation.Add(new PolishNotation { Token = $":", Type = type }); _labelAddresses[labels.Last()] = ReversePolishNotation.Count; } break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } Trace.Add(new PolishTrace { Input = input, // Stack = new Stack<PolishNotation>(Stack), Stack = Stack.Clone(), ReversePolishNotation = new List <PolishNotation>(ReversePolishNotation) }); MoveNext(); }