public ActionResult Delete(CountableAccountViewModel vm) { try { var account = Mapper.Map(vm, new CountableAccount()); var toDetele = db.Accounts.Where(a => a.MayorAccountId == account.Id).ToList(); db.Accounts.RemoveRange(toDetele); db.Accounts.Attach(account); db.Accounts.Remove(account); db.SaveChanges(); return Json(new { Result = "OK", Message = "Elemento Eliminado." }); } catch (Exception ex) { return Json(new { Result = "Error", Message = ex.StackTrace }); } }
public ActionResult Save(CountableAccountViewModel vm) { if (ModelState.ContainsKey("FechaRegistro")) { ModelState["FechaRegistro"].Errors.Clear(); } var account = Mapper.Map(vm, new CountableAccount()); if (ModelState.IsValid) { string mensaje = ""; if (account.Id > 0) { db.Accounts.Attach(account); db.Entry(account).State = EntityState.Modified; db.SaveChanges(); mensaje = "Datos Actualizados."; } else { db.Accounts.Add(account); db.SaveChanges(); mensaje = "Cuenta Creado"; } var tempAccount = db.Accounts.Find(account.Id); vm = Mapper.Map(tempAccount, new CountableAccountViewModel()); return Json(new { Result = "OK", Data = vm, Message = mensaje }); } return Json(new { Result = "ERROR", Message = "Hay Datos erroneos" }); }