public static List <GLEntries> GetDetailEntryLedger(string reference)
        {
            var dbUtil    = new DatabaseManager();
            var glentries = new List <GLEntries>();

            using (var conn = new SqlConnection(dbUtil.getSQLConnectionString("MainDB")))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandType    = CommandType.StoredProcedure;
                    cmd.CommandText    = "spDisGetBPRAdjustmentDetailEntry";
                    cmd.CommandTimeout = 180;
                    cmd.Parameters.AddWithValue("@strReference", reference);

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var glentry = new GLEntries
                            {
                                GLEntryID                 = ReferenceEquals(reader["intGLEntryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intGLEntryID"]),
                                COAID                     = ReferenceEquals(reader["intCOAID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intCOAID"]),
                                COACode                   = ReferenceEquals(reader["strCOACode"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strCOACode"]),
                                COA                       = ReferenceEquals(reader["strCOA"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strCOA"]),
                                SubsidiaryID              = ReferenceEquals(reader["intSubsidiaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intSubsidiaryID"]),
                                SubsidiaryCode            = ReferenceEquals(reader["strSubsidiaryCode"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSubsidiaryCode"]),
                                Subsidiary                = ReferenceEquals(reader["strSubsidiary"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSubsidiary"]),
                                SupplementaryID           = ReferenceEquals(reader["intSupplementaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intSupplementaryID"]),
                                SupplementaryCode         = ReferenceEquals(reader["strSupplementaryCode"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSupplementaryCode"]),
                                Supplementary             = ReferenceEquals(reader["strSupplementary"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSupplementary"]),
                                Debit                     = ReferenceEquals(reader["curDebit"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curDebit"]),
                                Credit                    = ReferenceEquals(reader["curCredit"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curCredit"]),
                                IndividualSubsidiaryID    = ReferenceEquals(reader["intIndividualSubsidiaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIndividualSubsidiaryID"]),
                                IndividualSupplementaryID = ReferenceEquals(reader["intIndividualSupplementaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIndividualSupplementaryID"]),
                            };

                            glentries.Add(glentry);
                        }

                        return(glentries);
                    }
                }
            }
        }
        public static List <GLEntries> GetDetailEntryLedger(string reference)
        {
            var dbUtil    = new DatabaseManager();
            var glentries = new List <GLEntries>();

            using (var conn = new SqlConnection(dbUtil.getSQLConnectionString("MainDB")))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandType    = CommandType.StoredProcedure;
                    cmd.CommandText    = "spDisGetBudgetAnalysisDetailEntry";
                    cmd.CommandTimeout = 180;
                    cmd.Parameters.AddWithValue("@strReference", reference);

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var glentry = new GLEntries
                            {
                                GLEntryID    = ReferenceEquals(reader["intBudgetID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intBudgetID"]),
                                COAID        = ReferenceEquals(reader["intCOAID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intCOAID"]),
                                COACode      = ReferenceEquals(reader["strCOACode"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strCOACode"]),
                                COA          = ReferenceEquals(reader["strCOA"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strCOA"]),
                                SubsidiaryID = ReferenceEquals(reader["intCOASuppType"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intCOASuppType"]),
                                Exname       = ReferenceEquals(reader["strExpName"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strExpName"]),
                                Credit       = ReferenceEquals(reader["curJan"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curJan"]),
                                FebAmount    = ReferenceEquals(reader["curFeb"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curFeb"]),
                                MarAmount    = ReferenceEquals(reader["curMarch"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curMarch"]),
                                AprAmount    = ReferenceEquals(reader["curApril"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curApril"]),
                                MayAmount    = ReferenceEquals(reader["curMay"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curMay"]),
                                JunAmount    = ReferenceEquals(reader["curJun"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curJun"]),
                                JulAmount    = ReferenceEquals(reader["curJul"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curJul"]),
                                AugAmount    = ReferenceEquals(reader["curAug"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curAug"]),
                                SepAmount    = ReferenceEquals(reader["curSept"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curSept"]),
                                OctAmount    = ReferenceEquals(reader["curOct"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curOct"]),
                                NovAmount    = ReferenceEquals(reader["curNov"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curNov"]),
                                DecAmount    = ReferenceEquals(reader["curDec"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curDec"]),

                                //GLEntryID = ReferenceEquals(reader["intGLEntryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intGLEntryID"]),
                                //COAID = ReferenceEquals(reader["intCOAID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intCOAID"]),
                                //COACode = ReferenceEquals(reader["strCOACode"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strCOACode"]),
                                //COA = ReferenceEquals(reader["strCOA"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strCOA"]),
                                //SubsidiaryID = ReferenceEquals(reader["intSubsidiaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intSubsidiaryID"]),
                                //SubsidiaryCode = ReferenceEquals(reader["strSubsidiaryCode"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSubsidiaryCode"]),
                                //Subsidiary = ReferenceEquals(reader["strSubsidiary"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSubsidiary"]),
                                //SupplementaryID = ReferenceEquals(reader["intSupplementaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intSupplementaryID"]),
                                //SupplementaryCode = ReferenceEquals(reader["strSupplementaryCode"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSupplementaryCode"]),
                                //Supplementary = ReferenceEquals(reader["strSupplementary"], DBNull.Value) ? string.Empty : Convert.ToString(reader["strSupplementary"]),
                                //Debit = ReferenceEquals(reader["curDebit"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curDebit"]),
                                //Credit = ReferenceEquals(reader["curCredit"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curCredit"]),
                                //IndividualSubsidiaryID = ReferenceEquals(reader["intIndividualSubsidiaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIndividualSubsidiaryID"]),
                                //IndividualSupplementaryID = ReferenceEquals(reader["intIndividualSupplementaryID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIndividualSupplementaryID"]),
                            };

                            glentries.Add(glentry);
                        }

                        return(glentries);
                    }
                }
            }
        }