Ejemplo n.º 1
0
        // Protected Methods (13) 

        protected virtual void AddInlineSearch(ChildrenField field, string prefix, StringBuilder element, string type, string id, string guid)
        {
            //string inlineSearch = string.Empty;
            Durados.ParentField parentField = null;
            Durados.ParentField fkField     = null;
            View searchView = (View)field.GetOtherParentView(out parentField, out fkField);

            if (field.InlineSearch && prefix != filterPrefix && searchView.IsAllow())
            {
                element.Insert(0, "<table border=0 cellspacing=0 cellpadding=0><tr><td>");

                //inlineSearch += element;
                element.Append("</td><td>");



                string title     = "Search for " + searchView.DisplayName;
                string className = "Search-icon";
                guid = searchView.Name + "_" + Durados.Web.Mvc.Infrastructure.ShortGuid.Next() + "_";
                string onClick = "SearchDialog.CreateAndOpen('" + searchView.Name + "','" + searchView.DisplayName + "','" + type + "','" + id + "','" + searchView.GetIndexUrl() + "?firstTime=true&disabled=true" + "', '" + guid + "')";

                element.Append(GetInlineAddingImg(guid, title, className, onClick));

                element.Append("</td></tr></table>");
            }
            //return inlineSearch;
        }
Ejemplo n.º 2
0
        //public static View GetOtherParentView(this ChildrenField childrenField, ParentField parentField, ParentField fkField)
        //{
        //    View childrenView = (Durados.Web.Mvc.View)childrenField.ChildrenView;
        //    View view = (Durados.Web.Mvc.View)childrenField.View;
        //    View parentView = null;

        //    foreach (ParentField field in childrenView.Fields.Values.Where(f => f.FieldType == FieldType.Parent))
        //    {
        //        if (!field.ParentView.Base.Equals(view.Base))
        //        {
        //            parentField = field;
        //            parentView = (Durados.Web.Mvc.View)field.ParentView;
        //        }
        //        else
        //        {
        //            fkField = field;
        //        }
        //    }

        //    return parentView;
        //}
        public static IEnumerable <SelectListItem> GetSelectList(this ChildrenField childrenField, string fk, bool forFilter)
        {
            View childrenView = (Durados.Web.Mvc.View)childrenField.ChildrenView;
            View view         = (Durados.Web.Mvc.View)childrenField.View;

            //ParentField parentField = null;
            //ParentField fkField = null;
            //View parentView = null;

            //foreach (ParentField field in childrenView.Fields.Values.Where(f => f.FieldType == FieldType.Parent))
            //{
            //    if (!field.ParentView.Base.Equals(view.Base))
            //    {
            //        parentField = field;
            //        parentView = (Durados.Web.Mvc.View)field.ParentView;
            //    }
            //    else
            //    {
            //        fkField = field;
            //    }
            //}
            Durados.ParentField parentField = null;
            Durados.ParentField fkField     = null;
            View parentView = (View)childrenField.GetOtherParentView(out parentField, out fkField);

            Dictionary <string, string> selectOptions = parentField.GetSelectOptions(fk, null, forFilter);

            //int rowCount = 0;
            //DataView parentDataView = parentView.FillPage(1, 1000000, null, false, null, out rowCount, null, null);

            //if (childrenField.View.Database.DiagnosticsReportInProgress)
            //{
            //    if (parentDataView.Count > childrenField.View.Database.DiagnosticsReport.OverLoadLimit)
            //    {
            //        Map.Logger.Log(parentView.Name, childrenField.Name, childrenField.View.Database.DiagnosticsReport.Name, string.Empty, childrenField.View.Database.DiagnosticsReport.GetStackTrace(), -parentDataView.Count, string.Empty, childrenField.View.Database.DiagnosticsReport.DateTime);
            //    }
            //}

            //Dictionary<object, object> keys = new Dictionary<object, object>();
            //if (!string.IsNullOrEmpty(fk))
            //{
            //    Dictionary<string, object> filter = new Dictionary<string, object>();
            //    filter.Add(fkField.Name, fk);

            //    DataView childrenDataView = childrenView.FillPage(1, 1000000, filter, false, null, out rowCount, null, null);

            //    if (childrenField.View.Database.DiagnosticsReportInProgress)
            //    {
            //        if (parentDataView.Count > childrenField.View.Database.DiagnosticsReport.OverLoadLimit)
            //        {
            //            Map.Logger.Log(childrenField.View.Name, childrenField.Name, childrenField.View.Database.DiagnosticsReport.Name, string.Empty, childrenField.View.Database.DiagnosticsReport.GetStackTrace(), -parentDataView.Count, string.Empty, childrenField.View.Database.DiagnosticsReport.DateTime);
            //        }
            //    }

            //    foreach (System.Data.DataRowView row in childrenDataView)
            //    {
            //        string key = parentField.GetValue(row.Row);
            //        keys.Add(key, key);
            //    }
            //}

            List <SelectListItem> selectList = new List <SelectListItem>();

            //foreach (System.Data.DataRowView row in parentDataView)
            //{
            //    string text = parentView.GetDisplayValue(row.Row);
            //    string value = parentView.GetPkValue(row.Row);
            //    bool selected = keys.ContainsKey(value);

            //    SelectListItem item = new SelectListItem();
            //    item.Text = text;
            //    item.Value = value;
            //    item.Selected = selected;

            //    selectList.Add(item);
            //}

            foreach (string key in selectOptions.Keys)
            {
                SelectListItem item = new SelectListItem();
                item.Text     = selectOptions[key];
                item.Value    = key;
                item.Selected = false;

                selectList.Add(item);
            }
            return(selectList);
        }