Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string title = "";

            if (Request.QueryString["class"] != null)
            {
                string    className = Request.QueryString["class"];
                MetaClass mc        = MetaDataWrapper.GetMetaClassByName(className);

                if (mc.IsCard)
                {
                    title = "CardCustomization";
                }
                else if (mc.IsBridge)
                {
                    title = "BridgeCustomization";
                }
                else
                {
                    title = "InfoCustomization";
                }
            }
            pT.Title = GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", title).ToString();

            Mediachase.IBN.Business.UserLightPropertyCollection pc = Mediachase.IBN.Business.Security.CurrentUser.Properties;
            if (pc["TimeTrackingMode"] != null && pc["TimeTrackingMode"] == "dev")
            {
                pT.SetControlProperties("ShowSystemInfo", true);
            }
            else
            {
                pT.SetControlProperties("ShowSystemInfo", false);
            }
        }
Пример #2
0
        /// <summary>
        /// Gets the web dav URL by WebDavTicket.
        /// </summary>
        /// <param name="ticket">The ticket.</param>
        /// <returns></returns>
        public static string GetWebDavUrl(string ticket)
        {
            string       retVal       = string.Empty;
            WebDavTicket webDavTicket = WebDavTicket.Parse(ticket);

            //Попытаемся определить имя файла
            if (String.IsNullOrEmpty(webDavTicket.AbsolutePath.FileName))
            {
                if (webDavTicket.AbsolutePath.StorageType == ObjectTypes.File_FileStorage)
                {
                    FileStorageAbsolutePath fsAbsPath = webDavTicket.AbsolutePath as FileStorageAbsolutePath;
                    if (fsAbsPath != null)
                    {
                        FileStorage fs = new FileStorage();
                        Mediachase.IBN.Business.ControlSystem.FileInfo fileInfo = fs.GetFile(fsAbsPath.UniqueId);
                        if (fileInfo != null)
                        {
                            webDavTicket.AbsolutePath.FileName = fileInfo.Name;
                        }
                    }
                }
                else if (webDavTicket.AbsolutePath.StorageType == ObjectTypes.File_MetaData)
                {
                    MetaDataAbsolutePath mdAbsPath = webDavTicket.AbsolutePath as MetaDataAbsolutePath;
                    if (mdAbsPath != null)
                    {
                        Mediachase.Ibn.Data.Meta.FileInfo fileInfo = new Mediachase.Ibn.Data.Meta.FileInfo(mdAbsPath.FileUID);
                        webDavTicket.AbsolutePath.FileName = fileInfo.Name;
                    }
                }
                else if (webDavTicket.AbsolutePath.StorageType == ObjectTypes.File_MetaDataPlus)
                {
                    MetaDataPlusAbsolutePath mdpAbsPath = webDavTicket.AbsolutePath as MetaDataPlusAbsolutePath;
                    if (mdpAbsPath != null)
                    {
                        Mediachase.MetaDataPlus.MetaObject obj = MetaDataWrapper.LoadMetaObject(mdpAbsPath.MetaObjectId, mdpAbsPath.MetaObjectType);
                        MetaFile mf = obj[mdpAbsPath.MetaFieldName] as MetaFile;
                        if (mf != null)
                        {
                            webDavTicket.AbsolutePath.FileName = mf.Name;
                        }
                    }
                }
                else if (webDavTicket.AbsolutePath.StorageType == ObjectTypes.File_Incident)
                {
                    EmailStorageAbsolutePath emlAbsPath = webDavTicket.AbsolutePath as EmailStorageAbsolutePath;
                    if (emlAbsPath != null)
                    {
                        EMailMessageInfo emlInfo    = EMailMessageInfo.Load(emlAbsPath.EmailMsgId);
                        AttachmentInfo   attachInfo = emlInfo.Attachments[emlAbsPath.EmailAttachmentIndex];
                        webDavTicket.AbsolutePath.FileName = attachInfo.FileName;
                    }
                }
            }

            retVal = GetWebDavUrl(webDavTicket.AbsolutePath, true);


            return(retVal);
        }
Пример #3
0
        public void Save()
        {
            MetaObject obj = null;

            if (ObjectId > 0)
            {
                obj = MetaDataWrapper.LoadMetaObject(ObjectId, MetaClassName, Security.CurrentUser.UserID, DateTime.UtcNow);
            }
            if (obj == null)
            {
                obj = MetaDataWrapper.NewMetaObject(ObjectId, MetaClassName);
            }

            foreach (HtmlTableRow row in tblCustomFields.Rows)
            {
                if (row.Cells.Count > 1)
                {
                    HtmlTableCell cell = row.Cells[1];
                    if (cell.Controls.Count > 0)
                    {
                        ICustomField ctrl       = (ICustomField)cell.Controls[0];
                        object       FieldValue = ctrl.Value;
                        string       FieldName  = ctrl.FieldName;

                        obj[FieldName] = FieldValue;
                    }
                }
            }

            ObjectId = MetaDataWrapper.AcceptChanges(obj);
        }
Пример #4
0
        private void BindDataGrid(bool dataBind)
        {
            grdMain.SearchKeyword = tbSearchString.Text.Trim();

            DataTable dt = ((DataTable)ViewState["Resources"]).Copy();
            FilterElementCollection fec = new FilterElementCollection();

            foreach (DataRow dr in dt.Rows)
            {
                string[] elem = dr["Id"].ToString().Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                if (elem[1] != "0")
                {
                    MetaClass mcEl = MetaDataWrapper.GetMetaClassByName(elem[1]);
                    if (mcEl.IsCard)
                    {
                        elem[1] = mcEl.CardOwner.Name;
                    }
                }
                if (elem[1] == ddFilter.SelectedValue)
                {
                    MetaClass     mc = MetaDataWrapper.GetMetaClassByName(ddFilter.SelectedValue);
                    FilterElement fe = FilterElement.NotEqualElement(
                        SqlContext.Current.Database.Tables[mc.DataSource.PrimaryTable].PrimaryKey.Name,
                        PrimaryKeyId.Parse(elem[0]));
                    fec.Add(fe);
                }
            }
            grdMain.AddFilters = fec;

            if (dataBind)
            {
                grdMain.DataBind();
            }
        }
Пример #5
0
        /// <summary>
        /// Binds from value.
        /// </summary>
        private void BindFromValue(string metaClassName)
        {
            CommandParameters cp = new CommandParameters("MC_MUI_EntityDDSmall");

            cp.CommandArguments = new System.Collections.Generic.Dictionary <string, string>();
            if (!String.IsNullOrEmpty(metaClassName))
            {
                cp.AddCommandArgument("Classes", metaClassName);
            }
            cp.AddCommandArgument("Refresh", String.Format("Refresh{0}", this.ID));
            //Mediachase.Ibn.Web.UI.WebControls.CommandHandler.RegisterCloseOpenedFrameScript(this.Page, cp.ToString());

            string scriptToExecute = CommandManager.GetCurrent(this.Page).AddCommand(metaClassName, string.Empty, string.Empty, cp);

            if (this.Value == null)
            {
                lblValue.Text = CHelper.GetResFileString("{IbnFramework.Common:tFilterSelectObject}");
            }
            else
            {
                PrimaryKeyId id  = PrimaryKeyId.Parse(this.Value.ToString());
                EntityObject obj = BusinessManager.Load(metaClassName, id);
                MetaClass    mc  = MetaDataWrapper.GetMetaClassByName(obj.MetaClassName);
                lblValue.Text = obj.Properties[mc.TitleFieldName].Value.ToString();
            }

            lblValue.Attributes.Add("onclick", scriptToExecute);
        }
Пример #6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!String.IsNullOrEmpty(Request["ClassName"]))
     {
         pT.Title = CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(Request["ClassName"]).FriendlyName);
     }
 }
Пример #7
0
        protected string GetResult(object resultObj)
        {
            string retval = string.Empty;

            if (resultObj != null && resultObj != DBNull.Value)
            {
                int result = (int)resultObj;

                retval = CHelper.GetResFileString(MetaEnum.GetFriendlyName(MetaDataWrapper.GetEnumByName("AssignmentExecutionResult"), result));
                if (result == (int)AssignmentExecutionResult.Accepted)
                {
                    retval = String.Concat("<span class=\"resultAccepted\">", retval, "</span>");
                }
                else if (result == (int)AssignmentExecutionResult.Declined)
                {
                    retval = String.Concat("<span class=\"resultDeclined\">", retval, "</span>");
                }
                else if (result == (int)AssignmentExecutionResult.Canceled)
                {
                    retval = String.Concat("<span class=\"resultCanceled\">", retval, "</span>");
                }
            }

            return(retval);
        }
Пример #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(ClassName))
            {
                throw new ArgumentException("ClassName");
            }

            if (!IsPostBack)
            {
                MetaClass mc = MetaDataWrapper.GetMetaClassByName(ClassName);

                // Tree
                BindTree();

                // Default Values
                ItemText.Text = CHelper.GetResFileString(mc.PluralName);

                // Style
                Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), Guid.NewGuid().ToString(),
                                                            String.Format("<link type='text/css' rel='stylesheet' href='{0}' />", ResolveClientUrl("~/Styles/Shell/mainLeftTemplate.css")));

                // Header
                MainHeader.AddLink(
                    CHelper.GetIconText(CHelper.GetResFileString("{IbnFramework.ListInfo:tClose}"), ResolveClientUrl("~/layouts/images/cancel.gif")),
                    "javascript:window.close();");

                // Buttons
                PublishButton.Attributes.Add("onclick", "DisableButtons(this);");
                PublishButton.Style.Add(HtmlTextWriterStyle.Width, "150px;");
                CloseButton.Attributes.Add("onclick", "window.close();");
                CloseButton.Style.Add(HtmlTextWriterStyle.Width, "150px;");
            }
        }
Пример #9
0
        /// <summary>
        /// Handles the SelectedIndexChanged event of the ddClasses control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void ddClasses_SelectedIndexChanged(object sender, EventArgs e)
        {
            MetaClassName = ddClasses.SelectedValue;
            BindForms();

            lblTableName.Text = CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(MetaClassName).FriendlyName);
        }
Пример #10
0
 private void RebindFieldInfo(string selectedClassName)
 {
     NameTextBox.Text         = String.Concat(ClassName, "_", selectedClassName);
     FriendlyNameTextBox.Text = String.Concat(
         CHelper.GetResFileString(mc.PluralName),
         CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(selectedClassName).PluralName));
 }
Пример #11
0
        private void BindData()
        {
            Role role = Mediachase.Ibn.Data.Services.RoleManager.GetObjectRole(mc, RoleName);

            if (role != null)
            {
                RoleNameLabel.Text = CHelper.GetResFileString(role.Properties["FriendlyName"].Value.ToString());
                if (role.Properties["ClassName"].Value != null)
                {
                    string className = (string)role.Properties["ClassName"].Value;
                    if (className.Contains("::"))
                    {
                        string[] s = new string[] { "::" };
                        className          = className.Split(s, StringSplitOptions.None)[0];
                        RoleNameLabel.Text = String.Format(CultureInfo.InvariantCulture,
                                                           "{0} ({1})",
                                                           RoleNameLabel.Text,
                                                           CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(className).PluralName));
                    }
                }

                MetaObjectPropertyCollection properties = role.Properties;
                for (int i = 0; i < rights.Count; i++)
                {
                    string rightName = rights[i].ToString();
                    ((CheckControl)checkControls[i]).Value = (int)properties[rightName].Value;
                }
            }
        }
Пример #12
0
        /// <summary>
        /// Binds the DD.
        /// </summary>
        private void BindDD()
        {
            if (CanAddNewForm)
            {
                Dictionary <int, string> dic  = Mediachase.Ibn.Data.Meta.Management.SqlSerialization.MetaClassId.GetIds();
                List <string>            list = new List <string>(dic.Values);
                list.Sort();

                ddClasses.DataSource = list;
                ddClasses.DataBind();

                if (!String.IsNullOrEmpty(MetaClassName))
                {
                    CHelper.SafeSelect(ddClasses, MetaClassName);
                }

                MetaClassName = ddClasses.SelectedValue;
            }
            else
            {
                lblTempClassName.Text = CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(MetaClassName).FriendlyName);
            }

            lblTableName.Text = CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(MetaClassName).FriendlyName);

            ddClasses.Visible        = CanAddNewForm;
            lblTempClassName.Visible = !CanAddNewForm;

            BindForms();
        }
Пример #13
0
        /// <summary>
        /// Binds the data.
        /// </summary>
        private void BindData()
        {
            if (mc == null)
            {
                if (OwnerClassName != String.Empty)
                {
                    MetaClass ownerClass = MetaDataWrapper.GetMetaClassByName(OwnerClassName);
                    ddlClass.Items.Add(new ListItem(CHelper.GetResFileString(ownerClass.FriendlyName), ownerClass.Name));
                    ddlClass.Enabled = false;
                }
                else
                {
                    foreach (MetaClass cls in MetaDataWrapper.GetMetaClassesSupportedCards())
                    {
                        ddlClass.Items.Add(new ListItem(cls.Name, cls.Name));
                    }
                }

                txtClassName.Attributes.Add("onblur", "SetName('" + txtClassName.ClientID + "','" + txtClassFriendlyName.ClientID + "','" + vldClassFriendlyName_Required.ClientID + "')" + "; SetName('" + txtClassName.ClientID + "','" + txtClassPluralName.ClientID + "','" + vldClassPluralName_Required.ClientID + "')");
            }
            else
            {
                MetaClass ownerClass = MetaDataWrapper.GetOwnerClass(mc);
                ddlClass.Items.Add(new ListItem(ownerClass.Name, ownerClass.Name));
                ddlClass.Enabled = false;

                txtClassName.Text    = mc.Name;
                txtClassName.Enabled = false;

                txtClassFriendlyName.Text = mc.FriendlyName;
                txtClassPluralName.Text   = mc.PluralName;
            }
        }
Пример #14
0
        private void RebindFieldInfoByPrimaryObject()
        {
            string selectedClassName = PrimaryObjectList.SelectedValue;

            NameTextBox.Text         = selectedClassName;
            FriendlyNameTextBox.Text = CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(selectedClassName).FriendlyName);
        }
Пример #15
0
        /// <summary>
        /// Loads the request variables.
        /// </summary>
        private void LoadRequestVariables()
        {
            if (Request.QueryString["class"] != null)
            {
                ClassName = Request.QueryString["class"];
                mc        = MetaDataWrapper.GetMetaClassByName(ClassName);
            }

            if (mc != null && Request.QueryString["field"] != null)
            {
                FieldName = Request.QueryString["field"];
                mf        = mc.Fields[FieldName];
            }

            if (Request.QueryString["refclass"] != null)
            {
                RefClassName = Request.QueryString["refclass"];
                mcRef        = MetaDataWrapper.GetMetaClassByName(RefClassName);
            }

            if (mcRef != null && Request.QueryString["reffield"] != null)
            {
                RefFieldName = Request.QueryString["reffield"];
                mfRef        = mcRef.Fields[RefFieldName];
            }

            if (Request.QueryString["mode"] != null)
            {
                Mode = Request.QueryString["mode"].ToUpperInvariant();
            }
        }
Пример #16
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);
        }
Пример #17
0
        public void Creates_CompondDocument_for_metadatawrapper_single_not_nested_class_and_propertly_map_metadata()
        {
            // Arrange
            const string pagingValue = "1";
            const string countValue  = "2";

            var context = CreateContext();
            MetaDataWrapper <SampleClass> objectToTransform = CreateObjectToTransform();

            objectToTransform.MetaData.Add("Paging", pagingValue);
            objectToTransform.MetaData.Add("Count", countValue);
            var sut = new JsonApiTransformer()
            {
                TransformationHelper = new TransformationHelper()
            };


            // Act
            CompoundDocument result = sut.Transform(objectToTransform, context);

            // Assert
            var transformedObjectMetadata = result.Meta;

            transformedObjectMetadata["Paging"].ShouldEqual(pagingValue);
            transformedObjectMetadata["Count"].ShouldEqual(countValue);
        }
Пример #18
0
        private void RebindDisplayInfo(
            string className,
            HtmlTableRow displayRow,
            BlockHeaderLight2 displayBlockHeader,
            string title,
            DropDownList displayRegion,
            HtmlTableRow displayTextRow,
            HtmlTableRow displayOrderRow)
        {
            if (ListManager.MetaClassIsList(className))
            {
                displayRow.Visible = false;
            }
            else
            {
                displayRow.Visible = true;

                displayBlockHeader.Title = String.Format(CultureInfo.InvariantCulture,
                                                         "{0} ({1})",
                                                         title,
                                                         CHelper.GetResFileString(MetaDataWrapper.GetMetaClassByName(className).FriendlyName));

                FillRegions(className, displayRegion, displayTextRow, displayOrderRow);
            }
        }
Пример #19
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            TitleFieldName                 = MetaDataWrapper.GetMetaClassByName(ClassName).TitleFieldName;
            hfClassName.ValueChanged      += new EventHandler(hfClassName_ValueChanged);
            tbMainExtender.XPath           = "tbody tr";
            tbMainExtender.XPathId         = "td input[type=image]";
            tbMainExtender.IdAttributeName = "onclick";
            tbMainExtender.ListContainer   = GridMain.ClientID;
            tbMainExtender.CssSelected     = "TextBoxListSelected";
            tbMain.TextChanged            += new EventHandler(tbMain_TextChanged);

/*			if (!IsPostBack)
 *                              BindGrid(string.Empty);
 */
            tbMain.Attributes.Add("autocomplete", "off");

            if (!Page.ClientScript.IsClientScriptBlockRegistered("MC_SelectPopup_js"))
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MC_SelectPopup_js",
                                                            String.Format("<script language=\"javascript\" type=\"text/javascript\" src=\"{0}\"></script>",
                                                                          CHelper.GetAbsolutePath("/Apps/Common/Scripts/SelectPopupScript.js")));
            }

            divClose.Attributes.Add("onclick", String.Format("javascript:MC_SELECT_POPUPS['{0}'].hideSelectPopup();", this.ClientID));
        }
Пример #20
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(ClassName))
            {
                MetaClass mc = MetaDataWrapper.GetMetaClassByName(ClassName);

                HistoryMetaClassInfo historyInfo = HistoryManager.GetInfo(mc);
                historyInfo.SelectedFields.Add(FieldList.SelectedValue);
                HistoryManager.SetInfo(mc, historyInfo);

                ListViewProfile[] mas = ListViewProfile.GetSystemProfiles(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList");
                if (mas.Length == 0)
                {
                    CHelper.GetHistorySystemListViewProfile(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList");
                    mas = ListViewProfile.GetSystemProfiles(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList");
                }
                if (!mas[0].FieldSet.Contains(FieldList.SelectedValue))
                {
                    mas[0].FieldSet.Add(FieldList.SelectedValue);
                    mas[0].ColumnsUI.Add(new ColumnProperties(FieldList.SelectedValue, "150px", String.Empty));
                    ListViewProfile.SaveSystemProfile(HistoryManager.GetHistoryMetaClassName(ClassName), "ItemHistoryList", Mediachase.IBN.Business.Security.CurrentUser.UserID, mas[0]);
                }

                CommandParameters cp = new CommandParameters(CommandName);
                Mediachase.Ibn.Web.UI.WebControls.CommandHandler.RegisterCloseOpenedFrameScript(this.Page, cp.ToString());
                //CHelper.UpdateModalPopupContainer(this, ContainerId);
                //CHelper.RequireDataBind();
            }
        }
Пример #21
0
        /// <summary>
        /// Binds the data.
        /// </summary>
        private void BindData()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("FriendlyName", typeof(string)));

            if (TypeName != string.Empty)
            {
                MetaFieldType mft = MetaDataWrapper.GetTypeByName(TypeName);
                if (mft != null)
                {
                    txtMRTName.Text      = mft.Name;
                    txtMRTName.ReadOnly  = true;
                    txtMRTName.CssClass  = "text-readonly";
                    txtFriendlyName.Text = mft.FriendlyName;
                }

                DataRow dr;
                foreach (MultiReferenceItem mri in MultiReferenceType.GetMultiReferenceItems(mft))
                {
                    dr                 = dt.NewRow();
                    dr["Name"]         = mri.MetaClassName;
                    dr["FriendlyName"] = mri.MetaClassName;
                    dt.Rows.Add(dr);
                }
                dgClasses.Columns[2].Visible = false;
            }
            ViewState["DT_Source"] = dt;
            BindDG();
        }
Пример #22
0
 /// <summary>
 /// Handles the ServerClick event of the imbtnSave control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
 void imbtnSave_ServerClick(object sender, EventArgs e)
 {
     Page.Validate();
     if (!Page.IsValid)
     {
         return;
     }
     if (TypeName == string.Empty)
     {
         string typeName = String.Empty;
         using (MetaClassManagerEditScope editScope = DataContext.Current.MetaModel.BeginEdit())
         {
             DataTable dt = (DataTable)ViewState["DT_Source"];
             List <MultiReferenceItem> mas = new List <MultiReferenceItem>();
             foreach (DataRow dr in dt.Rows)
             {
                 mas.Add(new MultiReferenceItem(dr["Name"].ToString(), dr["Name"].ToString(), dr["FriendlyName"].ToString()));
             }
             MetaFieldType type = MultiReferenceType.Create(txtMRTName.Text, txtFriendlyName.Text, mas.ToArray());
             typeName = type.Name;
             editScope.SaveChanges();
         }
         //if (typeName != String.Empty)
         //    Response.Redirect(String.Format("~/Apps/MetaDataBase/Pages/Admin/MultiReferenceTypeView.aspx?type={0}", typeName));
         //else
         Response.Redirect("~/Apps/MetaDataBase/Pages/Admin/MultiReferenceTypeList.aspx");
     }
     else
     {
         MetaFieldType type = MetaDataWrapper.GetTypeByName(TypeName);
         type.FriendlyName = txtFriendlyName.Text;
         Response.Redirect(String.Format("~/Apps/MetaDataBase/Pages/Admin/MultiReferenceTypeView.aspx?type={0}", TypeName));
     }
 }
Пример #23
0
 private void LoadRequestVariables()
 {
     if (Request.QueryString["type"] != null)
     {
         TypeName = Request.QueryString["type"];
         mft      = MetaDataWrapper.GetTypeByName(TypeName);
     }
 }
Пример #24
0
 private void LoadRequestVariables()
 {
     if (Request.QueryString["class"] != null)
     {
         ClassName = Request.QueryString["class"];
         mc        = MetaDataWrapper.GetMetaClassByName(ClassName);
     }
 }
Пример #25
0
        private void ProcessControl(Control c, BusinessObject _obj)
        {
            IEditControl editControl = c as IEditControl;

            if (editControl != null)
            {
                string fieldName = editControl.FieldName;

                string    ownFieldName  = fieldName;
                string    aggrFieldName = String.Empty;
                MetaField ownField      = null;
                MetaField aggrField     = null;
                if (ownFieldName.Contains("."))
                {
                    string[] mas = ownFieldName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                    if (mas.Length > 1)
                    {
                        ownFieldName  = mas[0];
                        aggrFieldName = mas[1];
                        string aggrClassName = _obj.Properties[ownFieldName].GetMetaType().Attributes[McDataTypeAttribute.AggregationMetaClassName].ToString();
                        aggrField = MetaDataWrapper.GetMetaFieldByName(aggrClassName, aggrFieldName);
                    }
                }
                ownField = _obj.Properties[ownFieldName].GetMetaType();

                object eValue = editControl.Value;

                bool makeChange = true;

                MetaField field = (aggrField == null) ? ownField : aggrField;
                if ((!field.IsNullable && eValue == null) ||
                    _obj.Properties[ownFieldName].IsReadOnly)
                {
                    makeChange = false;
                }

                if (makeChange)
                {
                    if (aggrField == null)
                    {
                        _obj[ownFieldName] = eValue;
                    }
                    else
                    {
                        //make aggregation
                        MetaObject aggrObj = (MetaObject)_obj[ownFieldName];
                        aggrObj[aggrFieldName] = eValue;
                    }
                }
            }

            BaseServiceEditControl bsc = c as BaseServiceEditControl;

            if (bsc != null)
            {
                bsc.Save(_obj);
            }
        }
Пример #26
0
        protected void grdMain_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == deleteCommand && mc != null)
            {
                MetaDataWrapper.DeleteMetaField(mc, e.CommandArgument.ToString());

                CHelper.RequireDataBind();
            }
        }
Пример #27
0
        protected void MainGrid_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e != null && e.CommandName == deleteCommand & e.CommandArgument != null)
            {
                MetaDataWrapper.DeleteBridge(e.CommandArgument.ToString());

                CHelper.RequireDataBind();
            }
        }
Пример #28
0
        /// <summary>
        /// Gets the web dav URL.
        /// </summary>
        /// <param name="storageType">Type of the storage.</param>
        /// <param name="objectId">The object id.</param>
        /// <param name="objectName">Name of the object.</param>
        /// <returns></returns>
        public static string GetMetaDataPlusWebDavUrl(int objectId, string objectType, string fieldName, bool withAuthToken)
        {
            string retVal = string.Empty;

            Mediachase.MetaDataPlus.MetaObject obj = MetaDataWrapper.LoadMetaObject(objectId, objectType);
            retVal = GetMetaDataPlusWebDavUrl(obj, fieldName, withAuthToken);

            return(retVal);
        }
Пример #29
0
        protected void btnSave_ServerClick(object sender, EventArgs e)
        {
            DataTable dt = ((DataTable)ViewState["Resources"]).Copy();

            List <CalendarEventResourceEntity> list = new List <CalendarEventResourceEntity>();

            foreach (DataRow dr in dt.Rows)
            {
                CalendarEventResourceEntity cero = BusinessManager.InitializeEntity <CalendarEventResourceEntity>(CalendarEventResourceEntity.ClassName);
                string[] elem = dr["Id"].ToString().Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                if (elem[1] != "0")
                {
                    MetaClass mcEl = MetaDataWrapper.GetMetaClassByName(elem[1]);
                    if (mcEl.IsCard)
                    {
                        elem[1] = mcEl.CardOwner.Name;
                    }
                }

                if (elem[1] == "0")
                {
                    cero.Email = elem[0];
                }
                else if (elem[1] == Principal.GetAssignedMetaClass().Name)
                {
                    cero.PrincipalId = PrimaryKeyId.Parse(elem[0]);
                }
                else if (elem[1] == ContactEntity.GetAssignedMetaClassName())
                {
                    cero.ContactId = PrimaryKeyId.Parse(elem[0]);
                }
                else if (elem[1] == OrganizationEntity.GetAssignedMetaClassName())
                {
                    cero.OrganizationId = PrimaryKeyId.Parse(elem[0]);
                }

                cero.Name   = dr["Name"].ToString();
                cero.Status = (int)eResourceStatus.NotResponded;
                list.Add(cero);
            }

            CalendarEventEntity ceo = (CalendarEventEntity)BusinessManager.Load(CalendarEventEntity.ClassName, _workObjectId);
            CalendarEventUpdateResourcesRequest req = new CalendarEventUpdateResourcesRequest(ceo, list.ToArray());

            BusinessManager.Execute(req);

            if (Request["CommandName"] != null)
            {
                CommandParameters cp = new CommandParameters(Request["CommandName"]);
                Mediachase.Ibn.Web.UI.WebControls.CommandHandler.RegisterCloseOpenedFrameScript(this.Page, cp.ToString());
            }
            else
            {
                Mediachase.Ibn.Web.UI.WebControls.CommandHandler.RegisterCloseOpenedFrameScript(this.Page, String.Empty);
            }
        }
Пример #30
0
        /// <summary>
        /// Internals the bind header.
        /// </summary>
        private void internalBindHeader()
        {
            McMetaViewPreference mvPref = GetMetaViewPreference();
            int counter       = 0;
            int notMetaFields = 0;

            for (int i = 0; i < this.CustomColumns.Count; i++)
            {
                MainGrid.Columns[i].HeaderText        = CHelper.GetResFileString(this.CustomColumns[i].Title);
                MainGrid.Columns[i].ItemStyle.Width   = this.CustomColumns[i].Width;
                MainGrid.Columns[i].HeaderStyle.Width = this.CustomColumns[i].Width;
                notMetaFields++;
            }

            counter += this.CustomColumns.Count;

            foreach (MetaField field in this.VisibleMetaFields)
            {
                int _width = GetMetaViewPreference().GetMetaFieldWidth(counter - notMetaFields, 100);
                if (_width == 0)
                {
                    _width = 100;
                }
                MainGrid.Columns[counter].ItemStyle.Width   = _width;
                MainGrid.Columns[counter].HeaderStyle.Width = _width;

                //add sorting only for metaFileds that supports sorting at MetaData level
                if (MetaDataWrapper.IsSortable(field))
                {
                    MainGrid.Columns[counter].SortExpression = field.Name;
                }

                DataControlField controlField = MainGrid.Columns[counter];
                controlField.HeaderText = CHelper.GetResFileString(field.FriendlyName);

                // Raising event
                ChangingMetaGridColumnHeaderEventArgs e = new ChangingMetaGridColumnHeaderEventArgs(controlField, field);
                OnChangingMetaGridColumnHeader(e);

                #region Sorting header text (arrows up/down)
                if (mvPref.Sorting != null && mvPref.Sorting.Count > 0 && mvPref.Sorting[0].Source == field.Name)
                {
                    if (mvPref.Sorting[0].Type == SortingElementType.Asc)
                    {
                        MainGrid.Columns[counter].HeaderText += String.Format("&nbsp;<img alt='' border='0' src='{0}' />", this.ResolveUrl("~/images/IbnFramework/sort_asc.gif"));
                    }
                    else
                    {
                        MainGrid.Columns[counter].HeaderText += String.Format("&nbsp;<img alt='' border='0' src='{0}' />", this.ResolveUrl("~/images/IbnFramework/sort_desc.gif"));
                    }
                }
                #endregion

                counter++;
            }
        }
Пример #31
0
        public void MetadataWrapper_add_result_collection_ok()
        {
            // Arrange
            var testsStrings = new List<string>(){ "test1", "test2" };

            // Act
            var sut = new MetaDataWrapper<List<string>>(testsStrings);

            // Assert
            sut.MetaData.ShouldBeEmpty();
            sut.Value.ShouldEqual(testsStrings);
        }
Пример #32
0
        public void MetadataWrapper_using_ctor_string_ok()
        {
            // Arrange
            const string testString = "Test String";
            
            // Act
            var sut = new MetaDataWrapper<string>(testString);

            // Assert
            Assert.Equal(sut.Value, testString);
            Assert.Empty(sut.MetaData);
        }
Пример #33
0
        public void MetadataWrapper_add_result_collection_ok()
        {
            // Arrange
            var testsStrings = new List<string>(){ "test1", "test2" };

            // Act
            var sut = new MetaDataWrapper<List<string>>(testsStrings);

            // Assert
            Assert.Equal(sut.Value, testsStrings);
            Assert.Empty(sut.MetaData);
        }
Пример #34
0
        public void MetadataWrapper_using_ctor_string_ok()
        {
            // Arrange
            const string testString = "Test String";

            // Act
            var sut = new MetaDataWrapper<string>(testString);

            // Assert
            sut.Value.ShouldEqual(testString);
            sut.MetaData.ShouldBeEmpty();
        }