protected override IEnumerable <TreeFieldSetupDO> ReadTreeFields() { var fields = InternalReadTreeFields(); //if not a single stage plot strata //and count measure field is missing //automaticly add it if (!IsSingleStage && fields.FindIndex(((tfs) => tfs.Field == CruiseDAL.Schema.TREE.COUNTORMEASURE)) < 0) { var cmField = new TreeFieldSetupDO() { Field = CruiseDAL.Schema.TREE.COUNTORMEASURE, Heading = "C/M" }; if (fields.Count > 5) { fields.Insert(5, cmField); } else { fields.Add(cmField); } } return(fields); }
public FieldDiscriptor(TreeFieldSetupDO obj) { this.Field = obj.Field; this.Header = obj.Heading; this.Format = obj.Format; this.DataType = typeof(TreeVM); }
protected List <TreeFieldSetupDO> GetSelectedTreeFieldsDefault(StratumDO stratum) { var treeFieldDefaults = Database.From <TreeFieldSetupDefaultDO>() .Where("Method = @p1").OrderBy("FieldOrder").Read(stratum.Method); var treeFields = new List <TreeFieldSetupDO>(); foreach (TreeFieldSetupDefaultDO tfd in treeFieldDefaults) { var tfs = new TreeFieldSetupDO { Stratum_CN = stratum.Stratum_CN, Field = tfd.Field, FieldOrder = tfd.FieldOrder, ColumnType = tfd.ColumnType, Heading = tfd.Heading, Width = tfd.Width, Format = tfd.Format, Behavior = tfd.Behavior }; treeFields.Add(tfs); } return(treeFields); }
public IEnumerable <TreeFieldSetupDO> ReadTreeFields() { var fields = DataStore.From <TreeFieldSetupDO>() .Join("CuttingUnitStratum", "USING (Stratum_CN)") .Join("Stratum", "USING (Stratum_CN)") .Where(String.Format("CuttingUnit_CN = @p1 AND Stratum.Method NOT IN ({0})" , string.Join(",", CruiseDAL.Schema.CruiseMethods.PLOT_METHODS.Select(s => "'" + s + "'").ToArray()))) .GroupBy("Field") .OrderBy("FieldOrder") .Query(CuttingUnit.CuttingUnit_CN).ToList(); if (fields.Count == 0) { fields.AddRange(Constants.DEFAULT_TREE_FIELDS); } //if unit has multiple tree strata //but stratum column is missing if (TreeStrata.Count() > 1 && !fields.Any(x => x.Field == "Stratum")) { //find the location of the tree number field int indexOfTreeNum = fields.FindIndex(x => x.Field == CruiseDAL.Schema.TREE.TREENUMBER); //if user doesn't have a tree number field, fall back to the last field index if (indexOfTreeNum == -1) { indexOfTreeNum = fields.Count - 1; } //last item index //add the stratum field to the filed list TreeFieldSetupDO tfs = new TreeFieldSetupDO() { Field = "Stratum", Heading = "St", Format = "[Code]" }; fields.Insert(indexOfTreeNum + 1, tfs); } if (TreeStrata.Any(st => st.Is3P) && !fields.Any(f => f.Field == "STM")) { fields.Add(new TreeFieldSetupDO() { Field = "STM", Heading = "STM" }); } return(fields); }
public IEnumerable <TreeFieldSetupDO> GetSelectedTreeFieldsDefault() { //select from TreeFieldSetupDefault where method = stratum.method var treeFieldDefaults = this.DAL.From <TreeFieldSetupDefaultDO>() .Where("Method = @p1") .OrderBy("FieldOrder") .Query(Method); foreach (var tfd in treeFieldDefaults) { var tfs = new TreeFieldSetupDO(); tfs.Stratum_CN = Stratum_CN; tfs.Field = tfd.Field; tfs.FieldOrder = tfd.FieldOrder; tfs.ColumnType = tfd.ColumnType; tfs.Heading = tfd.Heading; tfs.Width = tfd.Width; tfs.Format = tfd.Format; tfs.Behavior = tfd.Behavior; yield return(tfs); } }