Exemplo n.º 1
0
 private DataTab PlotTypesDataTab()
 {
     return(new DataTab("LIST_PlotTypes", XlColor.Orange, PlotTypeDTO.GetSchema(), generalDet.PlotTypes.Values));
 }
Exemplo n.º 2
0
        private void LoadRow(string sheetName, Dictionary <string, string> values)
        {
            ValidationIssues issues = generalDet.ValidationIssues;

            if (sheetName == "DET_Survey")
            {
                VegSurveyDTO newDto = new VegSurveyDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.Surveys.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The survey with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "DET_Tree")
            {
                VegTreeDTO newDto = new VegTreeDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.Trees.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The measurment with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "DET_Herb")
            {
                VegHerbDTO newDto = new VegHerbDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.Herbs.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The measurment with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "DET_Shrub")
            {
                VegShrubDTO newDto = new VegShrubDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.Shrubs.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The measurment with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "DET_Elevation")
            {
                VegElevationDTO newDto = new VegElevationDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.Elevations.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The elevation with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "LIST_Sites")
            {
                SiteDTO newDto = new SiteDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.Sites.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The site with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "LIST_PlotTypes")
            {
                PlotTypeDTO newDto = new PlotTypeDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.PlotTypes.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The plottype with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "LIST_NonLiving")
            {
                SpeciesDTO newDto = new SpeciesDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.NonLiving.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The nonliving with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "LIST_TreeSpecies")
            {
                SpeciesDTO newDto = new SpeciesDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.TreeSpecies.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The taxa with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "LIST_HerbSpecies")
            {
                SpeciesDTO newDto = new SpeciesDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.HerbSpecies.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The taxa with code {0} is not unique.", newDto.LookupKey));
                }
            }
            else if (sheetName == "LIST_ShrubSpecies")
            {
                SpeciesDTO newDto = new SpeciesDTO(values);
                newDto.Validate();
                issues.Merge(newDto.ValidationIssues);
                bool success = generalDet.ShrubSpecies.Add(newDto);
                if (!success)
                {
                    issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The taxa with code {0} is not unique.", newDto.LookupKey));
                }
            }
        }
Exemplo n.º 3
0
        public FilestoreFile Create(SampleEventMap map, EntityBundle sites, EntityBundle plotTypes, EntityBundle shrubSpecies, EntityBundle treeSpecies, EntityBundle herbSpecies, EntityBundle nonLiving, bool isPrivate)
        {
            if (this.CanModify(map))
            {
                Guid   id  = Guid.NewGuid();
                VegDET det = new VegDET();
                det.Id    = id;
                det.Owner = "originator:" + sites.PrincipalOrgId.Identity.ToString() + ":" + plotTypes.PrincipalOrgId.Identity.ToString();

                int ct = 0;
                foreach (BundleElement cur in sites.Elements)
                {
                    SiteDTO tmp = new SiteDTO();
                    tmp.Key  = cur.LocalKey;
                    tmp.Name = cur.DisplayName;
                    det.Sites.Add(tmp);
                    ct++;
                }
                if (ct > 0) //has to be elements in the collection
                {
                    ct = 0;

                    foreach (BundleElement cur in plotTypes.Elements)
                    {
                        PlotTypeDTO tmp = new PlotTypeDTO();
                        tmp.Key  = cur.LocalKey;
                        tmp.Name = cur.DisplayName;
                        det.PlotTypes.Add(tmp);
                        ct++;
                    }

                    if (ct > 0)
                    {
                        ct = 0;

                        foreach (BundleElement cur in shrubSpecies.Elements)
                        {
                            SpeciesDTO tmp = new SpeciesDTO();
                            tmp.Key  = cur.LocalKey;
                            tmp.Name = cur.DisplayName;
                            det.ShrubSpecies.Add(tmp);
                            ct++;
                        }

                        if (treeSpecies != null)
                        {
                            foreach (BundleElement cur in treeSpecies.Elements)
                            {
                                SpeciesDTO tmp = new SpeciesDTO();
                                tmp.Key  = cur.LocalKey;
                                tmp.Name = cur.DisplayName;
                                det.TreeSpecies.Add(tmp);
                                ct++;
                            }
                        }

                        if (herbSpecies != null)
                        {
                            foreach (BundleElement cur in herbSpecies.Elements)
                            {
                                SpeciesDTO tmp = new SpeciesDTO();
                                tmp.Key  = cur.LocalKey;
                                tmp.Name = cur.DisplayName;
                                det.HerbSpecies.Add(tmp);
                                ct++;
                            }
                        }

                        if (nonLiving != null)
                        {
                            foreach (BundleElement cur in nonLiving.Elements)
                            {
                                SpeciesDTO tmp = new SpeciesDTO();
                                tmp.Key  = cur.LocalKey;
                                tmp.Name = cur.DisplayName;
                                det.NonLiving.Add(tmp);
                            }
                        }

                        if (ct > 0) //have to have at least one of herb, tree, shrub to POSSIBLY be valid
                        {
                            det.Validate();
                            if (det.ValidationIssues.Count == 0)
                            {
                                IFileStoreProvider prov = this.FileStore;

                                if (prov != null)
                                {
                                    FilestoreFile fil = prov.Make(id);
                                    if (fil != null)
                                    {
                                        ExcelVegDET excel = new ExcelVegDET(det);
                                        excel.Save(fil);
                                        fil.Flush();
                                        fil.Seek(0, System.IO.SeekOrigin.Begin);
                                        return(fil);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            return(null);
        }