public override bool Ejecutar() { try { bool TratamientoAgregado = FabricaDAO.CrearFabricaDeDAO(1).CrearDAOTratamiento().SqlAgregarTratamiento(this._tratamiento); int IdTratamientoAgregado = FabricaDAO.CrearFabricaDeDAO(1).CrearDAOTratamiento().SqlIdTratmientoNuevo(); (this._tratamiento as Tratamiento).Id = Convert.ToInt16(IdTratamientoAgregado); bool tratamientoAsociado = FabricaComando.CrearComandoAgregarTratamientoAsociado(this._tratamiento, this._listaTratamiento).Ejecutar(); for (int i = 0; i < this._listaImplementos.Count; i++) { (this._listaImplementos[i] as Implemento).IdTratamiento = Convert.ToInt16(IdTratamientoAgregado); } bool ImplementosAgregados = FabricaComando.CrearComandoAgregarImplemento(this._listaImplementos).Ejecutar(); return(true); } catch (ExcepcionTratamiento e) { throw e; } catch (ArgumentException e) { throw new ExcepcionTratamiento("Parametros invalidos", e); } catch (NullReferenceException e) { throw new ExcepcionTratamiento("Tratamientos vacios", e); } catch (Exception e) { throw new ExcepcionTratamiento("Error en agregar Tratamiento", e); } }