using Gestor.Model.Domain.Financeiro; using Gestor.Model.Domain.Generic; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Linq; using System.Runtime.CompilerServices; namespace Gestor.Infrastructure.Helpers { public static class AuxiliarFinanceiro { public static List Centros { get; set; } public static List Contas { get; set; } public static List Plano { get; set; } public static List Planos { get; set; } public static List TiposConta { get; set; } public static void Criar(SqlCommand sqlCommand) { DataTable dataTable = new DataTable(); sqlCommand.CommandText = "SELECT DISTINCT idcplano as id, descricao as nome, ativo FROM cplano;"; using (SqlDataAdapter sqlDataAdapter = new SqlDataAdapter()) { sqlDataAdapter.SelectCommand = sqlCommand; sqlDataAdapter.Fill(dataTable); } AuxiliarFinanceiro.Plano = new List(); dataTable.AsEnumerable().ToList().ForEach((DataRow a) => AuxiliarFinanceiro.Plano.Add(new Gestor.Model.Domain.Financeiro.Plano() { Id = a.Field("id"), Descricao = a.Field("nome"), Ativo = (a.Field("ativo") == null ? true : a.Field("ativo").ToString() == "1") })); dataTable = new DataTable(); sqlCommand.CommandText = "SELECT DISTINCT cs.idcplanos as id, cs.descricao as nome, cs.ativo, cs.idcplano, cp.descricao FROM cplanos cs INNER JOIN cplano cp ON cs.idcplano = cp.idcplano;"; using (SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter()) { sqlDataAdapter1.SelectCommand = sqlCommand; sqlDataAdapter1.Fill(dataTable); } AuxiliarFinanceiro.Planos = new List(); dataTable.AsEnumerable().ToList().ForEach((DataRow a) => AuxiliarFinanceiro.Planos.Add(new Gestor.Model.Domain.Financeiro.Planos() { Id = a.Field("id"), Descricao = a.Field("nome"), Nome = a.Field("descricao"), Ativo = (a.Field("ativo") == null ? true : a.Field("ativo").ToString() == "1"), Plano = AuxiliarFinanceiro.Plano.FirstOrDefault((Gestor.Model.Domain.Financeiro.Plano x) => { if (x == null) { return false; } return x.Id == a.Field("idcplano"); }) })); dataTable = new DataTable(); sqlCommand.CommandText = "SELECT DISTINCT idconta as id, descricao as nome, ativo FROM conta;"; using (SqlDataAdapter sqlDataAdapter2 = new SqlDataAdapter()) { sqlDataAdapter2.SelectCommand = sqlCommand; sqlDataAdapter2.Fill(dataTable); } AuxiliarFinanceiro.Contas = new List(); dataTable.AsEnumerable().ToList().ForEach((DataRow a) => AuxiliarFinanceiro.Contas.Add(new BancosContas() { Id = a.Field("id"), Descricao = a.Field("nome"), Ativo = (a.Field("ativo") == null ? true : a.Field("ativo").ToString() == "1") })); dataTable = new DataTable(); sqlCommand.CommandText = "SELECT DISTINCT idcentro as id, descricao as nome, ativo FROM centro;"; using (SqlDataAdapter sqlDataAdapter3 = new SqlDataAdapter()) { sqlDataAdapter3.SelectCommand = sqlCommand; sqlDataAdapter3.Fill(dataTable); } AuxiliarFinanceiro.Centros = new List(); dataTable.AsEnumerable().ToList().ForEach((DataRow a) => AuxiliarFinanceiro.Centros.Add(new Centro() { Id = a.Field("id"), Descricao = a.Field("nome"), Ativo = (a.Field("ativo") == null ? true : a.Field("ativo").ToString() == "1") })); dataTable = new DataTable(); sqlCommand.CommandText = "SELECT DISTINCT idtipoconta as id, descricao as nome, ativo FROM tipoconta;"; using (SqlDataAdapter sqlDataAdapter4 = new SqlDataAdapter()) { sqlDataAdapter4.SelectCommand = sqlCommand; sqlDataAdapter4.Fill(dataTable); } AuxiliarFinanceiro.TiposConta = new List(); dataTable.AsEnumerable().ToList().ForEach((DataRow a) => AuxiliarFinanceiro.TiposConta.Add(new TipoConta() { Id = a.Field("id"), Descricao = a.Field("nome"), Ativo = (a.Field("ativo") == null ? true : a.Field("ativo").ToString() == "1") })); } } }