// GET: public virtual ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var entity = EntityService.Get(id.Value); if (entity == null) { var msg = string.Format("El Registro de {0} con identificacion {1} no existe, o sus datos asociados no existen", typeof(Entity).GetDescription(), id.Value); return(HttpNotFound(msg)); } var modelView = new FormModelView(); modelView.Model = entity; var view = ViewService.Get(typeof(Entity), typeof(Form)); var formView = view.Layout as Form; modelView.View = formView; return(View(modelView)); }
// GET: public virtual ActionResult Details(int?id) { log.DebugFormat("Details({0})", id.Value); if (!id.HasValue) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var entity = EntityService.Get(id.Value); if (entity == null) { var msg = string.Format("El Registro de {0} con identificacion {1} no existe, o sus datos asociados no existen", typeof(Entity).GetDescription(), id.Value); return(HttpNotFound(msg)); } var modelView = new FormModelView(); modelView.Model = entity; var view = ViewService.Get(typeof(Entity), typeof(Form)); var formView = view.Layout as Form; modelView.View = formView; //3. Metadata //modelView.Metadata = GenerateMetadataView.Generate(formView, view.ModelType); return(View(modelView)); }
public virtual ActionResult Edit(Entity entity, FormCollection formCollection) { try { if (ModelState.IsValid) { if (Validator != null) { ValidationResult result = Validator.Validate(entity); if (result.IsValid) { EntityService.SaveOrUpdate(entity); return(RedirectToAction("Index", new { msg = "Proceso guardado exitosamente", TipoMensaje = TipoMensaje.Correcto })); } else { foreach (ValidationFailure failer in result.Errors) { ModelState.AddModelError(failer.PropertyName, failer.ErrorMessage); } } } else { EntityService.SaveOrUpdate(entity); return(RedirectToAction("Index", new { msg = "Proceso guardado exitosamente", TipoMensaje = TipoMensaje.Correcto })); } } } catch (Exception ex) { var result = ManejadorExcepciones.HandleException(ex); ModelState.AddModelError("", result.Message); } var modelView = new FormModelView(); modelView.Model = entity; var view = ViewService.Get(typeof(Entity), typeof(Form)); var formView = view.Layout as Form; modelView.View = formView; //3. Metadata modelView.Metadata = GenerateMetadataView.Generate(formView, view.ModelType); return(View(modelView)); }
/// <summary> /// Generic Create /// </summary> /// <returns></returns> public virtual ActionResult Create() { var modelView = new FormModelView(); //1. View var view = ViewService.Get(typeof(Entity), typeof(Form)); var formView = view.Layout as Form; modelView.View = formView; //2. Model modelView.Model = Initialize(CreateObject.CreateInstance <Entity>()); //3. Metadata modelView.Metadata = GenerateMetadataView.Generate(formView, view.ModelType); return(View(modelView)); }
/// <summary> /// Generic Edit /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual ActionResult Edit(int?id) { //TODO: Si la vista (tree) no tiene la opcion edit, permitir editar?? if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var entity = EntityService.Get(id.Value); if (entity == null) { var msg = string.Format("El Registro de {0} con identificacion {1} no existe, o sus datos asociados no existen", typeof(Entity).GetDescription(), id.Value); return(HttpNotFound(msg)); } //Verificar si se puede eliminar. var check = CanEdited(entity); if (!check.Item1) { return(RedirectToAction("Index", new { msg = string.Format("El registro no se puede editar : {0}", check.Item2), TipoMensaje = TipoMensaje.Alerta })); } var modelView = new FormModelView(); modelView.Model = entity; var view = ViewService.Get(typeof(Entity), typeof(Form)); var formView = view.Layout as Form; modelView.View = formView; //3. Metadata modelView.Metadata = GenerateMetadataView.Generate(formView, view.ModelType); return(View(modelView)); }
/// <summary> /// Get Title of view form /// </summary> /// <param name="htmlHelper"></param> /// <param name="model"></param> /// <returns></returns> public static string Title(this HtmlHelper htmlHelper, FormModelView model) { if (model.Model != null && model.Model.GetType().GetEnumerableType() != null) { return(model.Model.GetType().GetEnumerableType().GetDescription()); } if (model.ModelDto != null && model.ModelDto.GetType().GetEnumerableType() != null) { return(model.ModelDto.GetType().GetEnumerableType().GetDescription()); } if (model.Model != null) { return(model.Model.GetType().GetDescription()); } if (model.ModelDto != null) { return(model.ModelDto.GetType().GetDescription()); } return(string.Empty); }