Example #1
0
        public static void AddDocument(this OnSiteDocumentData data, OnSiteDocumentMeta docMeta)
        {
            bool metaExists;

            //
            metaExists = false;
            foreach (var meta in data.EntityDocumentLists)
            {
                if (meta.EntityKey.Equals(docMeta.EntityKey))
                {
                    foreach (var doc in docMeta.Documents)
                    {
                        meta.AddDocument(doc);
                    }
                    //
                    metaExists = true;
                    break;
                }
            }
            //
            if (!metaExists)
            {
                data.EntityDocumentLists.Add(docMeta);
            }
        }
Example #2
0
        public static void AddMeta(this List <OnSiteDocumentData> docs, OnSiteDocumentData docData, OnSiteDocumentMeta docMeta)
        {
            bool dataExists;

            //
            dataExists = false;
            foreach (var data in docs)
            {
                if (data.Entity.Equals(docData.Entity))
                {
                    data.AddDocument(docMeta);
                    dataExists = true;
                    break;
                }
            }
            //
            if (!dataExists)
            {
                docs.Add(new OnSiteDocumentData()
                {
                    AppModule           = docData.AppModule,
                    Entity              = docData.Entity,
                    EntityDocumentLists = new List <OnSiteDocumentMeta>()
                    {
                        docMeta
                    }
                });
            }
        }
Example #3
0
        public static void AddDocumentData(this List <SRiProperty> properties, OnSiteDocumentData data)
        {
            bool done;

            //
            foreach (var docMeta in data.EntityDocumentLists)
            {
                done = false;
                foreach (var p in properties)
                {
                    // Add all documents to all properties in sales environment.
                    if (AppData.Environment == OnSiteEnvironments.Sales)
                    {
                        p.Documents.AddMeta(data, docMeta);
                    }
                    else
                    {
                        foreach (var rg in p.RequestGroups)
                        {
                            foreach (var r in rg.Records)
                            {
                                if (docMeta.EntityKey.Equals(r.Record.EntityKey))
                                {
                                    p.Documents.AddMeta(data, docMeta);
                                    done = true;
                                    break;
                                }
                                foreach (var i in r.Record.Inspections)
                                {
                                    foreach (var v in i.Visits)
                                    {
                                        if (docMeta.EntityKey.Equals(v.Visit.EntityKey))
                                        {
                                            p.Documents.AddMeta(data, docMeta);
                                            done = true;
                                            break;
                                        }
                                    }
                                    if (done)
                                    {
                                        break;
                                    }
                                }
                            }
                            if (done)
                            {
                                break;
                            }
                        }
                        if (done)
                        {
                            break;
                        }
                        //
                        foreach (var cp in p.CPInfos)
                        {
                            if (docMeta.EntityKey.Equals(cp.CPInfo.EntityKey))
                            {
                                p.Documents.AddMeta(data, docMeta);
                                done = true;
                                break;
                            }
                        }
                        if (done)
                        {
                            break;
                        }
                        //
                        foreach (var li in p.LICases)
                        {
                            if (docMeta.EntityKey.Equals(li.LICase.EntityKey))
                            {
                                p.Documents.AddMeta(data, docMeta);
                                done = true;
                                break;
                            }
                        }
                        if (done)
                        {
                            break;
                        }
                    }
                }
            }
        }