/// <summary>
        /// SaveForEdit
        /// </summary>
        /// <param name="viewId">viewId</param>
        /// <param name="companyId">companyId</param>
        /// <param name="fmType">fmType</param>
        public void SaveForEdit(int viewId, int companyId, string fmType)
        {
            foreach (FmViewTDS.FmViewConditionNewRow rowNew in (FmViewTDS.FmViewConditionNewDataTable)Data.Tables["FmViewConditionNew"])
            {
                FmViewCondition fmViewCondition = new FmViewCondition(null);

                if (!rowNew.Deleted && !rowNew.InDatabase)
                {
                    FmViewConditionGateway fmViewConditionGateway = new FmViewConditionGateway(null);

                    int refId = fmViewConditionGateway.GetLastRefIdByViewIdCompanyIdFmTypeConditionId(viewId, companyId, fmType, rowNew.ConditionID);
                    refId = refId + 1;

                    fmViewCondition.InsertDirect(viewId, companyId, fmType, rowNew.ConditionID, refId, rowNew.Operator, rowNew.ConditionNumber, rowNew.Value_, rowNew.Deleted);
                }

                if (!rowNew.Deleted && rowNew.InDatabase)
                {
                    FmViewConditionGateway fmViewConditionGateway = new FmViewConditionGateway();
                    fmViewConditionGateway.LoadAllByViewIdFmTypeConditionIdRefId(viewId, companyId, fmType, rowNew.ConditionID, rowNew.RefID);

                    int originalViewId = viewId;
                    int originalCompanyId = companyId;
                    string originalFmType = fmType;
                    int originalConditionId = rowNew.ConditionID;
                    int originalRefId = rowNew.RefID; //fmViewConditionGateway.GetRefId(viewId, fmType, companyId, rowNew.ConditionID, rowNew.RefID);
                    string originalOperator_ = fmViewConditionGateway.GetOperator(viewId, fmType, companyId, rowNew.ConditionID, rowNew.RefID);
                    int originalConditionNumber = fmViewConditionGateway.GetConditionNumber(viewId, fmType, companyId, rowNew.ConditionID, rowNew.RefID);
                    string originalValue_ = fmViewConditionGateway.GetValue_(viewId, fmType, companyId, rowNew.ConditionID, rowNew.RefID);
                    bool originalDeleted = fmViewConditionGateway.GetDeleted(viewId, fmType, companyId, rowNew.ConditionID, rowNew.RefID);

                    fmViewCondition.UpdateDirect(originalViewId, originalFmType, originalCompanyId, originalConditionId, originalRefId, originalOperator_, originalConditionNumber, originalValue_, originalDeleted, viewId, fmType, companyId, rowNew.ConditionID, rowNew.RefID, rowNew.Operator, rowNew.ConditionNumber, rowNew.Value_, rowNew.Deleted);
                }

                if (rowNew.Deleted && rowNew.InDatabase)
                {
                    fmViewCondition.DeleteDirectForEditView(viewId, companyId, fmType, rowNew.ConditionID, rowNew.RefID);
                }
            }
        }