public FormDigest[] GetFormDigestsInRootFormHierarchy(string formId)
        {
            var formIdHierarchy = GetFormIdHierarchyByRootFormId(GetRootFormId(formId));
            var formDigests     = FormDigests.Where(fd => formIdHierarchy.Contains(fd.FormId)).ToArray();

            return(formDigests);
        }
        public Dictionary <string, FieldAttributes> GetPageFieldAttributesByPageId(string formId, int pageId)
        {
            lock (StaticCache.Gate)
            {
                if (StaticCache.PageFieldAttributes == null)
                {
                    StaticCache.PageFieldAttributes = new Dictionary <string, Dictionary <int, Dictionary <string, FieldAttributes> > >();
                }

                Dictionary <int, Dictionary <string, FieldAttributes> > pageFieldAttributesByPageId = null;
                if (!StaticCache.PageFieldAttributes.TryGetValue(formId, out pageFieldAttributesByPageId))
                {
                    StaticCache.PageFieldAttributes[formId] = pageFieldAttributesByPageId = new Dictionary <int, Dictionary <string, FieldAttributes> >();
                }

                Dictionary <string, FieldAttributes> pageFieldAttributes;
                if (!pageFieldAttributesByPageId.TryGetValue(pageId, out pageFieldAttributes))
                {
                    var formDigest   = FormDigests.Single(d => d.FormId == formId);
                    var pageMetadata = GetPageMetadataByPageId(formId, pageId);
                    pageFieldAttributesByPageId[pageId] = pageFieldAttributes = FieldAttributes.MapFieldMetadataToFieldAttributes(pageMetadata, formDigest.CheckCode);
                }
                return(pageFieldAttributes);
            }
        }
        public string GetParentFormName(string formId)
        {
            string parentFormName = null;
            var    formDigest     = FormDigests.SingleOrDefault(d => d.FormId == formId);

            if (formDigest != null && formDigest.IsChildForm)
            {
                var parentFormDigest = GetFormDigest(formDigest.ParentFormId);
                parentFormName = parentFormDigest != null ? parentFormDigest.FormName : null;
            }
            return(parentFormName);
        }
        public string GetRootFormName(string formId)
        {
            string rootFormName = null;
            var    formDigest   = FormDigests.SingleOrDefault(d => d.FormId == formId);

            if (formDigest != null)
            {
                if (formDigest.IsRootForm)
                {
                    rootFormName = formDigest.FormName;
                }
                else
                {
                    var rootFormDigest = GetFormDigest(formDigest.RootFormId);
                    rootFormName = rootFormDigest != null ? rootFormDigest.FormName : null;
                }
            }
            return(rootFormName);
        }
        public List <SurveyInfoBO> GetChildInfoByParentId(string ParentFormId, int ViewId)
        {
            var surveyInfoBOs = FormDigests.Where(d => d.ParentFormId == ParentFormId && d.ViewId == ViewId).Select(d => d.ToSurveyInfoBO()).ToList();

            //List<SurveyInfoBO> result = new List<SurveyInfoBO>();
            //try
            //{

            //    Guid Id = new Guid(ParentFormId);

            //    using (var Context = DataObjectFactory.CreateContext())
            //    {
            //        result.Add(Mapper.Map(Context.SurveyMetaDatas.FirstOrDefault(x => x.ParentId == Id && x.ViewId == ViewId)));
            //    }

            //}
            //catch (Exception ex)
            //{
            //    throw (ex);
            //}
            return(surveyInfoBOs);
        }
 public FormDigest GetFormDigestByFormName(string formName)
 {
     formName = formName.ToLower();
     return(FormDigests.SingleOrDefault(f => f.FormName.ToLower() == formName));
 }
 public FormDigest GetFormDigest(string formId)
 {
     return(FormDigests.SingleOrDefault(f => f.FormId == formId));
 }
        public string GetFormName(string formId)
        {
            var formDigest = FormDigests.SingleOrDefault(d => d.FormId == formId);

            return(formDigest != null ? formDigest.FormName : null);
        }
        public string GetParentFormId(string formId)
        {
            var formDigest = FormDigests.SingleOrDefault(d => d.FormId == formId);

            return(formDigest != null ? formDigest.ParentFormId : null);
        }
        public string GetRootFormId()
        {
            var rootFormDigest = FormDigests.FirstOrDefault();

            return(rootFormDigest != null ? rootFormDigest.FormId : null);
        }
        public string GetParentFormIdByViewId(int viewId)
        {
            var formDigest = FormDigests.SingleOrDefault(d => d.ViewId == viewId);

            return(formDigest != null ? formDigest.ParentFormId : null);
        }