private List <EHSDoc> MapEHSDocs(IEnumerable <dynamic> dumbTasks)
        {
            List <EHSDoc> taskList = new List <EHSDoc>();

            foreach (var dumbTask in dumbTasks)
            {
                //Move casting to another componenet or into repo These method
                //should not concern itself with dynamic objects.

                var task = new Dictionary <string, string>();

                foreach (var pair in dumbTask)
                {
                    //transform the object in the key value pair to a string
                    //if its null theres nothing to search anyway.
                    if (pair.Value != null)
                    {
                        task.Add(pair.Key, pair.Value.ToString());
                    }
                }
                DateTime createDate;
                DateTime.TryParse(task.SingleOrDefault(colHead => colHead.Key == "dDate_DateOrdered").Value, out createDate);

                var EHSDoc = new EHSDoc()
                {
                    DocumentType = "Tracer",
                    Name         = task.SingleOrDefault(colHead => colHead.Key == "ItemName").Value,
                    Description  = task.SingleOrDefault(colHead => colHead.Key == "sDescription").Value,
                    Domain       = task.SingleOrDefault(colHead => colHead.Key == "sDomainPath").Value,
                    OrgLocation  = task.SingleOrDefault(colHead => colHead.Key == "sOrgPath").Value,
                    CreateDate   = createDate,
                    Creator      = task.SingleOrDefault(colHead => colHead.Key == "sResponsiblePerson").Value,
                    Status       = task.SingleOrDefault(colHead => colHead.Key == "sName").Value,
                    ValueAnswers = string.Join(", ", task.Values)
                };

                taskList.Add(EHSDoc);
            }

            return(taskList);
        }
예제 #2
0
        private List <EHSDoc> MapEHSDoc(IEnumerable <dynamic> dumbForms)
        {
            var formsList = new List <EHSDoc>();

            foreach (var dumbForm in dumbForms)
            {
                //Move casting to another componenet or into repo These method
                //should not concern itself with dynamic objects.

                var sf = new Dictionary <string, string>();

                foreach (var pair in dumbForm)
                {
                    //cast the object in the key value pair to a string
                    if (pair.Value != null)
                    {
                        sf.Add(pair.Key, pair.Value.ToString());
                    }
                }

                DateTime createDate;
                DateTime.TryParse(sf.SingleOrDefault(colHead => colHead.Key == "dData_DateReported").Value, out createDate);

                var smartForm = new EHSDoc()
                {
                    DocumentType = sf.SingleOrDefault(colHead => colHead.Key == "vData_ReportType").Value,
                    CreateDate   = createDate,
                    Creator      = sf.SingleOrDefault(colHead => colHead.Key == "vData_RptrLName").Value,
                    FormType     = sf.SingleOrDefault(colHead => colHead.Key == "vData_ReportType").Value,
                    OrgLocation  = sf.SingleOrDefault(colHead => colHead.Key == "ParentPath").Value,
                    Status       = sf.SingleOrDefault(colHead => colHead.Key == "vData_Status").Value,
                    ValueAnswers = string.Join(", ", sf.Values),
                    EditDate     = null
                };

                formsList.Add(smartForm);
            }

            return(formsList);
        }
        public void Execute()
        {
            Console.WriteLine("Mapper mode: (A)annotations, (AD)annotations and dictionary, (DD) dynamic dictionary");
            string input = Console.ReadLine();

            //default
            var audit = new EHSDoc();

            audit = CreateAnnotaionMapping();

            if (input == "A")
            {
                audit = CreateAnnotaionMapping();
                Startup.Init <EHSDoc>("http://localhost:8983/solr/Audits");
                ISolrOperations <EHSDoc> solrAuditOperations = ServiceLocator.Current.GetInstance <ISolrOperations <EHSDoc> >();
                solrAuditOperations.Add(audit);
                solrAuditOperations.Commit();
            }
            else if (input == "AD")
            {
                var auditWDict = new AuditWDict();
                auditWDict = CreateAnnotationWDictionaryMapping();
                Startup.Init <AuditWDict>("http://localhost:8983/solr/Audits");
                ISolrOperations <AuditWDict> solrAuditWDictOperations = ServiceLocator.Current.GetInstance <ISolrOperations <AuditWDict> >();
                solrAuditWDictOperations.Add(auditWDict);
                solrAuditWDictOperations.Commit();
            }
            else if (input == "DD")
            {
                var auditDict = CreateFullyLooseMapping().audit;
                Startup.Init <Dictionary <string, object> >("http://localhost:8983/solr/Audits");
                ISolrOperations <Dictionary <string, object> > solrFullyLooseDictMap = ServiceLocator.Current.GetInstance <ISolrOperations <Dictionary <string, object> > >();
                solrFullyLooseDictMap.Add(auditDict);
                solrFullyLooseDictMap.Commit();
            }
        }
예제 #4
0
        private List <EHSDoc> MapSolrAudits(IEnumerable <dynamic> dynamicAudits)
        {
            var auditsList = new List <EHSDoc>();

            foreach (var dumbAudit in dynamicAudits)
            {
                var audit = new Dictionary <string, string>();

                foreach (var pair in dumbAudit)
                {
                    //transform the object in the key value pair to a string
                    if (pair.Value != null)
                    {
                        audit.Add(pair.Key, pair.Value.ToString());
                    }
                }

                DateTime createDate;
                DateTime.TryParse(audit.SingleOrDefault(colHead => colHead.Key == "dAuditDate").Value, out createDate);

                var solrAudit = new EHSDoc()
                {
                    DocumentType = "Auditor",
                    Name         = audit.SingleOrDefault(colHead => colHead.Key == "sFileName").Value,
                    CreateDate   = createDate,
                    Description  = audit.SingleOrDefault(colHead => colHead.Key == "sDescription").Value,
                    Status       = audit.SingleOrDefault(coldHead => coldHead.Key == "sName").Value,
                    OrgLocation  = audit.SingleOrDefault(colHead => colHead.Key == "sOrgPath").Value,
                    ValueAnswers = string.Join(", ", audit.Values)
                };

                auditsList.Add(solrAudit);
            }

            return(auditsList);
        }