Beispiel #1
0
        //public int Update(List<PERMITDC> objPERMITs)
        //{
        //    int updatedCount = 0;
        //    DBConnection objConnection = new DBConnection();
        //    PERMITDA objPERMITDA = new PERMITDA();
        //    try
        //    {
        //        objConnection.Open(true);
        //        updatedCount = objPERMITDA.Update(objConnection, objPERMITs);
        //        IsDirty = objPERMITDA.IsDirty;
        //        if (IsDirty)
        //            objConnection.Rollback();
        //        else
        //            objConnection.Commit();
        //    }
        //    catch (Exception ex)
        //    {
        //        objConnection.Rollback();
        //        throw ex;
        //    }
        //    finally
        //    {
        //        objConnection.Close();
        //    }
        //    return updatedCount;
        //}

        public int Update(List <PERMITDC> objs, ref List <EXCEPTIONDC> lstExceptions)
        {
            int          updatedCount  = 0;
            DBConnection objConnection = new DBConnection();
            PERMITDA     objDA         = new PERMITDA();

            try
            {
                foreach (PERMITDC obj in objs)
                {
                    objConnection.Open(true);
                    try
                    {
                        updatedCount = objDA.Update(objConnection, obj);
                        if (obj.IsDirty)
                        {
                            break;
                        }
                        objConnection.Commit();
                    }
                    catch (Exception exp)
                    {
                        EXCEPTIONDC objExcption = new EXCEPTIONDC();
                        objExcption.FIELD_ID          = obj.PERMIT_ID;
                        objExcption.EXCEPTION_MESSAGE = exp.Message;
                        objExcption.STACK_TRACK       = exp.StackTrace;
                        lstExceptions.Add(objExcption);
                        objConnection.Rollback();
                    }
                }
                if (lstExceptions.Count > 0)
                {
                    throw new Exception(lstExceptions[0].EXCEPTION_MESSAGE);
                }
            }
            catch (Exception exp)
            {
                throw exp;
            }
            finally
            {
                objConnection.Close();
            }

            return(updatedCount);
        }