Esempio n. 1
0
        public void Invoke(object Sender, object Element)
        {
            CommandParameters cp = (CommandParameters)Element;

            string[] selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

            if (selectedElements != null && selectedElements.Length > 0)
            {
                int errorCount = 0;
                using (TransactionScope tran = DataContext.Current.BeginTransaction())
                {
                    foreach (string elem in selectedElements)
                    {
                        string[]     parts = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                        string       id    = parts[0];
                        PrimaryKeyId key   = PrimaryKeyId.Parse(id);

                        try
                        {
                            DocumentContentVersionEntity dcve = (DocumentContentVersionEntity)BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(), key);
                            dcve.State = (int)DocumentContentVersionState.Draft;
                            UpdateStateRequest usr = new UpdateStateRequest(dcve);
                            BusinessManager.Execute(usr);
                        }
                        catch (Exception ex)
                        {
                            CHelper.GenerateErrorReport(ex);
                            errorCount++;
                        }
                    }

                    tran.Commit();
                }

                if (errorCount > 0)
                {
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                }

                CHelper.RequireBindGrid();
            }
        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (ObjectId != PrimaryKeyId.Empty)
            {
                CHelper.AddToContext("ObjectId", ObjectId);
            }

            if (!Page.IsPostBack)
            {
                if (ObjectId == PrimaryKeyId.Empty)
                {
                    FormName = FormController.CreateFormType;
                }
                else
                {
                    FormName = FormController.BaseFormType;
                }

                if (_bindObject == null)
                {
                    if (ObjectId != PrimaryKeyId.Empty)
                    {
                        _bindObject = BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(),
                                                           ObjectId);
                    }
                    else
                    {
                        _bindObject = BusinessManager.InitializeEntity(DocumentContentVersionEntity.GetAssignedMetaClassName());
                    }
                }

                formView.FormName = FormName;
                formView.DataItem = _bindObject;
                formView.DataBind();
            }

            btnSave.Text            = GetGlobalResourceObject("IbnFramework.Global", "_mc_Save").ToString();
            btnCancel.Text          = GetGlobalResourceObject("IbnFramework.Global", "_mc_Cancel").ToString();
            btnCancel.OnClientClick = Mediachase.Ibn.Web.UI.WebControls.CommandHandler.GetCloseOpenedFrameScript(this.Page, String.Empty, false, true);
        }
Esempio n. 3
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            if (CHelper.NeedToDataBind())
            {
                if (_bindObject == null)
                {
                    if (ObjectId != PrimaryKeyId.Empty)
                    {
                        _bindObject = BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(),
                                                           ObjectId);
                    }
                    else
                    {
                        _bindObject = BusinessManager.InitializeEntity(DocumentContentVersionEntity.GetAssignedMetaClassName());
                    }
                }

                formView.FormName = FormName;
                formView.DataItem = _bindObject;
                formView.DataBind();
            }
        }
Esempio n. 4
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            this.Page.Validate();
            if (!this.Page.IsValid)
            {
                return;
            }

            if (ObjectId != PrimaryKeyId.Empty)
            {
                _bindObject = BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(),
                                                   ObjectId);
            }
            else
            {
                _bindObject = BusinessManager.InitializeEntity(DocumentContentVersionEntity.GetAssignedMetaClassName());
            }

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

                PrimaryKeyId objectId = ObjectId;

                if (ObjectId != PrimaryKeyId.Empty)
                {
                    BusinessManager.Update((EntityObject)_bindObject);
                }
                else
                {
                    ((DocumentContentVersionEntity)_bindObject).OwnerDocumentId = DocumentId;
                    ((DocumentContentVersionEntity)_bindObject).Name            = ((DocumentContentVersionEntity)_bindObject).File.Name;
                    objectId = BusinessManager.Create((EntityObject)_bindObject);
                }

                Mediachase.Ibn.Web.UI.WebControls.CommandHandler.RegisterCloseOpenedFrameScript(this.Page, String.Empty);
            }
        }
Esempio n. 5
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp        = (CommandParameters)Element;
                PrimaryKeyId      parentKey = PrimaryKeyId.Parse(cp.CommandArguments["primaryKeyId"]);
                PrimaryKeyId      docId     = PrimaryKeyId.Parse(((Control)Sender).Page.Request["ObjectId"]);

                DocumentContentVersionEntity docVersion = (DocumentContentVersionEntity)BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(), parentKey);

                DocumentContentVersionEntity newVersion = (DocumentContentVersionEntity)BusinessManager.InitializeEntity(DocumentContentVersionEntity.GetAssignedMetaClassName());
                newVersion.Name            = docVersion.Name;
                newVersion.OwnerDocumentId = docId;

                CreateRequest request = new CreateRequest(newVersion);
                request.Parameters.Add(DocumentContentVersionRequestParameters.Create_SourceVersionId, parentKey);

                BusinessManager.Execute(request);
                //CreateResponse response = (CreateResponse)BusinessManager.Execute(request);
                //objectId = response.PrimaryKeyId;

                CHelper.RequireBindGrid();
            }
        }
Esempio n. 6
0
        private void ProcessControl(Control c, EntityObject _obj)
        {
            IEditControl editControl = c as IEditControl;

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

                #region MyRegion
                string    ownFieldName  = fieldName;
                string    aggrFieldName = String.Empty;
                string    aggrClassName = String.Empty;
                MetaField ownField      = null;
                MetaField aggrField     = null;
                MetaClass ownClass      = MetaDataWrapper.GetMetaClassByName(_obj.MetaClassName);
                if (ownFieldName.Contains("."))
                {
                    string[] mas = ownFieldName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                    if (mas.Length > 1)
                    {
                        ownFieldName  = mas[0];
                        aggrFieldName = mas[1];

                        ownField      = MetaDataWrapper.GetMetaFieldByName(ownClass, ownFieldName);
                        aggrClassName = ownField.Attributes.GetValue <string>(McDataTypeAttribute.AggregationMetaClassName);
                        aggrField     = MetaDataWrapper.GetMetaFieldByName(aggrClassName, aggrFieldName);
                    }
                }
                if (ownField == null)
                {
                    ownField = ownClass.Fields[ownFieldName];
                    if (ownField == null)
                    {
                        ownField = ownClass.CardOwner.Fields[ownFieldName];
                    }
                }
                #endregion

                object eValue = editControl.Value;

                bool makeChange = true;

                MetaField field = (aggrField == null) ? ownField : aggrField;
                if (!field.IsNullable && eValue == null)
                {
                    makeChange = false;
                }

                if (makeChange)
                {
                    if (aggrField == null)
                    {
                        _obj[ownFieldName] = eValue;
                    }
                    else
                    {
                        EntityObject aggrObj = null;
                        if (_obj[ownFieldName] != null)
                        {
                            aggrObj = (EntityObject)_obj[ownFieldName];
                        }
                        else
                        {
                            aggrObj = BusinessManager.InitializeEntity(DocumentContentVersionEntity.GetAssignedMetaClassName());
                        }
                        aggrObj[aggrFieldName] = eValue;
                    }
                }
            }
        }