public static float PdrHoraria(Estrutura estrutura) // AB { float result = 0; if (estrutura.Sequencia.Tipo.Substring(0, 1) == XmlReader.Read("SequenciaE1").Substring(0, 1)) { if (Math.Abs(estrutura.Lote) > Global.Tolerance) { result = estrutura.QtdCusto / estrutura.Lote / (1 - estrutura.Perda); } } return(result); }
public static float CstMtrlPrcd3(Estrutura estrutura) // AH { float result = 0; using (var db = new ApplicationDbContext()) { if (estrutura.Sequencia.Tipo == XmlReader.Read("SequenciaA") && estrutura.TpItmCst == XmlReader.Read("Manufaturado")) { result = db.Produtos.Single(p => p.Apelido == estrutura.Item).CstMatEtapa2 *estrutura.QtEftvUntrCmpnt; } } return(result); }
public static float CstIndividual(Estrutura estrutura) // Q { float result; using (var db = new ApplicationDbContext()) { float quantidade = db.Produtos.Single(p => p.Apelido == estrutura.Produto.Apelido).QtdUnid; result = (Math.Abs(quantidade) > Global.Tolerance) ? estrutura.CstCmprUndPrd / quantidade : 0; } return(result); }
// GET: Estruturas1/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Estrutura estrutura = db.Estruturas.Find(id); if (estrutura == null) { return(HttpNotFound()); } return(View(estrutura)); }
public EntidadeNode getArvore(string codigo, string designacao) { EntidadeNode toReturn = null; using (EstruturaAPEntities entities = new EstruturaAPEntities()) { Estrutura root = null; if (string.IsNullOrEmpty(codigo) && string.IsNullOrEmpty(designacao)) { root = entities.Estrutura.Where(est => est.Depende == null).FirstOrDefault(); } else if (string.IsNullOrEmpty(codigo)) { root = entities.Estrutura.Where(est => est.Entidade.Designacao.Contains(designacao)).FirstOrDefault(); } else { root = entities.Estrutura.Where(est => est.CodEstrutura.Contains(codigo)).FirstOrDefault(); } if (root != null) { toReturn = new EntidadeNode() { CodEntidade = root.CodEntidade, CodEstrutura = root.CodEstrutura, CodEstruturaInterno = root.CodEstruturaInterno, Designacao = root.Entidade?.Designacao, Sigla = root.Entidade?.Sigla, Supervisor = root.Supervisor?.CodEstruturaInterno, children = null }; if (root.Dependentes != null && root.Dependentes.Count() > 0) { toReturn.children = new List <EntidadeNode>(); foreach (Estrutura item in root.Dependentes) { toReturn.children.Add(getArvore(item.CodEstrutura, null)); } } else { toReturn.children = null; } } } return(toReturn); }
public static float CstMtrlDrt(Estrutura estrutura) // AE { float result = 0; if (estrutura.Sequencia.Tipo == XmlReader.Read("SequenciaB") || estrutura.Sequencia.Tipo == XmlReader.Read("SequenciaC") || estrutura.Sequencia.Tipo == XmlReader.Read("SequenciaD") || estrutura.Sequencia.Tipo == XmlReader.Read("SequenciaA") && estrutura.TpItmCst == XmlReader.Read("Insumos")) { result = estrutura.CstCmprUndPrd; } return(result); }
public static float HrsModPrec1(Estrutura estrutura) // X { float result; using (var db = new ApplicationDbContext()) { var boh = estrutura.Produto.Apelido; var mah = estrutura.Item; result = estrutura.TpItmCst == XmlReader.Read("Manufaturado") && estrutura.Onera ? db.Produtos.Single(p => p.Apelido == estrutura.Item).HorasModUltmEtapa *estrutura.QtEftvUntrCmpnt : 0; } return(result); }
public static string AlrtSbPrdt(Estrutura estrutura) // R { string result; using (var db = new ApplicationDbContext()) { var produto = db.Produtos.SingleOrDefault(p => p.Apelido == estrutura.Item); result = produto != null ? db.ClassesCusto.Single(c => c.ClasseCustoId == produto.ClasseCustoId).Descricao : ""; } return(result); }
public ActionResult Edit([Bind(Include = "Id,ProdutoId,UnidadeId,QtdCusto,SequenciaId,Item,DescCompProc,UnidadeCompraId,CustoUnitCompra,Onera,Lote,Perda,Observacao,PartCusto,QtEftvUntrCmpnt,CstCmprUndPrd,CustoIndividual,QtdUndd,RefAuxiliarProduto,TpItmCst,CategoriaId,FamiliaId,LinhaId,AlrtSbPrdt,TempMaq,TipoItemCusto,PsLiqdFnl,PsLiqdPrcdt,HrsModFnl,HrsModPrec1,HrsModPrec2,IdProd,IdCmpnt,PdrHoraria,ProdComp,CstIndividual,CstMtrlDrt,CstMtrlPrcd1,CstMtrlPrcd2,CstMtrlPrcd3,Header,SetorProducao,ListaPlanejProducao,NeedComponProducao,ListaNecessProdNivel1,NecCompListaP1,ListaNecessProdNivel2,NecCompListaP2,ListaNecessProdNivel3,NecCompListaP3,ListaNecessProdNivel4,NecCompListaP4,NecTotalComponente,Mes1,Mes2,Mes3,Mes4,Mes5,Mes6,Mes7,Mes8,Mes9,Mes10,Mes11,Mes12,Input")] Estrutura estrutura) { if (ModelState.IsValid) { db.Entry(estrutura).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CategoriaId = new SelectList(db.Categorias, "CategoriaId", "Apelido", estrutura.CategoriaId); ViewBag.FamiliaId = new SelectList(db.Familias, "FamiliaId", "Apelido", estrutura.FamiliaId); ViewBag.LinhaId = new SelectList(db.Linhas, "LinhaId", "Apelido", estrutura.LinhaId); ViewBag.ProdutoId = new SelectList(db.Produtos, "Id", "Apelido", estrutura.ProdutoId); ViewBag.SequenciaId = new SelectList(db.Sequencias, "SequenciaId", "Tipo", estrutura.SequenciaId); return(View(estrutura)); }
public static float ListaPlanejProducao(Estrutura stru) // W { float result = 0; using (var db = new ApplicationDbContext()) { var pmp = db.PlanejProducoes.SingleOrDefault(p => p.ProdutoId == stru.ProdutoId); if (pmp != null) { result = pmp.PmpAnoMenos00; } } return(result); }
public static string TipoItemCusto(Estrutura register) // Q { string tipoItemCusto = ""; string boh = register.Produto.Apelido; string mah = register.Item; if (register.Sequencia.Descricao != "") { using (var db = new ApplicationDbContext()) { string tipoNaoInformado = XmlReader.Read("TipoNaoInformado"); var insumo = db.Insumos.SingleOrDefault(i => i.Apelido == register.Item); if (insumo == null) { var produto = db.Produtos.SingleOrDefault(p => p.Apelido == register.Item); if (produto == null) { var operacao = db.Operacoes.SingleOrDefault(o => o.CodigoOperacao == register.Item); if (operacao == null) { DbLogger.Log(Reason.Error, $"Código {register.Item} não encontrado em Operações"); tipoItemCusto = Global.Erro; } else { tipoItemCusto = $"c-MOD Setor {operacao.SetorProducao}"; } } else { tipoItemCusto = db.Tipos.Single(t => t.TipoId == produto.TipoId).Descricao; } } else { tipoItemCusto = db.Tipos.First(i => i.TipoId == insumo.TipoId).Descricao; } } } return(tipoItemCusto); }
static void Main(String [] args) { //Pilha ColecaoStackCSharp colecao = new ColecaoStackCSharp(); //Cria alguns itens para inserirmos Estrutura estrutura = new Estrutura(); estrutura.Idade = 10; estrutura.Nome = "Ben 10"; Estrutura estrutura1 = new Estrutura(); estrutura1.Idade = 10; estrutura1.Nome = "Ben 10"; Estrutura estrutura2 = new Estrutura(); estrutura2.Idade = 45; estrutura2.Nome = "Arthur"; Estrutura estrutura3 = new Estrutura(); estrutura3.Idade = 34; estrutura3.Nome = "Josefina"; Estrutura estrutura4 = new Estrutura(); estrutura4.Idade = 76; estrutura4.Nome = "Lucio"; Estrutura estrutura5 = new Estrutura(); estrutura5.Idade = 50; estrutura5.Nome = "Ronaldo"; //insere na colecao colecao.insereNaPilha(estrutura); colecao.insereNaPilha(estrutura1); colecao.insereNaPilha(estrutura2); colecao.insereNaPilha(estrutura3); colecao.insereNaPilha(estrutura4); colecao.insereNaPilha(estrutura5); //remove topo colecao.removeTopoDaPilha(); }
public static float PsLiqdFnl(Estrutura estrutura) // Y { float result; using (var db = new ApplicationDbContext()) { string unidade = db.Unidades.Single(u => u.UnidadeId == estrutura.UnidadeCompraId).Apelido; result = Math.Abs(estrutura.QtdCusto) > Global.Tolerance && estrutura.Sequencia.Tipo == "A" && unidade == "kg" ? estrutura.Lote / estrutura.QtdCusto : 0; } return(result); }
// GET: PlanejNecessidades/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Estrutura estrutura = db.Estruturas.Find(id); if (estrutura == null) { return(HttpNotFound()); } ViewBag.ProdutoId = new SelectList(db.Produtos, "Id", "Apelido", estrutura.ProdutoId); ViewBag.SequenciaId = new SelectList(db.Sequencias, "SequenciaId", "Tipo", estrutura.SequenciaId); return(View(estrutura)); }
public async Task <JsonResult> DeletarEstrutura([FromBody] object Estrutura, string token) { dynamic objEn = Estrutura; string a = objEn.idEstrutura.ToString(); if (await Seguranca.validaTokenAsync(token)) { Estrutura obj = EstruturaDAO.GetAll().Where(x => x.ID == Convert.ToInt32(a)).FirstOrDefault(); return(Json(new { msg = EstruturaDAO.Remove(obj) })); //return Json(new { msg = false }); } else { return(Json(new { msg = false })); } }
public static T Deserializar <T>(string json) => string.IsNullOrEmpty(json) ? default : JsonConvert.DeserializeObject <T>(json, new JsonSerializerSettings { DateFormatString = Constantes.FormatoDataMesAnoHoraMinutoSegundo, Error = async(sender, args) => { var mensagem = $"{nameof(Constantes)}_{nameof(Deserializar)}<{typeof(T).NomeTipo()}>({json}): {args.ErrorContext.Error.Message}"; if (Debugger.IsAttached) { await Estrutura.Mensagem(mensagem).ConfigureAwait(false); } args.ErrorContext.Handled = true; await Estrutura.Mensagem($"{nameof(Simplificadores)}_{nameof(Deserializar)}<{typeof(T).Name}>({json}): {mensagem}\n\n{args}").ConfigureAwait(false); } });
public static bool Remove(Estrutura obj) { try { using (var db = new WebPixContext()) { db.Estrutura.Remove(obj); db.SaveChanges(); return(true); } } catch (Exception e) { //// return(false); } }
//private IEnumerable<Estrutura> GetEstruturas(IEnumerable<int> tipoAcoes) //{ // var model = default(IList<Estrutura>); // using (var client = new WebClient()) // { // var jss = new JavaScriptSerializer(); // var url = ConfigurationManager.AppSettings["UrlAPI"]; // var serverUrl = $"{ url }/Seguranca/Principal/buscarEstruturas/{ PixCoreValues.IDCliente }/{ PixCoreValues.UsuarioLogado.IdUsuario }"; // client.Headers[HttpRequestHeader.ContentType] = "application/json"; // object envio = new // { // PixCoreValues.UsuarioLogado.idCliente, // idTipoAcoes = tipoAcoes, // }; // var data = jss.Serialize(envio); // var response = client.UploadString(serverUrl, "POST", data); // var result = jss.Deserialize<List<EstruturaViewModel>>(response).OrderBy(r => r.Ordem).ToList(); // result = result.Where(x => x.Tipo == 2).ToList(); // if (result != null && result.Count() > 0) // { // model = new List<Estrutura>(); // foreach (var r in result) // { // r.SubMenus = result.Where(e => e.IdPai.Equals(r.ID)).OrderBy(x => x.Ordem); // if(r.IdPai == 0) //TODO: Melhorar para sub-estrutura com filhos... // { // var estrutura = new Estrutura(r.ID, r.UrlManual, r.Imagem, r.Nome) // { // SubEstruturas = r.SubMenus.Select(s => new Estrutura(s.ID, s.UrlManual, s.Imagem, s.Nome)) // }; // model.Add(estrutura); // } // } // } // } // return model; //} private IEnumerable <Estrutura> GetEstruturas(int tipo, IEnumerable <Permissao> permissoes) { var url = ConfigurationManager.AppSettings["UrlAPI"]; var serverUrl = $"{ url }/Seguranca/Principal/BuscaEstruturasPorMotor/{PixCoreValues.UsuarioLogado.idCliente}/{ PixCoreValues.UsuarioLogado.IdUsuario }"; IDictionary <string, string> valuePairs = new Dictionary <string, string>(); foreach (var item in permissoes) { valuePairs.Add(item.IdAux.ToString(), item.idTipoAcao); } var envio = new { tipo, PixCoreValues.UsuarioLogado.idCliente, valuePairs, }; var helper = new ServiceHelper(); var result = helper.Post <IEnumerable <EstruturaViewModel> >(serverUrl, envio).OrderBy(e => e.Ordem); var model = default(IList <Estrutura>); if (result != null && result.Count() > 0) { model = new List <Estrutura>(); foreach (var r in result) { r.SubMenus = result.Where(e => e.IdPai.Equals(r.ID)).OrderBy(x => x.Ordem); if (r.IdPai == 0) //TODO: Melhorar para sub-estrutura com filhos... { var estrutura = new Estrutura(r.ID, r.UrlManual, r.Imagem, r.Nome) { SubEstruturas = r.SubMenus.Select(s => new Estrutura(s.ID, s.UrlManual, s.Imagem, s.Nome)) }; model.Add(estrutura); } } } return(model); }
public static float NeedComponProducao(Estrutura stru) // X { float result = 0; if ((Math.Abs(stru.ListaPlanejProducao) > Global.Tolerance) && (Math.Abs(stru.QtEftvUntrCmpnt) > Global.Tolerance)) { using (var db = new ApplicationDbContext()) { string tipo = db.Sequencias.Single(s => s.SequenciaId == stru.SequenciaId).Tipo.Substring(0, 1).ToLower(); float intermediate = tipo == "e" ? stru.TempMaq : stru.QtEftvUntrCmpnt; result = stru.ListaPlanejProducao * intermediate; } } return(result); }
public static float ListaNecessProdNivel4(Estrutura stru) // AE { float result = 0; if (stru.Produto.Apelido != stru.Item) { using (var db = new ApplicationDbContext()) { var model = db.Estruturas.Where(e => e.Item == stru.Produto.Apelido).ToList(); if (model != null) { result = model.Sum(m => m.NecCompListaP3); } } } return(result); }
public static float PartCusto(Estrutura estrutura) // N { float result = 0; using (var db = new ApplicationDbContext()) { var stru = db.Estruturas.Where(e => e.Produto.Apelido == estrutura.Produto.Apelido); if (stru.Any()) { float soma = stru.Sum(e => e.CstCmprUndPrd); result = Math.Abs(soma) < Global.Tolerance ? 0 : estrutura.CstCmprUndPrd / soma; } } return(result); }
public static string RefAuxProduto(Estrutura estrutura) // S (01/2018) { string result = "--"; using (var db = new ApplicationDbContext()) { try { var produto = db.Produtos.Find(estrutura.ProdutoId); result = produto.RefAuxiliarProduto; } catch (Exception e) { DbLogger.Log(Reason.Info, $"Produto com Id {estrutura.ProdutoId} não encontrado em FxEstrutura.RefAuxProduto. Erro: {e.Message}"); } } return(result); }
public static string DescCompProc(Estrutura register) // G { string descCompProc = ""; using (var db = new ApplicationDbContext()) { var insumo = db.Insumos.SingleOrDefault(i => i.Apelido == register.Item); if (insumo != null) { descCompProc = insumo.Descricao; } else { var produto = db.Produtos.SingleOrDefault(i => i.Apelido == register.Item); if (produto != null) { descCompProc = produto.Descricao; } else { if (register.Sequencia.Tipo.Substring(0, 1) == XmlReader.Read("SequenciaE1").Substring(0, 1)) { var operando = db.Operacoes.SingleOrDefault(o => o.CodigoOperacao == register.Item); if (operando != null) { descCompProc = $"Oper. de {operando.Descricao}"; } else { DbLogger.Log(Reason.Error, $"DescComProc: Código {register.Item} não encontrado"); descCompProc = "Erro"; } } } } } return(descCompProc); }
// GET: Estruturas/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Estrutura estrutura = db.Estruturas.Find(id); if (estrutura == null) { return(HttpNotFound()); } ViewBag.CategoriaId = new SelectList(db.Categorias, "CategoriaId", "Apelido", estrutura.CategoriaId); ViewBag.FamiliaId = new SelectList(db.Familias, "FamiliaId", "Apelido", estrutura.FamiliaId); ViewBag.LinhaId = new SelectList(db.Linhas, "LinhaId", "Apelido", estrutura.LinhaId); ViewBag.ProdutoId = new SelectList(db.Produtos, "Id", "Apelido", estrutura.ProdutoId); ViewBag.SequenciaId = new SelectList(db.Sequencias, "SequenciaId", "Tipo", estrutura.SequenciaId); ViewBag.UnidadeCompraId = new SelectList(db.Unidades, "UnidadeId", "Apelido", estrutura.UnidadeCompraId); return(View(estrutura)); }
public static string IdProd(Estrutura estrutura) // Z { string result; ; using (var db = new ApplicationDbContext()) { var produto = db.Produtos.SingleOrDefault(p => p.Id == estrutura.ProdutoId); if (produto == null) { DbLogger.Log(Reason.Error, $"Erro: Produto {estrutura.ProdutoId} não encontrado"); return("Erro"); } var unidade = db.Unidades.Single(u => u.UnidadeId == estrutura.UnidadeId); result = $"{produto.Descricao}-{produto.Apelido}-{unidade.Apelido}"; } return(result); }
public static float QtEftvUntrCmpnt(Estrutura estrutura) // O { float result; using (var db = new ApplicationDbContext()) { float a = estrutura.Onera ? 1 : -1; string sucata = XmlReader.Read("Sucata").ToLower(); string subproduto = XmlReader.Read("Subproduto").ToLower(); int id = estrutura.CategoriaId; string comp = db.Categorias.Find(id).Descricao.ToLower(); float kd = comp.Contains(sucata) || comp.Contains(subproduto) ? 1 : 1 / (1 - estrutura.Perda); float c = Math.Abs(estrutura.QtdCusto) > Global.Tolerance ? estrutura.Lote / estrutura.QtdCusto * kd : 0; float b = 1; if (estrutura.Sequencia.Tipo.Substring(0, 1) == XmlReader.Read("SequenciaE1").Substring(0, 1)) { var operacao = db.Operacoes.SingleOrDefault(o => o.CodigoOperacao == estrutura.Item); if (operacao != null) { b = operacao.TaxaOcupacao; } } result = a * b * c; } return(result); }
public static async Task <Tuple <bool, Usuario> > ConectarAsync(string usuario, string senha, ParametrosConfiguracao parametrosConfiguracao = null) { var resposta = new Tuple <bool, Usuario>(false, default); //essencial para não gerar NullException parametrosConfiguracao ??= new ParametrosConfiguracao(); if (string.IsNullOrEmpty(usuario) && string.IsNullOrEmpty(senha)) { await Estrutura.Mensagem("Por favor digite o Usuário e a Senha!").ConfigureAwait(false); } else if (string.IsNullOrEmpty(usuario)) { await Estrutura.Mensagem("Por favor digite o Usuário!").ConfigureAwait(false); } else if (string.IsNullOrEmpty(senha)) { await Estrutura.Mensagem("Por favor digite a Senha!").ConfigureAwait(false); } else if (parametrosConfiguracao.TokenCancelamento.IsCancellationRequested && parametrosConfiguracao.ListaMostrarMensagensErro.Contains(Enumeradores.TipoMostrarMensagensErro.Gerenciador)) { await Estrutura.Mensagem($"{nameof(Gerenciador)}_{nameof(ConectarAsync)} está com o parâmetro {nameof(usuario)} e o valor sendo ({usuario.ValorTratado()}) foi cancelado antes de começar.").ConfigureAwait(false); } else if (Connectivity.NetworkAccess != NetworkAccess.Internet) { await Estrutura.Mensagem(Constantes.TextoSemConexao).ConfigureAwait(false); } else { var(statusResultado, usuarioResultado, erro) = await App.Conexao.ConectarAsync(usuario, senha, parametrosConfiguracao).ConfigureAwait(false); if (parametrosConfiguracao.ListaMostrarMensagensErro.Contains(Enumeradores.TipoMostrarMensagensErro.Gerenciador) && !string.IsNullOrEmpty(erro?.MensagemDetalhada) && erro.MensagemDetalhada != Erro.ValorMensagemPadrao) { await Estrutura.Mensagem(erro.MensagemDetalhada).ConfigureAwait(false); } resposta = new Tuple <bool, Usuario>(statusResultado.HttpStatusCodeSuccess(), usuarioResultado); } return(resposta); }
private void savePessoasJuridica() { var estrutura = new Estrutura(); try { estrutura.IsTransaction = true; var idsPessoaNew = new List <int>(); foreach (ListItem item in listPessoasJuridicasAdd.Items) { idsPessoaNew.Add(int.Parse(item.Value)); } estrutura.SaveEstruturaPrimeiroNivel(idsPessoaNew, int.Parse(ddlHierarquia.SelectedValue)); estrutura.Commit(); } catch (Exception err) { Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('" + FormatError.FormatMessageForJAlert(err.Message) + "');</script>"); estrutura.Rollback(); } }
public static float CstCmprUndPrd(Estrutura estrutura) // P { float result; using (var db = new ApplicationDbContext()) { string subproduto = XmlReader.Read("Subproduto").ToLower(); string sucata = XmlReader.Read("Sucata").ToLower(); var boh = estrutura.Item; int id = estrutura.CategoriaId; string comp = db.Categorias.Find(id).Descricao.ToLower(); float r = comp.Contains(subproduto) || comp.Contains(sucata) ? 1 - estrutura.Perda : 1; result = estrutura.QtEftvUntrCmpnt * estrutura.CustoUnitCompra * r; } return(result); }
public async Task <Tuple <HttpStatusCode, Usuario, Erro> > ConectarAsync(string usuario, string senha, ParametrosConfiguracao parametrosConfiguracao = null) { Tuple <HttpStatusCode, Usuario, Erro> retorno; var estruturaJson = new { Login = usuario, Senha = senha }; var valoresJson = JsonConvert.SerializeObject(estruturaJson); var contentJson = new StringContent(valoresJson, Encoding.UTF8, "application/json"); //essencial para não gerar NullException parametrosConfiguracao ??= new ParametrosConfiguracao(); try { var objetoModelo = new { Status = 0, Usuario = default(Usuario), Mensagem = string.Empty }; var respostaUsuario = await Cliente.PostAsync("usuario/validarusuarioappacesso", contentJson, parametrosConfiguracao.TokenCancelamento).ConfigureAwait(false); var conteudoUsuario = await respostaUsuario.Content.ReadAsStringAsync().ConfigureAwait(false); var respostaTratada = JsonConvert.DeserializeAnonymousType(conteudoUsuario, objetoModelo, Simplificadores.JsonSerializerSettingsPadrao); var erroUsuario = JsonConvert.DeserializeAnonymousType(conteudoUsuario, objetoModelo, Simplificadores.JsonSerializerSettingsPadrao); var respostaStatus = Enum.TryParse(typeof(HttpStatusCode), Convert.ToString(respostaTratada?.Status), true, out var status) ? (HttpStatusCode)status : respostaUsuario.StatusCode; retorno = new Tuple <HttpStatusCode, Usuario, Erro>(respostaStatus, respostaTratada?.Usuario, respostaStatus.HttpStatusCodeSuccess() ? default : new Erro { Mensagem = erroUsuario?.Mensagem }); } catch (Exception ex) { await Estrutura.Mensagem($"{nameof(Conexao)}_{nameof(ConectarAsync)}({usuario}, {senha}): {ex.Message}\n\n{ex}").ConfigureAwait(false); retorno = new Tuple <HttpStatusCode, Usuario, Erro>(default, default, new Erro(ex));