public Boolean Save(ref Det_Cotizacion_OV_Servicio Item, Boolean tran) { try { Boolean m_isCorrect = true; if (tran) { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DABeginTransaction(); } switch (Item.Instance) { case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added: m_isCorrect = Insert(ref Item); break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified: m_isCorrect = Update(ref Item); break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted: m_isCorrect = Delete(ref Item); break; } if (tran) { if (m_isCorrect) { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DACommitTransaction(); Det_Cotizacion_OV_Servicio _registro = SelectOne(Item.CCOT_Tipo, Item.CCOT_Numero, Item.SCOT_Item); _registro.CopyTo(ref Item); } else { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); } } return(m_isCorrect); } catch (Exception) { if (tran) { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); } throw; } }