예제 #1
0
 public T SaveOrUpdate(T obj)
 {
     try
     {
         using (var sess = SessionFactory.GetFactory().OpenSession())
         {
             sess.SaveOrUpdate(obj);
             sess.Flush();
             return(obj);
         }
     }
     catch (Exception e)
     {
         throw new Exception(string.Format("{2}.SaveOrUpdate.Err : {0} Data : {1}", e.Message, ExeptionDataBuilder <T> .DataBuilder(obj), typeof(T).FullName), e);
     }
 }
예제 #2
0
        public virtual T Save(T obj)
        {
            try
            {
                using (var sess = SessionFactory.GetFactory().OpenSession())
                {
                    sess.Save(obj);
                    sess.Flush();
                    return(obj);
                }
            }
            catch (Exception e)
            {
                string triggerMessage = "";
                if (e.InnerException != null && e.InnerException.Message != null)
                {
                    if (e.InnerException.Message.Split('\n').Length > 0 && e.InnerException.Message.Split('\n')[0].Contains("ORA-20003"))
                    {
                        triggerMessage = e.InnerException.Message.Split('\n')[0].Replace("ORA-20003:  ", "");
                    }
                }

                if (string.IsNullOrEmpty(triggerMessage))
                {
                    throw new Exception(string.Format("{2}.Save.Err : {0} Data : {1}", e.Message, ExeptionDataBuilder <T> .DataBuilder(obj), typeof(T).FullName), e);
                }
                else
                {
                    throw new Exception(triggerMessage);
                }
            }
        }