Example #1
0
        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);
        }
Example #4
0
        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);
            }
        }