/// <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();
        }
Beispiel #2
0
        private void BindLists()
        {
            trWithData.Visible = false;
            ddTemplates.Items.Clear();
            ddTemplates.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.ListInfo:tNotSet}"), "-1"));
            foreach (ListInfo li in ListManager.GetTemplates())
            {
                ddTemplates.Items.Add(new ListItem(li.Title, li.PrimaryKeyId.Value.ToString()));
            }
            if (ddTemplates.Items.Count == 1)
            {
                upTemplate.Visible = false;
            }

            MetaFieldType enumListType   = DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListTypeEnumName];
            MetaFieldType enumListStatus = DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListStatusEnumName];

            foreach (MetaEnumItem mei in enumListType.EnumItems)
            {
                ddType.Items.Add(new ListItem(CHelper.GetResFileString(mei.Name), mei.Handle.ToString()));
            }

            foreach (MetaEnumItem mei in enumListStatus.EnumItems)
            {
                ddStatus.Items.Add(new ListItem(CHelper.GetResFileString(mei.Name), mei.Handle.ToString()));
            }
        }
        public static void Load(MetaFieldType type, int phoneId, string file)
        {
            List <MetaField> entries = null;

            switch (type)
            {
            case MetaFieldType.CallLog:
                entries = ParseCsvFile_CallLogs(file);
                break;

            case MetaFieldType.Sms:
                entries = ParseCsvFile_SMS(file);
                break;

            case MetaFieldType.AddressBookEntry:
                entries = ParseCsvFile_AddressBookEntries(file);
                break;

            default:
                throw new ArgumentOutOfRangeException("type");
            }

            Console.WriteLine("File contained {0} valid entries.", entries.Count);

#if _INSERT_
            MetaField.Insert(phoneId, entries, false, "xry");
#endif
        }
 /// <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));
     }
 }
        public static void Load(MetaFieldType type, int phoneId, string file)
        {
            List<MetaField> entries = null;

            switch (type)
            {
                case MetaFieldType.CallLog:
                    entries = ParseCsvFile_CallLogs(file);
                    break;
                case MetaFieldType.Sms:
                    entries = ParseCsvFile_SMS(file);
                    break;
                case MetaFieldType.AddressBookEntry:
                    entries = ParseCsvFile_AddressBookEntries(file);
                    break;
                default:
                    throw new ArgumentOutOfRangeException("type");
            }

            Console.WriteLine("File contained {0} valid entries.", entries.Count);

            #if _INSERT_
            MetaField.Insert(phoneId, entries, false, "xry");
            #endif
        }
Beispiel #6
0
        public void BindData(MetaField mf)
        {
            ViewState[this.ClientID + "_TypeName"] = mf.TypeName;

            MetaFieldType mft = DataContext.Current.MetaModel.RegisteredTypes[mf.TypeName];

            trName.Visible       = false;
            txtFriendlyName.Text = mft.FriendlyName;

            if (mf.Attributes.ContainsKey(McDataTypeAttribute.EnumEditable))
            {
                chkEditable.Checked = (bool)mf.Attributes[McDataTypeAttribute.EnumEditable];
            }

            if (mft.Attributes.ContainsKey(McDataTypeAttribute.EnumPrivate) &&
                mft.Attributes[McDataTypeAttribute.EnumPrivate].ToString() == mf.Owner.Name)
            {
                chkPublic.Checked = false;
            }
            else
            {
                chkPublic.Checked = true;
            }

            chkPublic.Enabled = false;
        }
Beispiel #7
0
        public void BindData(MetaClass mc, string FieldType)
        {
            ViewState[this.ClientID + "_TypeName"] = FieldType;

            MetaFieldType mft = DataContext.Current.MetaModel.RegisteredTypes[FieldType];

            if (mft == null)
            {
                txtEnumName.Visible = true;
                txtEnumName.Attributes.Add("onblur", "SetName('" + txtEnumName.ClientID + "','" + txtFriendlyName.ClientID + "','" + vldFriendlyName_Required.ClientID + "')");
                chkPublic.Enabled = true;
                trName.Visible    = true;
            }
            else
            {
                trName.Visible       = false;
                txtFriendlyName.Text = mft.FriendlyName;

                if (mft.Attributes.ContainsKey(McDataTypeAttribute.EnumPrivate) &&
                    mft.Attributes[McDataTypeAttribute.EnumPrivate].ToString() == mc.Name)
                {
                    chkPublic.Checked = false;
                }
                else
                {
                    chkPublic.Checked = true;
                }

                chkPublic.Enabled = false;
            }
        }
        static void TestCreateFields()
        {
            DataContext.Current = new DataContext("Data source=S2;Initial catalog=ibn48portal;Integrated Security=SSPI;");

            using (MetaClassManagerEditScope scope = DataContext.Current.MetaModel.BeginEdit())
            {
                MetaClass mc = DataContext.Current.GetMetaClass(WorkflowDefinitionEntity.ClassName);

                // Create Enum
                MetaFieldType enumType = MetaEnum.Create("SupportedIbnObjectType", "Supported Ibn Object Type", true);

                MetaEnum.AddItem(enumType, 16, "Document", 1);
                MetaEnum.AddItem(enumType, 5, "Task", 2);
                MetaEnum.AddItem(enumType, 6, "Todo", 3);
                MetaEnum.AddItem(enumType, 7, "Incident", 4);

                // Create Project Field
                using (MetaFieldBuilder bulder = new MetaFieldBuilder(mc))
                {
                    bulder.CreateReference("Project", "Project", true, "Project", true);

                    bulder.CreateEnumField("SupportedIbnObjectTypes", "Supported Ibn Object Types", "SupportedIbnObjectType", true, "16", false);

                    bulder.SaveChanges();
                }

                scope.SaveChanges();
            }
        }
        /// <summary>
        /// Constructs a GridColumnBase object from a MetaFieldType enum
        /// </summary>
        /// <param name="columnType">A MetaFieldType enum</param>
        /// <returns>A GridColumnBase object</returns>
        public GridColumnBase CreateGridColumn(MetaFieldType columnType)
        {
            switch (columnType)
            {
            case MetaFieldType.UniqueKey:
                return(new UniqueKeyColumn(this));

            case MetaFieldType.RecStatus:
                return(new RecStatusColumn(this));

            case MetaFieldType.ForeignKey:
                return(new ForeignKeyColumn(this));

            case MetaFieldType.Text:
                return(new TextColumn(this));

            case MetaFieldType.PhoneNumber:
                return(new PhoneNumberColumn(this));

            case MetaFieldType.Date:
                return(new DateColumn(this));

            case MetaFieldType.Number:
                return(new NumberColumn(this));

            default:
                return(new TextColumn(this));
            }
        }
        //edit meta field
        public void BindData(MetaField mf)
        {
            ViewState[this.ClientID + "_TypeName"] = mf.TypeName;

            MetaFieldType mft = DataContext.Current.MetaModel.RegisteredTypes[mf.TypeName];

            trName.Visible         = false;
            trFriendlyName.Visible = false;
            txtFriendlyName.Text   = mft.FriendlyName;

            DataTable dt = GetDataTable().Copy();

            object defaultValue = DefaultValue.Evaluate(mf);

            if (defaultValue != null)
            {
                List <int> lst = new List <int>((int[])defaultValue);

                foreach (DataRow dr in dt.Rows)
                {
                    if (lst.Contains((int)dr["Id"]))
                    {
                        dr["IsDefault"] = true;
                        string sDef = String.Empty;
                        if (ViewState[this.ClientID + "_IsDefaultId"] != null)
                        {
                            sDef = ViewState[this.ClientID + "_IsDefaultId"].ToString();
                        }
                        if (!String.IsNullOrEmpty(sDef))
                        {
                            sDef += ",";
                        }
                        sDef += dr["Id"].ToString();

                        ViewState[this.ClientID + "_IsDefaultId"] = sDef;
                    }
                }
            }
            ViewState[this.ClientID + "_DataSource"] = dt;

            BindGrid(dt);

            if (mf.Attributes.ContainsKey(McDataTypeAttribute.EnumEditable))
            {
                chkEditable.Checked = (bool)mf.Attributes[McDataTypeAttribute.EnumEditable];
            }

            if (mft.Attributes.ContainsKey(McDataTypeAttribute.EnumPrivate) &&
                mft.Attributes[McDataTypeAttribute.EnumPrivate].ToString() == mf.Owner.Name)
            {
                chkPublic.Checked = false;
            }
            else
            {
                chkPublic.Checked = true;
            }

            chkPublic.Enabled = false;
        }
 private void LoadRequestVariables()
 {
     if (Request.QueryString["type"] != null)
     {
         TypeName = Request.QueryString["type"];
         mft = MetaDataWrapper.GetTypeByName(TypeName);
     }
 }
 private void LoadRequestVariables()
 {
     if (Request.QueryString["type"] != null)
     {
         TypeName = Request.QueryString["type"];
         mft      = MetaDataWrapper.GetTypeByName(TypeName);
     }
 }
Beispiel #13
0
        public void FillFormLists(BisFoundViewModel viewModel)
        {
            viewModel.SelectedCard = new ClubCard();
            viewModel.ContactList  = CustomerContext.Current.GetContacts();
            MetaFieldType cardEnum = DataContext.Current.MetaModel.RegisteredTypes["CardType"];

            viewModel.CardTypeList = cardEnum.EnumItems;
        }
        private DataTable GetDataTable()
        {
            if (ViewState[this.ClientID + "_TypeName"] == null)
            {
                return(null);
            }

            MetaFieldType mft = DataContext.Current.MetaModel.RegisteredTypes[ViewState[this.ClientID + "_TypeName"].ToString()];

            DataTable dt = new DataTable();

            dt.Locale = CultureInfo.InvariantCulture;
            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("OrderId", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("DisplayName", typeof(string));
            dt.Columns.Add("IsDefault", typeof(bool));

            if (mft != null)
            {
                //exists meta enum type
                foreach (MetaEnumItem item in MetaEnum.GetItems(mft))
                {
                    DataRow row = dt.NewRow();
                    row["Id"]          = item.Handle;
                    row["OrderId"]     = item.OrderId;
                    row["Name"]        = item.Name;
                    row["DisplayName"] = CHelper.GetResFileString(item.Name);
                    row["IsDefault"]   = false;
                    if (ViewState[this.ClientID + "_IsDefaultId"] != null)
                    {
                        string        sDef = ViewState[this.ClientID + "_IsDefaultId"].ToString();
                        string[]      mas  = sDef.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                        List <string> lst  = new List <string>(mas);
                        if (lst.Contains(item.Handle.ToString()))
                        {
                            row["IsDefault"] = true;
                        }
                    }
                    dt.Rows.Add(row);
                }
            }
            else
            {
                //new meta enum type
                if (ViewState[this.ClientID + "_DataSource"] != null)
                {
                    dt = ((DataTable)ViewState[this.ClientID + "_DataSource"]).Copy();
                }
                else
                {
                    ViewState[this.ClientID + "_DataSource"] = dt;
                }
            }
            return(dt);
        }
        /// <summary>
        /// Checks the field properties for a given field in an Epi 3.5.x view.
        /// </summary>
        /// <param name="view">The Epi Info 3.5.x view to check.</param>
        /// <param name="fieldRow">The row of field data that represents this field.</param>
        private void CheckFieldProperties(Epi.Epi2000.View view, DataRow fieldRow)
        {
            #region Input Validation
            if (view == null)
            {
                throw new ArgumentNullException("view");
            }
            if (fieldRow == null)
            {
                throw new ArgumentNullException("fieldRow");
            }
            #endregion // Input Validation

            string fieldName = fieldRow["Name"].ToString();

            MetaFieldType fieldType = Epi.Epi2000.MetadataDbProvider.InferFieldType(fieldRow);

            if (!(fieldType == MetaFieldType.CommandButton ||
                  fieldType == MetaFieldType.Grid ||
                  fieldType == MetaFieldType.Group ||
                  fieldType == MetaFieldType.LabelTitle ||
                  fieldType == MetaFieldType.Mirror ||
                  fieldType == MetaFieldType.Relate) && fieldRow["Lists"] != DBNull.Value)
            {
                string lists = fieldRow["Lists"].ToString().Trim();
                if (fieldType == MetaFieldType.Codes || fieldType == MetaFieldType.LegalValues || fieldType == MetaFieldType.CommentLegal)
                {
                    if (lists.Contains("[") || lists.Contains("]"))
                    {
                        errorList.Add(ImportExportMessageType.Error, "3010", string.Format(ImportExportSharedStrings.UPGRADE_PROBLEM_CHECK_ERROR_E3010, fieldName, view.Name));
                    }
                    else if (!lists.Contains("(") || !lists.Contains(")"))
                    {
                        errorList.Add(ImportExportMessageType.Error, "3011", string.Format(ImportExportSharedStrings.UPGRADE_PROBLEM_CHECK_ERROR_E3011, fieldName, view.Name));
                    }
                    else
                    {
                        int    parenIndex = lists.IndexOf('(');
                        string properties = lists.Substring(0, parenIndex);
                        if (properties.Contains("N") && properties.Contains("M"))
                        {
                            errorList.Add(ImportExportMessageType.Error, "3012", string.Format(ImportExportSharedStrings.UPGRADE_PROBLEM_CHECK_ERROR_E3012, fieldName, view.Name));
                        }
                    }
                }
            }

            if (fieldType == MetaFieldType.Relate)
            {
                if (fieldRow["FormatString"] != DBNull.Value && !string.IsNullOrEmpty(fieldRow["FormatString"].ToString().Trim()))
                {
                    errorList.Add(ImportExportMessageType.Notification, "6000", string.Format(ImportExportSharedStrings.UPGRADE_PROBLEM_CHECK_ERROR_N6000, fieldName, view.Name));
                }
            }
        }
Beispiel #16
0
        private DataTable GetDataTable()
        {
            if (ViewState[this.ClientID + "_TypeName"] == null)
            {
                return(null);
            }

            MetaFieldType mft = DataContext.Current.MetaModel.RegisteredTypes[ViewState[this.ClientID + "_TypeName"].ToString()];

            DataTable dt = new DataTable();

            dt.Locale = CultureInfo.InvariantCulture;
            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("OrderId", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("DisplayName", typeof(string));
            dt.Columns.Add("IsDefault", typeof(bool));

            if (mft != null)
            {
                //exists enum type
                foreach (MetaEnumItem item in MetaEnum.GetItems(mft))
                {
                    DataRow row = dt.NewRow();
                    row["Id"]          = item.Handle;
                    row["OrderId"]     = item.OrderId;
                    row["Name"]        = item.Name;
                    row["DisplayName"] = CHelper.GetResFileString(item.Name);
                    if (ViewState[this.ClientID + "_IsDefaultId"] != null && (int)ViewState[this.ClientID + "_IsDefaultId"] == item.Handle)
                    {
                        row["IsDefault"] = true;
                    }
                    else
                    {
                        row["IsDefault"] = false;
                    }
                    dt.Rows.Add(row);
                }
            }
            else
            {
                //new enum type
                if (ViewState[this.ClientID + "_DataSource"] != null)
                {
                    dt = ((DataTable)ViewState[this.ClientID + "_DataSource"]).Copy();
                }
                else
                {
                    ViewState[this.ClientID + "_DataSource"] = dt;
                }
            }
            return(dt);
        }
Beispiel #17
0
        /// <summary>
        /// Loads the request variables.
        /// </summary>
        private void LoadRequestVariables()
        {
            if (Request.QueryString["type"] != null)
            {
                TypeName = Request.QueryString["type"];
                mft      = DataContext.Current.MetaModel.RegisteredTypes[TypeName];
            }

            if (Request.QueryString["btn"] != null)
            {
                RefreshButton = Request.QueryString["btn"];
            }
        }
Beispiel #18
0
        public ActionResult DeleteClubCardClass()
        {
            var viewModel = new BisFoundViewModel();

            DataContext.Current.MetaModel.DeleteMetaClass("ClubCard");
            MetaFieldType cardEnum = DataContext.Current.MetaModel.RegisteredTypes["CardType"];

            if (cardEnum != null && !MetaEnum.IsUsed(cardEnum))
            {
                MetaEnum.Remove(cardEnum);
            }

            return(View("Index", viewModel));
        }
Beispiel #19
0
        public static bool IsTableBased(this MetaFieldType @this)
        {
            switch (@this)
            {
            case MetaFieldType.LegalValues:
            case MetaFieldType.CommentLegal:
            case MetaFieldType.Codes:
            case MetaFieldType.List:
                return(true);

            default:
                return(false);
            }
        }
Beispiel #20
0
        static void CreateMetaField2009_06_03()
        {
            using (DataContext.Current = new DataContext("Data source=S2;Initial catalog=ibn48portal;Integrated Security=SSPI;"))
            {
                MetaClass workflowClass = DataContext.Current.GetMetaClass(WorkflowInstanceEntity.ClassName);

                using (MetaClassManagerEditScope scope = DataContext.Current.MetaModel.BeginEdit())
                {
                    // WorkflowInstanceTimeStatus
                    MetaFieldType workflowInstanceTimeStatus = MetaEnum.Create("WorkflowInstanceTimeStatus", "Workflow Instance Time Status", false);

                    MetaEnum.AddItem(workflowInstanceTimeStatus, "OverStart", 1);
                    MetaEnum.AddItem(workflowInstanceTimeStatus, "OverDue", 2);

                    // FinishTimeType
                    MetaFieldType timeType = MetaEnum.Create("TimeType", "Time Type", false);

                    MetaEnum.AddItem(timeType, "NotSet", 1);
                    MetaEnum.AddItem(timeType, "DateTime", 2);
                    MetaEnum.AddItem(timeType, "Duration", 3);


                    using (MetaFieldBuilder mfb = new MetaFieldBuilder(workflowClass))
                    {
                        //ActualStartDate: DateTime
                        mfb.CreateDateTime("ActualStartDate", "Actual Start Date", true, true);

                        //ActualFinishDate: DateTime
                        mfb.CreateDateTime("ActualFinishDate", "Actual Finish Date", true, true);

                        //TimeStatus: DateTime
                        mfb.CreateEnumField("TimeStatus", "Time Status", "WorkflowInstanceTimeStatus", true, "", false);

                        //PlanFinishDate: DateTime
                        mfb.CreateDateTime("PlanFinishDate", "Plan Finish Date", true, true);

                        //PlanDuration: Duration
                        mfb.CreateDuration("PlanDuration", "Plan Duration", true, 60);

                        //PlanFinishTimeType: Enum (None, DateTime, Duration)
                        mfb.CreateEnumField("PlanFinishTimeType", "Plan Finish Time Type", "TimeType", false, "1", false);

                        mfb.SaveChanges();
                    }

                    scope.SaveChanges();
                }
            }
        }
Beispiel #21
0
        private void BindData()
        {
            string str = MetaIdentifierType.Field.ToString();

            ddlScope.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "Scope" + str).ToString(), str));
            str = MetaIdentifierType.Class.ToString();
            ddlScope.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "Scope" + str).ToString(), str));
            str = MetaIdentifierType.Global.ToString();
            ddlScope.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "Scope" + str).ToString(), str));

            str = MetaIdentifierPeriodType.None.ToString();
            ddlCounterReset.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "CounterReset" + str).ToString(), str));
            str = MetaIdentifierPeriodType.Year.ToString();
            ddlCounterReset.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "CounterReset" + str).ToString(), str));
            str = MetaIdentifierPeriodType.Quarter.ToString();
            ddlCounterReset.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "CounterReset" + str).ToString(), str));
            str = MetaIdentifierPeriodType.Month.ToString();
            ddlCounterReset.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "CounterReset" + str).ToString(), str));
            str = MetaIdentifierPeriodType.Day.ToString();
            ddlCounterReset.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "CounterReset" + str).ToString(), str));
            if (IdName != string.Empty)
            {
                MetaFieldType mft = MetaDataWrapper.GetIdentifierByName(IdName);
                if (mft != null)
                {
                    txtName.Text         = mft.Name;
                    txtName.ReadOnly     = true;
                    txtName.CssClass     = "text-readonly";
                    txtFriendlyName.Text = mft.FriendlyName;
                    if (mft.Attributes.ContainsKey(McDataTypeAttribute.IdentifierType) && mft.Attributes[McDataTypeAttribute.IdentifierType] != null)
                    {
                        ddlScope.SelectedValue = mft.Attributes[McDataTypeAttribute.IdentifierType].ToString();
                    }
                    ddlScope.Enabled = false;
                    if (mft.Attributes.ContainsKey(McDataTypeAttribute.IdentifierPeriodType) && mft.Attributes[McDataTypeAttribute.IdentifierPeriodType] != null)
                    {
                        ddlCounterReset.SelectedValue = mft.Attributes[McDataTypeAttribute.IdentifierPeriodType].ToString();
                    }
                    if (mft.Attributes.ContainsKey(McDataTypeAttribute.IdentifierMask) && mft.Attributes[McDataTypeAttribute.IdentifierMask] != null)
                    {
                        txtMask.Text = mft.Attributes[McDataTypeAttribute.IdentifierMask].ToString();
                    }
                    if (mft.Attributes.ContainsKey(McDataTypeAttribute.IdentifierMaskDigitLength) && mft.Attributes[McDataTypeAttribute.IdentifierMaskDigitLength] != null)
                    {
                        txtCounterLen.Text = mft.Attributes[McDataTypeAttribute.IdentifierMaskDigitLength].ToString();
                    }
                }
            }
        }
Beispiel #22
0
        private void BindLists()
        {
            MetaFieldType enumListType   = DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListTypeEnumName];
            MetaFieldType enumListStatus = DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListStatusEnumName];

            foreach (MetaEnumItem mei in enumListType.EnumItems)
            {
                ddType.Items.Add(new ListItem(CHelper.GetResFileString(mei.Name), mei.Handle.ToString()));
            }

            foreach (MetaEnumItem mei in enumListStatus.EnumItems)
            {
                ddStatus.Items.Add(new ListItem(CHelper.GetResFileString(mei.Name), mei.Handle.ToString()));
            }
        }
Beispiel #23
0
        public ActionResult CreateClubCardClass()
        {
            var viewModel = new BisFoundViewModel();

            using (MetaClassManagerEditScope metaEdit = DataContext.Current.MetaModel.BeginEdit())
            {
                MetaClass clubCard = DataContext.Current.MetaModel.CreateMetaClass("ClubCard",
                                                                                   "Club Card", "ClubCards", "demoClub_Cards", PrimaryKeyIdValueType.Integer);
                clubCard.AccessLevel = AccessLevel.Customization;

                metaEdit.SaveChanges();
            }

            MetaFieldType cardEnum = DataContext.Current.MetaModel.RegisteredTypes["CardType"];

            if (cardEnum == null)
            {
                using (MetaClassManagerEditScope metaEdit = DataContext.Current.MetaModel.BeginEdit())
                {
                    cardEnum             = MetaEnum.Create("CardType", "Club Card Type", false);
                    cardEnum.AccessLevel = AccessLevel.Customization;
                    metaEdit.SaveChanges();
                    MetaEnum.AddItem(cardEnum, "Gold", 1);
                    MetaEnum.AddItem(cardEnum, "Silver", 2);
                    MetaEnum.AddItem(cardEnum, "Bronze", 3);
                }
            }

            using (MetaFieldBuilder fieldBuilder = new MetaFieldBuilder(DataContext.Current.GetMetaClass("ClubCard")))
            {
                MetaField titleField = fieldBuilder.CreateText("TitleField", "Title Field", false, 100, false);
                fieldBuilder.MetaClass.TitleFieldName = titleField.Name;

                fieldBuilder.CreateText("CardOwnerName", "Card Owner Name", false, 100, false);
                fieldBuilder.CreateEmail("Email", "Email", false, 100, true);
                fieldBuilder.CreateInteger("Balance", "Balance", true, 0);
                var mf = fieldBuilder.CreateEnumField("CardTypeEnum", "Card Type", cardEnum.Name, true, String.Empty, true);
                mf.AccessLevel = AccessLevel.Customization;

                fieldBuilder.SaveChanges();

                MetaDataWrapper.CreateReference("Contact", "ClubCard", "ContactRef", "Contact References", false, "InfoBlock", "ClubCard", "10");
            }

            FillModel(viewModel);

            return(View("Index", viewModel));
        }
Beispiel #24
0
        //edit meta field
        public void BindData(MetaField mf)
        {
            ViewState[this.ClientID + "_TypeName"] = mf.TypeName;

            MetaFieldType mft = DataContext.Current.MetaModel.RegisteredTypes[mf.TypeName];

            trName.Visible         = false;
            trFriendlyName.Visible = false;
            txtFriendlyName.Text   = mft.FriendlyName;

            DataTable dt = GetDataTable().Copy();

            object defaultValue = DefaultValue.Evaluate(mf);

            if (defaultValue != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr["Id"].ToString() == defaultValue.ToString())
                    {
                        dr["IsDefault"] = true;
                        ViewState[this.ClientID + "_IsDefaultId"] = (int)dr["Id"];
                        break;
                    }
                }
            }

            ViewState[this.ClientID + "_DataSource"] = dt;

            BindGrid(dt);

            if (mf.Attributes.ContainsKey(McDataTypeAttribute.EnumEditable))
            {
                chkEditable.Checked = (bool)mf.Attributes[McDataTypeAttribute.EnumEditable];
            }

            if (mft.Attributes.ContainsKey(McDataTypeAttribute.EnumPrivate) &&
                mft.Attributes[McDataTypeAttribute.EnumPrivate].ToString() == mf.Owner.Name)
            {
                chkPublic.Checked = false;
            }
            else
            {
                chkPublic.Checked = true;
            }

            chkPublic.Enabled = false;
        }
Beispiel #25
0
        private string GetMetaPropertyValue(EntityObjectProperty eop, string fieldName)
        {
            MetaField field = Mediachase.Ibn.Web.UI.Controls.Util.FormController.GetMetaField(ClassName, fieldName);
            string    value = String.Empty;

            if (field == null)
            {
                return(value);
            }
            if (field.IsMultivalueEnum)
            {
                MetaFieldType type = field.GetMetaType();

                int[] idList = (int[])eop.Value;
                foreach (int id in idList)
                {
                    if (value != String.Empty)
                    {
                        value += "<br />";
                    }
                    value += CHelper.GetResFileString(MetaEnum.GetFriendlyName(type, id));
                }
            }
            else if (field.IsEnum)
            {
                value = CHelper.GetResFileString(MetaEnum.GetFriendlyName(field.GetMetaType(), (int)eop.Value));
            }
            //else if (field.IsReference)
            //{
            //    string sReferencedClass = field.Attributes.GetValue<string>(McDataTypeAttribute.ReferenceMetaClassName);
            //    EntityObject obj = BusinessManager.Load(sReferencedClass, (PrimaryKeyId)eop.Value);
            //    MetaClass mcRef = Mediachase.Ibn.Core.MetaDataWrapper.GetMetaClassByName(sReferencedClass);
            //    value = obj.Properties[mcRef.TitleFieldName].Value.ToString();
            //}

            //dvs: hot-fix (IBNPORTAL_ERROR-008286-27094)
            else if (field.Name == "CreatorId" || field.Name == "ModifierId")
            {
                value = CommonHelper.GetUserStatusPureName((int)eop.Value);
            }
            else
            {
                value = eop.Value.ToString();
            }


            return(value);
        }
 /// <summary>
 /// Handles the RowCommand event of the grdMain control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewCommandEventArgs"/> instance containing the event data.</param>
 protected void grdMain_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "Delete")
     {
         MetaFieldType type = MetaDataWrapper.GetTypeByName(e.CommandArgument.ToString());
         if (!MetaFieldType.IsUsed(type))
         {
             MultiReferenceType.Remove(type);
         }
         BindData();
     }
     if (e.CommandName == "Edit")
     {
         MetaFieldType type = MetaDataWrapper.GetTypeByName(e.CommandArgument.ToString());
         Response.Redirect("~/Apps/MetaDataBase/Pages/Admin/MultiReferenceTypeEdit.aspx?type=" + type.Name);
     }
 }
Beispiel #27
0
        protected void grdMain_DeleteCommand(object source, DataGridCommandEventArgs e)
        {
            if (ViewState[this.ClientID + "_TypeName"] == null)
            {
                return;
            }

            MetaFieldType mft = DataContext.Current.MetaModel.RegisteredTypes[ViewState[this.ClientID + "_TypeName"].ToString()];

            if (mft != null)
            {
                MetaEnum.RemoveItem(mft, int.Parse(e.CommandArgument.ToString()));
            }
            else if (ViewState[this.ClientID + "_DataSource"] != null)
            {
                DataTable dt       = ((DataTable)ViewState[this.ClientID + "_DataSource"]).Copy();
                DataRow   drDelete = null;
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr["Id"].ToString() == e.CommandArgument.ToString())
                    {
                        drDelete = dr;
                        break;
                    }
                }

                //remove ordering
                foreach (DataRow dr in dt.Rows)
                {
                    if ((int)dr["OrderId"] > (int)drDelete["OrderId"])
                    {
                        dr["OrderId"] = (int)dr["OrderId"] - 1;
                    }
                }

                if (drDelete != null)
                {
                    dt.Rows.Remove(drDelete);
                }

                ViewState[this.ClientID + "_DataSource"] = dt;
            }

            BindGrid(GetDataTable());
        }
Beispiel #28
0
        private void BindData()
        {
            lblFriendlyName.Text = CHelper.GetResFileString(mft.FriendlyName);
            MetaFieldType mft1 = MetaDataWrapper.GetEnumByName(TypeName);

            if (mft1 != null)
            {
                if (mft1.Attributes.ContainsKey(McDataTypeAttribute.EnumMultivalue))
                {
                    lbType.Text = GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "MultiValue").ToString();
                }
                else
                {
                    lbType.Text = GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "SingleValue").ToString();
                }
            }
            BindGrid(GetDataTable());
        }
Beispiel #29
0
        protected void grdMain_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Delete")
            {
                MetaFieldType type = MetaDataWrapper.GetIdentifierByName(e.CommandArgument.ToString());

                if (!MetaIdentifier.IsUsed(type))
                {
                    MetaIdentifier.Remove(type);
                }

                BindData();
            }
            if (e.CommandName == "Edit")
            {
                Response.Redirect("~/Apps/MetaDataBase/Pages/Admin/IdentifierEdit.aspx?type=" + e.CommandArgument.ToString() + "&back=list");
            }
        }
Beispiel #30
0
 void imbtnSave_ServerClick(object sender, EventArgs e)
 {
     Page.Validate();
     if (!Page.IsValid)
     {
         return;
     }
     if (EnumName == string.Empty)
     {
         MetaFieldType type = MetaEnum.Create(txtEnumName.Text.Trim(), txtFriendlyName.Text.Trim(), chkMultiValue.Checked);
         Response.Redirect(String.Format("~/Apps/MetaDataBase/Pages/Admin/EnumView.aspx?type={0}", type.Name));
     }
     else
     {
         MetaDataWrapper.UpdateEnumFriendlyName(EnumName, txtFriendlyName.Text.Trim());
         Response.Redirect(String.Format("~/Apps/MetaDataBase/Pages/Admin/EnumView.aspx?type={0}", EnumName));
     }
 }
Beispiel #31
0
 private void BindData()
 {
     if (EnumName != string.Empty)
     {
         MetaFieldType mft = MetaDataWrapper.GetEnumByName(EnumName);
         if (mft != null)
         {
             txtEnumName.Text     = mft.Name;
             txtEnumName.ReadOnly = true;
             txtEnumName.CssClass = "text-readonly";
             txtFriendlyName.Text = mft.FriendlyName;
             if (mft.Attributes.ContainsKey(McDataTypeAttribute.EnumMultivalue) && mft.Attributes[McDataTypeAttribute.EnumMultivalue] != null)
             {
                 chkMultiValue.Checked = (bool)mft.Attributes[McDataTypeAttribute.EnumMultivalue];
             }
             chkMultiValue.Enabled = false;
         }
     }
 }
        /// <summary>
        /// Binds the data.
        /// </summary>
        private void BindData()
        {
            DataTable dt = new DataTable();

            dt.Locale = CultureInfo.InvariantCulture;
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("FriendlyName", typeof(string));
            dt.Columns.Add("IsUsed", typeof(bool));

            foreach (MetaFieldType mfType in DataContext.Current.MetaModel.GetRegisteredTypes(McDataType.MultiReference))
            {
                DataRow row = dt.NewRow();
                row["Name"]         = mfType.Name;
                row["FriendlyName"] = CHelper.GetResFileString(mfType.FriendlyName);
                row["IsUsed"]       = MetaFieldType.IsUsed(mfType);
                dt.Rows.Add(row);
            }
            DataView dv = dt.DefaultView;

            if (this.Session["MRTList_Sort"] == null)
            {
                this.Session["MRTList_Sort"] = "FriendlyName";
            }
            dv.Sort = this.Session["MRTList_Sort"].ToString();

            grdMain.DataSource = dv;
            grdMain.DataBind();

            foreach (GridViewRow row in grdMain.Rows)
            {
                ImageButton ib = (ImageButton)row.FindControl("ibDelete");

                if (ib != null)
                {
                    ib.Attributes.Add("onclick", "return confirm('" + GetGlobalResourceObject("GlobalMetaInfo", "Delete").ToString() + "?')");
                }
            }
        }
 public AllowUpdateMetaData(UIElement gridCellTextBlock, MetaFieldType fieldType, string fieldName, object value, int column, int row, string key)
 {
     GridCellTextBlock = gridCellTextBlock;
     FieldType = fieldType;
     FieldName = fieldName;
     Value = value;
     Column = column;
     Row = row;
     Key = key;
 }
Beispiel #34
0
 /// <summary>
 /// Creates field based on the meta field type.
 /// </summary>
 /// <param name="fieldType">Enumeration of Field Types.</param>
 /// <returns>New Field</returns>
 public Field CreateField(MetaFieldType fieldType)
 {
     switch (fieldType)
     {
         case MetaFieldType.Checkbox:
             return new CheckBoxField(this, viewElement);
         case MetaFieldType.CommandButton:
             return new CommandButtonField(this, viewElement);
         case MetaFieldType.Date:
             return new DateField(this, viewElement);
         case MetaFieldType.DateTime:
             return new DateTimeField(this, viewElement);
         case MetaFieldType.LegalValues:
             return new DDLFieldOfLegalValues(this, viewElement);
         case MetaFieldType.Codes:
             return new DDLFieldOfCodes(this, viewElement);
         case MetaFieldType.List:
             return new DDListField(this, viewElement);
         case MetaFieldType.CommentLegal:
             return new DDLFieldOfCommentLegal(this, viewElement);
         case MetaFieldType.Grid:
             return new GridField(this, viewElement);
         case MetaFieldType.Group:
             return new GroupField(this, viewElement);
         case MetaFieldType.GUID:
             return new GUIDField(this, viewElement);
         case MetaFieldType.Image:
             return new ImageField(this, viewElement);
         case MetaFieldType.LabelTitle:
             return new LabelField(this, viewElement);
         case MetaFieldType.Mirror:
             return new MirrorField(this, viewElement);
         case MetaFieldType.Multiline:
             return new MultilineTextField(this, viewElement);
         case MetaFieldType.Number:
             return new NumberField(this, viewElement);
         case MetaFieldType.Option:
             return new OptionField(this, viewElement);
         case MetaFieldType.PhoneNumber:
             return new PhoneNumberField(this, viewElement);
         case MetaFieldType.Relate:
             return new RelatedViewField(this, viewElement);
         case MetaFieldType.Text:
             return new SingleLineTextField(this, viewElement);
         case MetaFieldType.TextUppercase:
             return new UpperCaseTextField(this, viewElement);
         case MetaFieldType.Time:
             return new TimeField(this, viewElement);
         case MetaFieldType.YesNo:
             return new YesNoField(this, viewElement);
         default:
             return new SingleLineTextField(this, viewElement);
     }
 }
Beispiel #35
0
        public void projectExplorer_CreateNewOpenField(MetaFieldType type)
        {
            Field field = mediator.CreateNewOpenField(type, mediator.Canvas.PagePanel, new Point(3,3), false);

            IFieldControl newControl = null;
            ArrayList controlArrayList = new ArrayList();

            foreach (Control fieldControl in mediator.Canvas.PagePanel.Controls)
            {
                if (fieldControl is IFieldControl && ((IFieldControl)fieldControl).Field == field)
                {
                    newControl = (IFieldControl)fieldControl;
                    controlArrayList.Add(newControl);
                }

                if (controlArrayList.Count == 2) break;
            }

            mediator.SelectedControlsChanged(controlArrayList, false);

            if (field != null && field.Id > 0 && field is RenderableField)
            {
                RenderableField renderField = (RenderableField)field;

                int left = (int)(renderField.ControlLeftPositionPercentage * mediator.Canvas.PagePanel.Width);
                int right = (int)((renderField.ControlLeftPositionPercentage + renderField.ControlWidthPercentage) * mediator.Canvas.PagePanel.Width);

                int top = (int)(renderField.ControlTopPositionPercentage * mediator.Canvas.PagePanel.Height);
                int bottom = (int)((renderField.ControlTopPositionPercentage + renderField.ControlHeightPercentage) * mediator.Canvas.PagePanel.Height);

                if (field is FieldWithSeparatePrompt)
                {
                    int promptLeft = (int)(((FieldWithSeparatePrompt)renderField).PromptLeftPositionPercentage * mediator.Canvas.PagePanel.Width);
                    int promptTop = (int)(((FieldWithSeparatePrompt)renderField).PromptTopPositionPercentage * mediator.Canvas.PagePanel.Height);

                    left = promptLeft < left ? promptLeft : left;
                    top = promptTop < top ? promptTop : top;
                }

                int width = right - left;
                int height = bottom - top;

                bool conflict = false;
                bool relocated = false;

                do
                {
                    conflict = false;

                    foreach (Control fieldControl in mediator.Canvas.PagePanel.Controls)
                    {
                        if (fieldControl is IFieldControl)
                        {
                            bool isSameField = ((Field)((IFieldControl)fieldControl).Field) == field;

                            Rectangle eachRectangle = RectangleToScreen(fieldControl.Bounds);
                            Rectangle candidateRectangle = RectangleToScreen(new Rectangle(left, top, width, height));

                            if (false == isSameField && eachRectangle.IntersectsWith(candidateRectangle))
                            {
                                conflict = true;
                                break;
                            }
                        }
                    }

                    if (conflict)
                    {
                        top = top + height + 5;
                        relocated = true;
                    }

                    if (top + height > mediator.Canvas.PagePanel.Height)
                    {
                        conflict = false;
                        relocated = false;
                    }
                }
                while (conflict);

                if (relocated)
                {
                    foreach (KeyValuePair<IFieldControl, Point> kvp in mediator.SelectedFieldControls)
                    {
                        Control control = (Control)kvp.Key;
                        control.Left = kvp.Value.X + left;
                        control.Top = kvp.Value.Y + top;
                    }

                    mediator.PersistSelectedFieldControlCollection();
                    mediator.InitialSelectedControlLocations.Clear();
                    mediator.SelectedFieldControls.Clear();
                }
            }
        }
Beispiel #36
0
 /// <summary>
 /// Constructs a GridColumnBase object from a MetaFieldType enum
 /// </summary>
 /// <param name="columnType">A MetaFieldType enum</param>
 /// <returns>A GridColumnBase object</returns>
 public GridColumnBase CreateGridColumn(MetaFieldType columnType)
 {
     switch (columnType)
     {
         case MetaFieldType.UniqueKey:
             return new UniqueKeyColumn(this);
         case MetaFieldType.RecStatus:
             return new RecStatusColumn(this);
         case MetaFieldType.ForeignKey:
             return new ForeignKeyColumn(this);
         case MetaFieldType.Text:
             return new TextColumn(this);
         case MetaFieldType.PhoneNumber:
             return new PhoneNumberColumn(this);
         case MetaFieldType.Date:
             return new DateColumn(this);
         case MetaFieldType.Number:
             return new NumberColumn(this);
         default:
             return new TextColumn(this);
     }
 }
Beispiel #37
0
        private void LoadRequestVariables()
        {
            if (Request.QueryString["type"] != null)
            {
                TypeName = Request.QueryString["type"];
                mft = DataContext.Current.MetaModel.RegisteredTypes[TypeName];
            }

            if (Request.QueryString["btn"] != null)
            {
                RefreshButton = Request.QueryString["btn"];
            }
        }
        private void cmbField1Name_SelectedIndexChanged(object sender, EventArgs e)
        {
            EnableDisableAddButton();

            cmbFieldOperator.Items.Clear();
            cmbFieldValue.Items.Clear();

            cmbFieldOperator.Text = string.Empty;
            cmbFieldOperator.SelectedIndex = -1;

            if (cmbFieldName.SelectedIndex >= 0)
            {
                View view = sourceProject.Views[formName];
                string fieldName = cmbFieldName.SelectedItem.ToString();
                Field field = view.Fields[fieldName];

                txtFieldValue.Text = string.Empty;
                cmbFieldValue.Text = string.Empty;
                cmbFieldValue.Items.Clear();
                cmbFieldValue.SelectedIndex = -1;

                switch (field.FieldType)
                {
                    case MetaFieldType.Checkbox:
                        cmbFieldOperator.Items.Add("is equal to");
                        break;
                    case MetaFieldType.Date:
                        //cmbField1Operator.Items.Add("is not missing");
                        //cmbField1Operator.Items.Add("is missing");
                        cmbFieldOperator.Items.Add("is greater than");
                        cmbFieldOperator.Items.Add("is greater than or equal to");
                        cmbFieldOperator.Items.Add("is less than");
                        cmbFieldOperator.Items.Add("is less than or equal to");
                        cmbFieldOperator.Items.Add("is less than N days ago");
                        //cmbFieldOperator.Items.Add("is today's date");
                        break;
                    case MetaFieldType.Number:
                        //cmbField1Operator.Items.Add("is not missing");
                        //cmbField1Operator.Items.Add("is missing");
                        //cmbField1Operator.Items.Add("is not equal to");
                        cmbFieldOperator.Items.Add("is equal to");
                        cmbFieldOperator.Items.Add("is greater than");
                        cmbFieldOperator.Items.Add("is greater than or equal to");
                        cmbFieldOperator.Items.Add("is less than");
                        cmbFieldOperator.Items.Add("is less than or equal to");
                        break;
                    case MetaFieldType.Text:
                    case MetaFieldType.TextUppercase:
                    case MetaFieldType.Multiline:
                    case MetaFieldType.LegalValues:
                    case MetaFieldType.CommentLegal:
                    case MetaFieldType.Codes:
                        //cmbField1Operator.Items.Add("is not missing");
                        //cmbField1Operator.Items.Add("is missing");
                        //cmbField1Operator.Items.Add("is not equal to");
                        cmbFieldOperator.Items.Add("is equal to");
                        break;
                    case MetaFieldType.YesNo:
                        cmbFieldOperator.Items.Add("is equal to");
                        //cmbField1Operator.Items.Add("is not missing");
                        //cmbField1Operator.Items.Add("is missing");
                        break;
                }

                selectedFieldType = field.FieldType;
                selectedField = field;
            }
        }