private void DoClear( ) { if (this.Binding.InRelationWithMainObject() && this.Binding.Config.DisplayOnly == false && (this.Binding.DataManager.Screen.ScreenStatus == ABCScreenStatus.New || this.Binding.DataManager.Screen.ScreenStatus == ABCScreenStatus.Edit)) { NewItems.Clear(); ChangedItems.Clear(); foreach (T obj in this) { Guid iID = BusinessObjectHelper.GetIDValue(obj); if (iID != Guid.Empty && RemovedItems.ContainsKey(iID) == false) { RemovedItems.Add(iID, obj); } } } else { BackupInnerList.Clear(); ClearDetections(); } this.Clear(); if (this.Binding != null) { this.Binding.IsModified = false; } }
public static void LogAction(BusinessObject obj, String ViewDesc) { Guid iID = BusinessObjectHelper.GetIDValue(obj); if (iID == Guid.Empty) { return; } }
public Boolean ContainID(Guid iID) { foreach (T objT in this) { Guid objID = BusinessObjectHelper.GetIDValue(objT); if (objID != Guid.Empty && objID == iID) { return(true); } } return(false); }
public BusinessObject GetItemByID(Guid iID) { for (int iIndex = 0; iIndex < this.Count; iIndex++) { T objT = this[iIndex]; Guid iIDValue = BusinessObjectHelper.GetIDValue(objT as BusinessObject); if (iIDValue == iID) { return(objT as BusinessObject); } } return(null); }
public static void LogAction(BusinessObject obj, String ViewDesc, String Action) { Guid iID = BusinessObjectHelper.GetIDValue(obj); if (iID == Guid.Empty) { return; } String strNo = BusinessObjectHelper.GetNoValue(obj); String strRemark = BusinessObjectHelper.GetRemarkValue(obj); String strTableDesc = DataConfigProvider.GetTableCaption(obj.AATableName); LogAction(obj.AATableName, iID, strNo, strRemark, strTableDesc, ViewDesc, Action); }
public void MarkAsChangedItem(BusinessObject objT) { Guid iID = BusinessObjectHelper.GetIDValue(objT); if (iID != Guid.Empty) { if (ChangedItems.Contains(iID) == false) { ChangedItems.Add(iID); if (this.Binding != null) { this.Binding.IsModified = true; } } } }
void ABCList_ListChanged(object sender, ListChangedEventArgs e) { if (e.ListChangedType == ListChangedType.ItemAdded) { if (NewItems.Contains(e.NewIndex) == false) { NewItems.Add(e.NewIndex); if (this.Binding != null) { this.Binding.IsModified = true; } } } if (e.ListChangedType == ListChangedType.ItemChanged) { if (NewItems.Contains(e.NewIndex) == false) { if (this[e.NewIndex] != null) { Guid iID = BusinessObjectHelper.GetIDValue(this[e.NewIndex]); if (iID != Guid.Empty) { if (ChangedItems.Contains(iID) == false) { ChangedItems.Add(iID); if (this.Binding != null) { this.Binding.IsModified = true; } } } } } } //if ( e.ListChangedType==ListChangedType.ItemChanged ) //{ // int iID=(int)ABCDynamicInvoker.GetValue( this[e.NewIndex] , ABCTable.StructureProvider.GetPrimaryKeyColumn( this.TableName ) ); // if ( iID>0 ) // Controller.UpdateObject( this[e.NewIndex] ); // else // Controller.CreateObject( this[e.NewIndex] ); //} }
protected override void RemoveItem(int index) { if (this.RaiseListChangedEvents) { if (NewItems.Contains(index)) { NewItems.Remove(index); } for (int i = 0; i < NewItems.Count; i++) { if (NewItems[i] > index) { NewItems[i] -= 1; } } Guid iID = BusinessObjectHelper.GetIDValue(this[index]); if (iID != Guid.Empty) { if (ChangedItems.Contains(iID)) { ChangedItems.Remove(iID); } if (RemovedItems.ContainsKey(iID) == false) { RemovedItems.Add(iID, this[index]); } } } base.RemoveItem(index); if (this.Binding != null) { this.Binding.IsModified = true; } }
public ABCObjectInfo(BusinessObject obj) { TableName = obj.AATableName; ObjectID = BusinessObjectHelper.GetIDValue(obj); ObjectNo = BusinessObjectHelper.GetDisplayValue(obj); object objValue = ABCBusinessEntities.ABCDynamicInvoker.GetValue(obj, "CreateUser"); if (objValue != null) { CreateUser = objValue.ToString(); } objValue = ABCBusinessEntities.ABCDynamicInvoker.GetValue(obj, "UpdateUser"); if (objValue != null) { UpdateUser = objValue.ToString(); } objValue = ABCBusinessEntities.ABCDynamicInvoker.GetValue(obj, "CreateTime"); if (objValue != null) { CreateTime = (DateTime?)objValue; } objValue = ABCBusinessEntities.ABCDynamicInvoker.GetValue(obj, "UpdateTime"); if (objValue != null) { UpdateTime = (DateTime?)objValue; } objValue = ABCBusinessEntities.ABCDynamicInvoker.GetValue(obj, "EditCount"); if (objValue != null) { EditCount = Convert.ToInt32(objValue); } }
public void ActionSave(bool isShowWaitingDlg) { if (ChangedItems.Count > 0 && ABCScreenManager.Instance.CheckTablePermission(this.TableName, TablePermission.AllowEdit) == false) { return; } if (RemovedItems.Count > 0 && ABCScreenManager.Instance.CheckTablePermission(this.TableName, TablePermission.AllowDelete) == false) { return; } if (NewItems.Count > 0 && ABCScreenManager.Instance.CheckTablePermission(this.TableName, TablePermission.AllowNew) == false) { return; } if (isShowWaitingDlg) { ABCHelper.ABCWaitingDialog.Show("", "Đang lưu ...."); } List <T> lstDeletings = new List <T>(); List <T> lstUpdatings = new List <T>(); List <T> lstCreatings = new List <T>(); #region Init foreach (T objT in RemovedItems.Values) { lstDeletings.Add(objT); } foreach (Guid iID in ChangedItems) { BusinessObject objT = GetItemByID(iID); if (objT != null) { BusinessObjectHelper.SetAutoValue(objT); lstUpdatings.Add((T)objT); } } foreach (int iIndex in NewItems) { BusinessObjectHelper.SetDefaultValue(this[iIndex]); BusinessObjectHelper.SetAutoValue(this[iIndex]); Guid iID = BusinessObjectHelper.GetIDValue(this[iIndex]); if (iID == Guid.Empty) { lstCreatings.Add(this[iIndex]); } else { lstUpdatings.Add(this[iIndex]); } } #endregion ABCStandardEventArg arg = new ABCStandardEventArg(); OnSaving(this, ref lstDeletings, ref lstUpdatings, ref lstCreatings, arg); if (arg.Cancel) { return; } foreach (T objT in lstDeletings) { DeleteItem(objT); } foreach (T objT in lstUpdatings) { Controller.UpdateObject(objT); } foreach (T objT in lstCreatings) { Controller.CreateObject(objT); } ClearDetections(); DataCachingProvider.RefreshLookupTable(this.TableName); OnSaved(this, ref lstDeletings, ref lstUpdatings, ref lstCreatings, new ABCStandardEventArg()); if (isShowWaitingDlg) { ABCHelper.ABCWaitingDialog.Close(); } }
void LayoutItem_MouseUp(object sender, MouseEventArgs e) { //if ( OwnerView!=null&&OwnerView.Mode!=ViewMode.Design) //{ if (e.Button == System.Windows.Forms.MouseButtons.Left && this.DisplayImage && EditControl != null && this.LayoutItem.TextSize.Width - 18 < e.X && e.X < this.LayoutItem.TextSize.Width) { BindingSource binding = (this.EditControl as Control).DataBindings[0].DataSource as BindingSource; BusinessObject busObj = binding.DataSource as BusinessObject; #region Link by ID object obj = EditControl.GetType().GetProperty("EditValue").GetValue(EditControl, null); Guid iID = ABCHelper.DataConverter.ConvertToGuid(obj); String strLinkTableName = String.Empty; Guid iLinkID = Guid.Empty; if (this.DataMember.Contains(":")) { DataCachingProvider.AccrossStructInfo acrrosInfo = DataCachingProvider.GetAccrossStructInfo(busObj, iID, this.DataMember); if (acrrosInfo != null && (acrrosInfo.FieldName == DataStructureProvider.GetNOColumn(acrrosInfo.TableName) || acrrosInfo.FieldName == DataStructureProvider.GetNAMEColumn(acrrosInfo.TableName))) { strLinkTableName = acrrosInfo.TableName; iLinkID = acrrosInfo.TableID; } } else if (DataStructureProvider.IsForeignKey(TableName, this.DataMember)) { strLinkTableName = DataStructureProvider.GetTableNameOfForeignKey(TableName, this.DataMember); iLinkID = iID; } else { strLinkTableName = TableName; iLinkID = BusinessObjectHelper.GetIDValue(busObj); } if (iLinkID != Guid.Empty && String.IsNullOrWhiteSpace(strLinkTableName) == false) { ABCScreen.ABCScreenHelper.Instance.RunLink(strLinkTableName, this.OwnerView.Mode, false, iLinkID, ABCScreenAction.None); return; } #endregion if (String.IsNullOrWhiteSpace(this.LinkScreen) == false) { String[] strArrays = this.ParamFields.Split(';'); object[] lstParams = new object[strArrays.Length]; for (int i = 0; i < strArrays.Length; i++) { object objParam = strArrays[i]; if (DataStructureProvider.IsTableColumn(busObj.AATableName, strArrays[i])) { objParam = ABCBusinessEntities.ABCDynamicInvoker.GetValue(busObj, strArrays[i]); } lstParams[i] = objParam; } ABCScreen.ABCScreenHelper.Instance.RunLink(this.LinkScreen, this.OwnerView.Mode, false, ABCScreenAction.None, lstParams); } } //} }