public override void DeleteObject(long oid) { ExpedientInfo exp = ExpedientInfo.Get(oid, false); exp.LoadChilds(typeof(Batch), false, true); if (exp.Partidas.Count > 0) { MessageBox.Show("El expediente tiene productos asociados", moleQule.Face.Resources.Labels.ADVISE_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Warning); _action_result = DialogResult.Ignore; return; } exp.LoadChilds(typeof(Maquinaria), false, true); if (exp.Maquinarias != null && exp.Maquinarias.Count > 0) { MessageBox.Show("El expediente tiene maquinas asociadas", moleQule.Face.Resources.Labels.ADVISE_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Warning); _action_result = DialogResult.Ignore; return; } Expedient.Delete(oid); _action_result = DialogResult.OK; ExpedienteList cache = Cache.Instance.Get(typeof(ExpedienteList)) as ExpedienteList; if (cache != null) { cache.RemoveItem(oid); } //Se eliminan todos los formularios de ese objeto foreach (EntityDriverForm form in _list_active_form) { if (form is ItemMngBaseForm) { if (((ItemMngBaseForm)form).Oid == oid) { form.Dispose(); break; } } } }