Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        internal override ReturnResultBase Execute()
        {
            if (Field.IsVirtual)
            {
                return(new ReturnResult());
            }

            // check the conditions which will allow the update
            if (Field.IsLinkField)
            {
                LinkView linkView = TaskViews.LinkViews[Field.getDataviewHeaderId()];
                IRecord  record   = DataviewSynchronizer.GetCurrentRecord();

                if ((linkView.DataviewHeader.Mode == LnkMode.Write && linkView.GetPosition(record) == null) ||
                    linkView.DataviewHeader.Mode == LnkMode.Create)
                {
                    return(new ReturnResult());
                }
            }

            // update not allowed - return the error
            return(new ReturnResult(MsgInterface.RT_STR_NON_MODIFIABLE));
        }