private void Validate(MetadataEntityAttributeModel model) { if (model.TypeId == (byte) AttributeType.Value) { if (string.IsNullOrEmpty(model.Type)) ModelState.AddModelError("Type", "Требуется поле Тип колонки."); } else { if (!model.ReferencedEntityId.HasValue) ModelState.AddModelError("ReferencedEntityId", "Требуется поле Объект."); } }
private void Validate(DBEntities context, MetadataEntityAttributeModel model) { if (model.TypeId == 0) { string res = MetadataEntityAttributeValidator.CheckColumnName(context, model.EntityId, model.Id, model.ColumnName); if (res.Length > 0) ModelState.AddModelError("TableName", res); } else if (model.TypeId == 1) { string res = MetadataEntityAttributeValidator.CheckColumnName(context, model.EntityId, model.Id, model.ColumnName); if (res.Length > 0) ModelState.AddModelError("TableName", res); } }
public ActionResult EditAttribute(Guid? id, Guid? EntityId, MetadataEntityAttributeModel model, string button) { if (string.IsNullOrEmpty(button)) return View(model); Validate(model); if (!ModelState.IsValid) { return View(model); } using (DBEntities context = Settings.CreateDataContext()) { MetadataEntityAttribute target = null; if (model.Id != Guid.Empty) { target = MetadataEntityHelper.GetAttribute(model.Id, context); if (target == null) { ModelState.AddModelError("", Resources.Resource.RowNotFound); return View(model); } } else { target = new MetadataEntityAttribute(); target.Id = model.Id = Guid.NewGuid(); context.AddToMetadataEntityAttribute(target); } MetadataEntityAttributeModel.CreateMap(); target = Mapper.Map(model, target); // UpdateExtention(model, target, context); try { context.SaveChanges(); } catch (Exception ex) { string errorMsg; if (ex.InnerException != null) errorMsg = string.Format("{0} {1}", ex.Message, ex.InnerException.Message); else errorMsg = ex.Message; ModelState.AddModelError("", Resources.Resource.SaveError + ": " + errorMsg); return View(model); } } if (button == "SaveAndExit") return RedirectToAction("Edit", new {id = model.EntityId}); else { return RedirectToAction("EditAttribute", new {id = model.Id}); } }