/// <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); } } }