using ArquivoDigital.Infrastructure.UnitOfWork.Logic; using Gestor.Application.Servicos.Generic; using Gestor.Model.Domain.Common; using System; using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Gestor.Application.Helpers { public static class ArquivoDigital { public static string ConexaoAd; public static string Banco { get; set; } public static UnitOfWork Commited { get { return Gestor.Application.Helpers.ArquivoDigital.UnitOfWork(true, false); } } public static UnitOfWork Read { get { return Gestor.Application.Helpers.ArquivoDigital.UnitOfWork(false, false); } } public static string Tabela { get; set; } static ArquivoDigital() { Gestor.Application.Helpers.ArquivoDigital.ConexaoAd = null; Gestor.Application.Helpers.ArquivoDigital.Tabela = "arquivodigital"; } public static void SetConnection(string banco = "") { ControleArquivoDigital controleArquivoDigital = (string.IsNullOrEmpty(banco) ? (new BaseServico()).ArquivoDigital().Result : (new BaseServico()).ArquivoDigital(banco).Result); Gestor.Application.Helpers.ArquivoDigital.Banco = controleArquivoDigital.get_Catalogo(); Gestor.Application.Helpers.ArquivoDigital.Tabela = (string.IsNullOrWhiteSpace(controleArquivoDigital.get_Tabela()) ? "arquivodigital" : controleArquivoDigital.get_Tabela()); Gestor.Application.Helpers.ArquivoDigital.ConexaoAd = string.Concat(new string[] { "Server=", Connection.Server, ";initial catalog=", controleArquivoDigital.get_Catalogo(), ";user=", Connection.User, ";password=", Connection.Password, ";" }); } private static UnitOfWork UnitOfWork(bool withTransaction = true, bool reconect = false) { if (Gestor.Application.Helpers.ArquivoDigital.ConexaoAd == null) { Gestor.Application.Helpers.ArquivoDigital.SetConnection(""); } return new UnitOfWork(Gestor.Application.Helpers.ArquivoDigital.ConexaoAd, Gestor.Application.Helpers.ArquivoDigital.Tabela, withTransaction); } } }