public bool delete(int id) { using (var context = getContext()) { try { var row = context.Comprobante.Where(x => x.IdComprobante == id).SingleOrDefault(); //Si el comprobante esta ligado a Movimientos primero se eliminan todos los Movimientos var allmovimientos = context.Movimiento.Where(x => x.IdComprobante == row.IdComprobante).ToList(); MovimientoBL movBL = new MovimientoBL(); foreach (var item in allmovimientos) { movBL.delete(item.IdMovimiento); } //Si el comprobante esta ligado a pagos por areas primero se eliminan todos sus montos AreasPorComprobantes var allmontos = context.AreaPorComprobante.Where(x => x.IdComprobante == row.IdComprobante).ToList(); foreach (var item in allmontos) { row.AreaPorComprobante.Remove(item); } context.Comprobante.Remove(row); context.SaveChanges(); return true; } catch (Exception e) { throw e; } } }
public bool ban(int id, string comentario) { using (var context = getContext()) { try { var row = context.Comprobante.Where(x => x.IdComprobante == id).SingleOrDefault(); if (row.IdTipoComprobante < 3) { //Si el comprobante esta ligado a Movimientos primero se eliminan todos los Movimientos var allmovimientos = context.Movimiento.Where(x => x.IdComprobante == row.IdComprobante).ToList(); MovimientoBL movBL = new MovimientoBL(); foreach (var item in allmovimientos) { movBL.delete(item.IdMovimiento); } //Anulando el Comprobante row.IdTipoComprobante = row.IdTipoComprobante == 1 ? 3 : 4; row.Ejecutado = false; row.Comentario = comentario; context.SaveChanges(); return true; } return false; } catch (Exception e) { throw e; } } }
public ActionResult DeleteMovimiento(int id, int idCuentaBancaria) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } if (getCurrentUser().IdRol == 4) { return RedirectToAction("Libro", "Admin", new { id = idCuentaBancaria }); } try { MovimientoBL objBL = new MovimientoBL(); if (objBL.delete(id)) { createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_DELETE); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_DELETE); } } catch (Exception e) { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_NO_DELETE); throw; } return RedirectToAction("Libro", "Admin", new { id = idCuentaBancaria }); }