public ComparedBuild(ComparedBuildType buildType)
            : base(buildType)
        {
            var service = new EstateCmService();

            this.Estate = !string.IsNullOrEmpty(buildType.EstateId) ? new ComparedEstate(service.GetComparedEstate(this.EstateId)) : new ComparedEstate(service.GetComparedEstateByFw(this.Framework_EstateId));
        }
        public ComparedBuild GetComparedBuild(string buildId)
        {
            string funMsg = "function: GetComparedBuild(string buildId)" + FileUtility.NewLine + _ClassMsg;

            try
            {
                ComparedBuildType buildType = GetComparedBuildType(buildId);
                if (buildType == null)
                {
                    return(null);
                }
                return(new ComparedBuild(buildType));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public DataTable ListComparedRoom(ComparedBuildType comparedBuild)
        {
            string funMsg        = "Function: ListComparedRoom(string buildId)" + FileUtility.NewLine + _ClassMsg;
            string procedureName = string.Empty;

            try
            {
                procedureName = "spListComparedRoom";
                return(DbUtility.GetDataTableByProc(procedureName, this.ConnStr, new SqlParameter[] {
                    new SqlParameter {
                        ParameterName = "@buildId", SqlDbType = SqlDbType.VarChar, Value = comparedBuild.BuildId
                    },
                    new SqlParameter {
                        ParameterName = "@framework_BuildId", SqlDbType = SqlDbType.VarChar, Value = comparedBuild.Framework_BuildId
                    },
                }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public IList <ComparedUnitType> ListComparedUnit(ComparedBuildType comparedBuild)
        {
            string funMsg = "function: ListComparedUnit(ComparedBuildType comparedBuild)" + FileUtility.NewLine + _ClassMsg;

            try
            {
                DataTable table            = _DbService.ListComparedUnit(comparedBuild);
                List <ComparedUnitType> rs = new List <ComparedUnitType>();
                if (table != null && table.Rows.Count > 0)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        rs.Add(new ComparedUnitType(row));
                    }
                }
                return(rs);
            }
            catch (Exception ex)
            {
                string exMsg = "Exception: " + ex.Message + FileUtility.NewLine + funMsg;
                throw new Exception(exMsg, ex.InnerException);
            }
        }
        public List <string> ListComparedFloor(ComparedBuildType comparedBuild)
        {
            string funMsg = "function: ListComparedFloor(ComparedBuildType buildId)" + FileUtility.NewLine + _ClassMsg;

            try
            {
                DataTable     table = _DbService.ListComparedFloor(comparedBuild);
                List <string> rs    = new List <string>();
                if (table != null && table.Rows.Count > 0)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        rs.Add(ConvertUtility.Trim(row[0]));
                    }
                    UnitRowSort sort = new UnitRowSort();
                    rs.Sort(sort.Compare);
                }
                return(rs);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }