コード例 #1
0
ファイル: ComprobanteBL.cs プロジェクト: EvertNube/nbLibros
 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;
         }
     }
 }
コード例 #2
0
ファイル: ComprobanteBL.cs プロジェクト: EvertNube/nbLibros
 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;
         }
     }
 }
コード例 #3
0
ファイル: AdminController.cs プロジェクト: EvertNube/nbLibros
        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 });
        }