示例#1
0
        void ctrlUpdate_ValueChanged(object sender, EventArgs e)
        {
            xmlStruct.Controls.Clear();
            string[] mas = ctrlUpdate.Value.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
            if (mas.Length > 0)
            {
                ClassName = mas[0].Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries)[1];

                if (ClassName == MetaViewGroupUtil.keyValueNotDefined)
                {
                    CHelper.UpdateParentPanel(this);
                    return;
                }
                ObjectId = Convert.ToInt32(mas[0].Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries)[0]);

                _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);

                if (_bindObject != null && _bindObject.GetCardMetaType() != null)
                {
                    ClassName = _bindObject.GetCardMetaType().Name;
                }

                xmlStruct.ClassName           = ClassName;
                xmlStruct.LayoutType          = LayoutType.ObjectView;
                xmlStruct.PlaceName           = "TTGridDetails";
                xmlStruct.LayoutMode          = LayoutMode.WithTabs;
                xmlStruct.TabBlockCssClass    = "ibn-stylebox-light";
                xmlStruct.TabLeftGap          = false;
                xmlStruct.SelectTabByPostback = true;
                xmlStruct.CheckVisibleTab     = _bindObject;

                xmlStruct.DataBind();
            }
            CHelper.UpdateParentPanel(this);
        }
示例#2
0
        public void MakeDataBind(Control _ctrl)
        {
            if (ClassName == string.Empty && _bindObject == null)
            {
                return;
            }

            _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);

            MakeDataBindColl(_ctrl.Controls, _bindObject);
        }
示例#3
0
        public void MakeDataBind(Control _ctrl)
        {
            if (_bindObject == null)
            {
                _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);
            }
            MakeDataBindColl(_ctrl.Controls, _bindObject);

            if (BindSectionHeader)
            {
                BindToolbar();
            }
        }
示例#4
0
        private void SaveObject()
        {
            if (ObjectId > 0)
            {
                _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);

                if (_bindObject != null)
                {
                    ProcessCollection(this.Page.Controls, _bindObject);
                    _bindObject.Save();

                    CHelper.UpdateParentPanel(this);
                }
            }
        }
示例#5
0
        /// <summary>
        /// Gens the source.
        /// </summary>
        /// <param name="text">The text.</param>
        /// <param name="totalCount">The total count.</param>
        /// <returns></returns>
        private DataTable genSource(string text, out int totalCount)
        {
            DataTable dt = new DataTable();

            dt.Locale = CultureInfo.InvariantCulture;
            dt.Columns.Add(new DataColumn("PrimaryKeyId", typeof(int)));
            dt.Columns.Add(new DataColumn(TitleFieldName, typeof(string)));
            MetaClass mc = MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName);

            FilterElementCollection fec = new FilterElementCollection();

            fec.Add(new FilterElement(mc.TitleFieldName, FilterElementType.Contains, text));
            if (!String.IsNullOrEmpty(CardFilter))
            {
                string[] mas = CardFilter.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                if (mas.Length > 0)
                {
                    OrBlockFilterElement fe = new OrBlockFilterElement();
                    foreach (string sCard in mas)
                    {
                        fe.ChildElements.Add(FilterElement.EqualElement("Card", sCard.Trim()));
                    }
                    fec.Add(fe);
                }
            }

            MetaObject[] list = MetaObject.List(mc,
                                                fec,
                                                new SortingElementCollection(SortingElement.Ascending(mc.TitleFieldName)));
            int count = 0;

            foreach (MetaObject bo in list)
            {
                DataRow row = dt.NewRow();
                row["PrimaryKeyId"] = bo.PrimaryKeyId;
                row[TitleFieldName] = bo.Properties[mc.TitleFieldName].Value.ToString();
                dt.Rows.Add(row);
                count++;
                if (count > 10)
                {
                    break;
                }
            }
            totalCount = list.Length;

            return(dt);
        }
示例#6
0
        private void BindData()
        {
            xmlStruct.ClassName           = ClassName;
            xmlStruct.LayoutType          = LayoutType.ObjectView;
            xmlStruct.PlaceName           = "TTGridDetails";
            xmlStruct.LayoutMode          = LayoutMode.WithTabs;
            xmlStruct.TabBlockCssClass    = "ibn-stylebox-light";
            xmlStruct.TabLeftGap          = false;
            xmlStruct.SelectTabByPostback = true;

            if (_bindObject == null)
            {
                _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);
            }
            xmlStruct.CheckVisibleTab = _bindObject;

            xmlStruct.DataBind();
        }
示例#7
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            this.Page.Validate();
            if (!this.Page.IsValid)
            {
                return;
            }

            if (ObjectId != PrimaryKeyId.Empty)
            {
                _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);
            }
            else
            {
                _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName));
            }

            if (_bindObject != null)
            {
                ProcessCollection(this.Page.Controls, (BusinessObject)_bindObject);

                ((BusinessObject)_bindObject).Save();

                PrimaryKeyId objectId = ((BusinessObject)_bindObject).PrimaryKeyId.Value;

                if (Mode.ToLower() == "popup")
                {
                    string param = "";
                    if (!String.IsNullOrEmpty(CommandName))
                    {
                        CommandParameters cp = new CommandParameters(CommandName);
                        param = cp.ToString();
                    }
                    Mediachase.Ibn.Web.UI.WebControls.CommandHandler.GetCloseOpenedFrameScript(this.Page, param);
                }
                else
                {
                    Response.Redirect(CHelper.GetLinkObjectView_Edit(ClassName, objectId.ToString()));
                }
            }
        }
示例#8
0
        public void MakeDataBind(Control _ctrl)
        {
            if (_bindObject == null)
            {
                if (ObjectId != PrimaryKeyId.Empty)
                {
                    _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);
                }
                else
                {
                    _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName));
                }
            }

            MakeDataBindColl(_ctrl.Controls, _bindObject);

            BindToolbar();
        }
示例#9
0
        public bool IsEnable(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;

                if (!cp.CommandArguments.ContainsKey("parentBlockId"))
                {
                    return(false);
                }

                TimeTrackingBlock   ttb         = MetaObjectActivator.CreateInstance <TimeTrackingBlock>(MetaDataWrapper.ResolveMetaClassByNameOrCardName("TimeTrackingBlock"), Convert.ToInt32(cp.CommandArguments["parentBlockId"].ToString(), CultureInfo.InvariantCulture));
                StateMachineService sms         = ttb.GetService <StateMachineService>();
                StateTransition[]   transitions = sms.GetNextAvailableTransitions(true);

                bool isInitialState = sms.StateMachine.GetStateIndex(sms.CurrentState.Name) == 0;

                return(transitions.Length > 0 && isInitialState);
            }

            return(false);
        }
示例#10
0
        public bool IsEnable(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;

                if (!cp.CommandArguments.ContainsKey("parentBlockId"))
                {
                    return(false);
                }

                MetaObject          ttb         = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName("TimeTrackingBlock"), Convert.ToInt32(cp.CommandArguments["parentBlockId"]));
                StateMachineService sms         = ((BusinessObject)ttb).GetService <StateMachineService>();
                StateTransition[]   transitions = sms.GetNextAvailableTransitions(true);

                bool retval = true;
                if (transitions.Length == 0)
                {
                    transitions = sms.GetPrevAvailableTransitions(true);
                    retval      = transitions.Length > 0;
                }
                return(retval);
            }

            return(false);
        }
示例#11
0
        public bool IsEnable(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;

                if (!cp.CommandArguments.ContainsKey("parentBlockId"))
                {
                    return(false);
                }

                MetaObject          ttb = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName("TimeTrackingBlock"), Convert.ToInt32(cp.CommandArguments["parentBlockId"]));
                StateMachineService sms = ((BusinessObject)ttb).GetService <StateMachineService>();

                bool canWrite       = TimeTrackingBlock.CheckUserRight((Mediachase.IbnNext.TimeTracking.TimeTrackingBlock)ttb, Security.RightWrite);
                bool isInitialState = sms.StateMachine.GetStateIndex(sms.CurrentState.Name) == 0;

                return(canWrite && isInitialState);
            }

            return(false);
        }
示例#12
0
 private void BindObjects()
 {
     if (!String.IsNullOrEmpty(_className) && ObjectIds.Count > 0)
     {
         txtName.InnerHtml = "";
         foreach (int i in ObjectIds)
         {
             BusinessObject bo = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(_className), i);
             txtName.InnerHtml += String.Format("<div style='height:18px;vertical-align:middle;border-bottom:1px solid #dedede;padding:2px;'><span style='float:left;'>{0}</span><span style='float:right;cursor:pointer;padding-right:4px;' onclick=\"{2}\"><img alt='' align='absmiddle' src='{1}' style='cursor:pointer;' /></span></div>",
                                                bo.Properties[bo.GetMetaType().TitleFieldName].Value.ToString(),
                                                CHelper.GetAbsolutePath("/images/IbnFramework/delete.gif"),
                                                String.Format("__doPostBack('{0}', '{1}')", hfClear.ClientID, i.ToString()));
         }
     }
     else
     {
         txtName.InnerHtml = "&nbsp;";
     }
 }
示例#13
0
 private void BindObject()
 {
     if (!String.IsNullOrEmpty(_className) && ObjectId > 0)
     {
         BusinessObject bo = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(_className), ObjectId);
         txtName.InnerHtml = String.Format("<div style='padding:2px;'><span style='float:left;'>{0}</span><span style='float:right;cursor:pointer;padding-right:4px;' onclick=\"{2}\"><img alt='' align='absmiddle' src='{1}' style='cursor:pointer;' /></span></div>",
                                           bo.Properties[bo.GetMetaType().TitleFieldName].Value.ToString(),
                                           CHelper.GetAbsolutePath("/images/IbnFramework/delete.gif"),
                                           String.Format("CancelBubble_SelectPopups(event);__doPostBack('{0}', '')", hfClear.ClientID));
     }
     else
     {
         txtName.InnerHtml = String.Format("<div style='padding:2px;'>{0}</div>", "Not Set");
     }
 }
示例#14
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            if (CHelper.NeedToDataBind())
            {
                if (_bindObject == null)
                {
                    _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);
                }

                xmlStruct.CheckVisibleTab = _bindObject;

                xmlStruct.DataBind();
            }
        }
示例#15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            CHelper.AddToContext("ClassName", ClassName);
            CHelper.AddToContext("ObjectId", ObjectId);
            //CHelper.AddToContext(NavigationBlock.KeyContextMenu, "class_" + ClassName);
            //CHelper.AddToContext(NavigationBlock.KeyContextMenuTitle, CommonHelper.GetResFileString(mc.FriendlyName));

            this.Page.PreRenderComplete += new EventHandler(Page_PreRenderComplete);
            xmlStruct.InnerDataBind     += new XmlFormBuilder.InnerDataBindEventHandler(xmlStruct_InnerDataBind);

            if (!Page.IsPostBack)
            {
                xmlStruct.ClassName  = ClassName;
                xmlStruct.LayoutType = LayoutType.ObjectView;
                if (!String.IsNullOrEmpty(PlaceName))
                {
                    xmlStruct.PlaceName = PlaceName;
                }
                xmlStruct.LayoutMode = LayoutMode.WithTabs;

                if (_bindObject == null)
                {
                    _bindObject = MetaObjectActivator.CreateInstance <BusinessObject>(MetaDataWrapper.ResolveMetaClassByNameOrCardName(ClassName), ObjectId);
                }

                xmlStruct.CheckVisibleTab = _bindObject;

                xmlStruct.DataBind();
            }
        }