public ActionResult Delete(MayorizationViewModel vm)
 {
     try
     {
         var mayorization = Mapper.Map(vm, new Mayorization());
         var listDetails = db.MayorizationDetails.Where(m => m.MayorizationId == mayorization.Id).ToList();
         foreach(var md in listDetails)
         {
             var account = db.Accounts.Find(md.AccountId);
             account.Balance += (md.Balance * -1);
             if (account.MayorAccount != null)
             {
                 //Si tiene cuenta mayor, hay que restaurar el total de la suma de los balances de las entradas (El balance de Mayorization Detail)
                 account.MayorAccount.Balance += (md.Balance * -1);
                 if (account.MayorAccount.MayorAccount != null)
                 {
                     account.MayorAccount.MayorAccount.Balance += (md.Balance * -1);
                 }
             }
             db.Entry(account).State = EntityState.Modified;
             db.SaveChanges();
         }
         db.Mayorizations.Attach(mayorization);
         db.Mayorizations.Remove(mayorization);
         db.SaveChanges();
         return Json(new { Result = "OK", Message = "Elemento Eliminado." });
     }
     catch (Exception ex)
     {
         return Json(new { Result = "Error", Message = ex.StackTrace });
     }
 }
        public ActionResult GetMayorizationDetails(MayorizationViewModel vm)
        {
            var details = db.MayorizationDetails.Where(d => d.MayorizationId == vm.Id).ToList();

            var vmList = Mapper.Map(details, new List<MayorizationDetailViewModel>());

            return Json(new { Result = "OK", Data = vmList });
        }