private int AddMaterial(int siteVisitId, int taxonId) { var sparcService = new MaterialService(User); var sMaterialName = Get("Material.Material name"); var sAccessionNumber = Get("Material.Accession number"); var sRegistrationNumber = Get("Material.Registration number"); var sCollectorNumber = Get("Material.Collector number"); var sIDBy = Get("Material.Identified by"); var sIDOn = Get("Material.Identified on"); if (!string.IsNullOrWhiteSpace(sIDOn)) { string message; if (DateUtils.IsValidBLDate(sIDOn, out message)) { sIDOn = string.Format("{0:dd MMM yyyy}", DateUtils.MakeCompatibleBLDate(Int32.Parse(sIDOn))); } else { if (!Information.IsDate(sIDOn)) { throw new Exception("'Identified on' value (" + sIDOn + ") is not a valid date time! " + message); } } } var sIDRef = Get("Material.Identification reference"); var sIDRefPage = Get("Material.Identification reference page"); var sIDMethod = Get("Material.Identification method"); var sIDAccuracy = Get("Material.Identification accuracy"); var sIDNameQualifier = Get("Material.Name qualifier"); var sIDNotes = Get("Material.Identification notes"); var sInstitution = Get("Material.Institute"); var sCollectMethod = Get("Material.Collection method"); var sAbundance = Get("Material.Abundance"); var sMacroHabitat = Get("Material.Macrohabitat"); var sMicrohabitat = Get("Material.Microhabitat"); var sSource = Get("Material.Source"); var sSpecialLabel = Get("Material.Special label"); var bCreateLabel = GetConvert<bool>("Material.Create Label", false); var sDateStart = Get("SiteVisit.Start Date", "0"); string sOriginalLabel = ""; if (bCreateLabel) { if (sDateStart != "0") { string message; if (DateUtils.IsValidBLDate(sDateStart, out message)) { sDateStart = BuildDate(sDateStart); } } sOriginalLabel = "Import derived: " + Get("Site.Locality") + "; " + Get("SiteVisit.Collector(s)") + "; " + sDateStart; } else { sOriginalLabel = Get("Material.Original label"); } if (string.IsNullOrWhiteSpace(sMaterialName)) { if (!string.IsNullOrWhiteSpace(sInstitution)) { if (!string.IsNullOrWhiteSpace(sAccessionNumber)) { sMaterialName = string.Format("{0}:{1}", sInstitution, sAccessionNumber); } else { if (!string.IsNullOrWhiteSpace(sRegistrationNumber)) { sMaterialName = string.Format("{0}:{1}", sInstitution, sRegistrationNumber); } } } else { if (!string.IsNullOrWhiteSpace(sAccessionNumber)) { sMaterialName = sAccessionNumber; } else { if (!string.IsNullOrWhiteSpace(sRegistrationNumber)) { sMaterialName = sRegistrationNumber; } } } } var material = new Material { MaterialName = sMaterialName, SiteVisitID = siteVisitId, AccessionNumber = sAccessionNumber, RegistrationNumber = sRegistrationNumber, CollectorNumber = sCollectorNumber, BiotaID = taxonId, IdentifiedBy = sIDBy, IdentificationDate = (string.IsNullOrWhiteSpace(sIDOn) ? null : new DateTime?(DateAndTime.DateValue(sIDOn))), IdentificationReferenceID = (!string.IsNullOrWhiteSpace(sIDRef) && sIDRef.IsNumeric()) ? Int32.Parse(sIDRef) : 0, IdentificationRefPage = sIDRefPage, IdentificationMethod = sIDMethod, IdentificationAccuracy = sIDAccuracy, IdentificationNameQualification = sIDNameQualifier, IdentificationNotes = sIDNotes, Institution = sInstitution, CollectionMethod = sCollectMethod, Abundance = sAbundance, MacroHabitat = sMacroHabitat, MicroHabitat = sMicrohabitat, Source = sSource, SpecialLabel = sSpecialLabel, OriginalLabel = sOriginalLabel }; return Service.ImportMaterial(material); }
public void UpdateMaterial(Material material) { StoredProcUpdate("spMaterialUpdate", _P("intMaterialID", material.MaterialID), _P("vchrMaterialName", material.MaterialName), _P("intSiteVisitID", material.SiteVisitID), _P("vchrAccessionNo", material.AccessionNumber), _P("vchrRegNo", material.RegistrationNumber), _P("vchrCollectorNo", material.CollectorNumber), _P("intBiotaID", material.BiotaID), _P("vchrIDBy", material.IdentifiedBy), _P("vchrIDDate", material.IdentificationDate), _P("intIDRefID", material.IdentificationReferenceID), _P("vchrIDRefPage", material.IdentificationRefPage), _P("vchrIDMethod", material.IdentificationMethod), _P("vchrIDAccuracy", material.IdentificationAccuracy), _P("vchrIDNameQual", material.IdentificationNameQualification), _P("vchrIDNotes", material.IdentificationNotes), _P("vchrInstitution", material.Institution), _P("vchrCollectionMethod", material.CollectionMethod), _P("vchrAbundance", material.Abundance), _P("vchrMacroHabitat", material.MacroHabitat), _P("vchrMicroHabitat", material.MicroHabitat), _P("vchrSource", material.Source), _P("intAssociateOf", material.AssociateOf), _P("intTrapID", material.TrapID), _P("vchrSpecialLabel", material.SpecialLabel), _P("vchrOriginalLabel", material.OriginalLabel) ); }
public static string FormatMaterialName(Material material) { return Format(Config.GetProfile<string>(PluginManager.Instance.User, "Material.MaterialNameFormat", DEFAULT_MATERIAL_NAME_FORMAT), material); }
public string GetMaterialSummary(Material material) { string strHEADER = @"{\rtf1\ansi\deff0\deflang1033 {\fonttbl {\f0\fswiss\fcharset0 SYSTEM;}{\f1\froman\fcharset0 TIMES NEW ROMAN;}}"; string strCOLOUR_TABLE = @"{\colortbl \red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255}"; string strPRE_TEXT = @"\paperw11895 \margr0\margl0\ATXph0 \plain \fs20 \f1 "; var buf = new StringBuilder(); buf.AppendFormat("{0}\n{1}\n{2}", strHEADER, strCOLOUR_TABLE, strPRE_TEXT); var site = GetSite(material.SiteID); buf.Append(@"\pard\fs24\b\ul Site \b0\ul0 "); buf.Append(FieldRTF(site.SiteName, "Name: ", 2)); buf.Append(FieldRTF(site.PoliticalRegion, "Region: ", 2)); buf.Append(FieldRTF(site.Locality, "Local: ", 2)); buf.Append(FieldRTF(site.DistanceFromPlace, "Distance: ", 2)); buf.Append(FieldRTF(site.DirFromPlace, "; Dir: ", 2, false)); buf.Append(FieldRTF(site.InformalLocal, "Informal: ", 2)); buf.Append(FieldRTF(site.PosX1, "Lat: ", 2)); buf.Append(FieldRTF(site.PosY1, "Long: ", 2)); buf.Append(FieldRTF(site.ElevUpper + " " + site.ElevUnits, "Elev. Upper: ", 1)); buf.Append(FieldRTF(site.ElevLower + " " + site.ElevUnits, "Elev. Lower: ", 1)); buf.Append(FieldRTF(site.ElevDepth + " " + site.ElevUnits, "Elev. Depth: ", 1)); buf.Append(FieldRTF(site.WhoCreated + ", " + site.DateCreated, "Created: ", 1)); buf.Append(FieldRTF(site.WhoLastUpdated + ", " + site.DateLastUpdated, "Last Updated: ", 1)); var visit = GetSiteVisit(material.SiteVisitID); buf.Append(@"\pard\par\par\fs24\b\ul\cf0 Site Visit \b0\ul0 "); buf.Append(FieldRTF(visit.SiteVisitName, "Name: ", 2)); buf.Append(FieldRTF(visit.Collector, "Collector: ", 1)); buf.Append(FieldRTF(visit.DateStart, "Date Start: ", 1)); buf.Append(FieldRTF(visit.DateEnd, "Date End: ", 1)); buf.Append(FieldRTF(visit.CasualTime, "Casual Date: ", 1)); buf.Append(FieldRTF(visit.WhoCreated + ", " + visit.DateCreated, "Created: ", 1)); buf.Append(FieldRTF(visit.WhoLastUpdated + ", " + visit.DateLastUpdated, "Last Updated: ", 1)); buf.Append(@"\pard\par }"); return buf.ToString(); }
public int ImportMaterial(Material m) { var matService = new MaterialService(User); m.MaterialID = matService.InsertMaterial(m.SiteVisitID); matService.UpdateMaterial(m); return m.MaterialID; }