public static void SaveObject(SRO obj)
        {
            if (obj == null)
            {
                LogProxy.Warn(OBJECTISNULL);
                return;
            }

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    SaveSingleObject(obj);

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                obj.Reset();

                LogProxy.Error(ex, true);
            }

            obj.AfterSave();
        }
Exemple #2
0
        public void SaveObject(SRO obj)
        {
            if (obj == null)
            {
                LogProxy.Warn(OBJECTISNULL);
                return;
            }

            try
            {
                if (BeforeSaveMothed != null)
                {
                    BeforeSaveMothed(new SRO[] { obj });
                }
            }
            catch (Exception ex)
            {
                LogProxy.Error(ex, false);
            }

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    SaveSingleObject(obj);

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                obj.Reset();

                LogProxy.Error(ex, true);
            }

            AddCache(obj);

            if (!obj.IsNew && obj.SaveMode != SROSaveMode.NoChange && SynClientService != null)
            {
                SynClientService.Add(obj);
            }

            obj.IsNew = false;

            if (obj.SaveMode != SROSaveMode.NoChange)
            {
                try
                {
                    obj.AfterSave();
                }
                catch (Exception ex)
                {
                    LogProxy.Error(ex, false);
                }

                try
                {
                    if (AfterSaveMothed != null)
                    {
                        AfterSaveMothed(new SRO[] { obj });
                    }
                }
                catch (Exception ex)
                {
                    LogProxy.Error(ex, false);
                }
            }
        }