Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        public static void LogAction(BusinessObject obj, String ViewDesc)
        {
            Guid iID = BusinessObjectHelper.GetIDValue(obj);

            if (iID == Guid.Empty)
            {
                return;
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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;
                    }
                }
            }
        }
Exemplo n.º 7
0
        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] );
            //}
        }
Exemplo n.º 8
0
        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;
            }
        }
Exemplo n.º 9
0
        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);
            }
        }
Exemplo n.º 10
0
        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();
            }
        }
Exemplo n.º 11
0
        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);
                }
            }
            //}
        }