public ActionResult Create(clsPlanVM oPlanVM) { string strMsg = string.Empty; clsPlan oPlan = new clsPlan(clsAppInfo.Connection); try { if (ModelState.IsValid) { DataMove(oPlanVM, oPlan, false); strMsg += CheckPlanCreatePost(ref oPlan); if (String.IsNullOrEmpty(strMsg)) // verificar si existe error { List <clsPlanVM> hijos = get_Hijos(oPlan); oPlan.BeginTransaction(); if (oPlan.Insert()) { if (ActualizarOrden(oPlan, hijos)) { oPlan.Commit(); strMsg += "Plan Creado Correctamente"; return(RedirectToAction("Index", new { MessageErr = strMsg, idPlan = SysData.ToLong(oPlan.VM.PlanId) })); } else { oPlan.Rollback(); strMsg += "Ocurrio un Problema a Crear(Problema a Actualizar los Orden) Plan Vuelva a Intentarlo"; return(RedirectToAction("Index", new { MessageErr = strMsg, idPlan = SysData.ToLong(oPlanVM.PlanPadreId) })); } } else { oPlan.Rollback(); strMsg += "Ocurrio un Problema a Crear Plan Vuelva a Intentarlo"; return(RedirectToAction("Index", new { MessageErr = strMsg, idPlan = SysData.ToLong(oPlanVM.PlanPadreId) })); } } } else { strMsg += "Datos Incorrectos Revise y Vuelva a Intentar" + Environment.NewLine; } } catch (Exception exp) { oPlan.Rollback(); ViewBag.MessageErr = exp.Message; return(View(oPlanVM)); } if (strMsg.Trim() != string.Empty) { ViewBag.MessageErr = strMsg; } return(View(oPlanVM)); }
public ActionResult Edit(clsPlanVM oPlanVM) { string strMsg = string.Empty; clsPlan oPlan = new clsPlan(clsAppInfo.Connection); try { if (ModelState.IsValid) { DataMove(oPlanVM, oPlan, true); strMsg += CheckPlanEditPost(oPlan); } else { if (oPlanVM.PlanPadreId == -1) { strMsg += "Operacion Invalida: Nivel de Plan Inaccesible para realizar Cambios, porfavor elija otro Plan" + Environment.NewLine; } else { strMsg += "Modelo Invalido" + Environment.NewLine; } } if (strMsg.Trim() != string.Empty) { ViewBag.MessageErr = strMsg; } else { // obtenemos el orden guardado en la BD, por si lo quiere modificar long ordenBD = getOrden(oPlan.VM.PlanId); List <clsPlanVM> hijos = new List <clsPlanVM>(); if (ordenBD != oPlan.VM.Orden) { // si quiere modificar el orden hijos = get_Hijos(oPlan); hijos.RemoveAll((x) => x.PlanId == oPlan.VM.PlanId); // eliminamos el plan que se esta actualizando } oPlan.BeginTransaction(); if (oPlan.Update()) { if (hijos.Count > 0) { // si quiere modificar el orden if (!ActualizarOrden(oPlan, hijos)) { oPlan.Rollback(); ViewBag.MessageErr = "Error al Actualizar Orden de los demas Planes del mismo Grupo"; return(View(oPlanVM)); } } oPlan.Commit(); return(RedirectToAction("Index", new { idPlan = SysData.ToLong(oPlanVM.PlanId) })); } oPlan.Rollback(); } return(View(oPlanVM)); } catch (Exception exp) { oPlan.Rollback(); ViewBag.MessageErr = exp.Message; return(View(oPlanVM)); } }