public ActionResult Edit(Rp3.Test.Mvc.Models.TransactionEditModel editModel) { Rp3.Test.Proxies.Proxy proxy = new Proxies.Proxy(); int accountId = Convert.ToInt32(System.Web.HttpContext.Current.Session["AccountId"]); List <TransactionType> transactionTypeList = proxy.GetTransactionTypes(); List <SelectListItem> transactionTypeItems = transactionTypeList.Select(x => GetTransactionTypeItem(x)).ToList(); editModel.TransactionTypeSelectList = new SelectList(transactionTypeItems, "Value", "Text", 1); List <Category> categoryList = proxy.GetCategories(); List <SelectListItem> categoryItems = categoryList.Select(x => GetCategoryItem(x)).ToList(); editModel.CategorySelectList = new SelectList(categoryItems, "Value", "Text", 1); if (editModel.Amount <= 0) { ModelState.AddModelError("Amount", "El monto debe ser mayor a cero"); } if (!ModelState.IsValid) { return(View(editModel)); } Rp3.Test.Common.Models.Transaction commonModel = new Common.Models.Transaction(); commonModel.TransactionId = editModel.TransactionId; commonModel.TransactionTypeId = editModel.TransactionTypeId; commonModel.CategoryId = editModel.CategoryId; commonModel.AccountId = accountId; commonModel.Amount = editModel.Amount; commonModel.ShortDescription = editModel.ShortDescription; commonModel.Notes = editModel.Notes; bool respondeOk = proxy.UpdateTransaction(commonModel); if (respondeOk) { return(RedirectToAction("Index")); } else { return(View(editModel)); } }
public ActionResult Index(Rp3.Test.Mvc.Models.TransactionEditModel model) { if (model != null) { Proxies.Proxy proxy = new Proxies.Proxy(); //Validamos si es para crear o actualizar if (model.TransactionId > 0) { //Actualizar proxy.UpdateTransaction(new Common.Models.Transaction() { TransactionId = model.TransactionId, TransactionTypeId = model.TransactionTypeId, Amount = model.Amount, CategoryId = model.CategoryId, Notes = model.Notes, RegisterDate = model.RegisterDate, ShortDescription = model.ShortDescription, PersonId = PersonController.PersonId.Value }); } else { //Crear proxy.InsertTransaction(new Common.Models.Transaction() { TransactionTypeId = model.TransactionTypeId, Amount = model.Amount, CategoryId = model.CategoryId, Notes = model.Notes, RegisterDate = model.RegisterDate, ShortDescription = model.ShortDescription, PersonId = PersonController.PersonId.Value }); } } return(Index()); }