public JsonResult Add(MonitorItemDBModel model) { try { MonitorItemType type = (MonitorItemType)Enum.Parse(typeof(MonitorItemType), Request.Form["typeSelect"].ToString().Trim()); model = new MonitorItemDBModel(); model.Name = Request.Form["Name"].ToString().Trim(); model.Note = Request.Form["Note"].ToString().Trim(); model.Host = Request.Form["MHost"].ToString().Trim(); model.CollectorHost = Request.Form["CollectorHost"].ToString().Trim(); model.ItemType = type; model.Paramter = GetParamterStr(Request, model.ItemType); bool b = _business.Add(model); return(Json(new { State = b })); } catch (AppException ex) { return(Json(new { State = false, Message = ex.Message })); } catch (Exception) { return(Json(new { State = false, Message = "未知错误,请联系管理人员" })); } }
private string GetParamterStr(HttpRequestBase request, MonitorItemType type) { BaseParamter paramter = null; switch (type) { case MonitorItemType.DB: paramter = new Common.Model.DBParamter() { Username = request.Form["Username"].ToString().Trim(), Password = request.Form["Password"].ToString().Trim(), Port = Convert.ToInt32(request.Form["Port"]), Host = request.Form["Host"].ToString().Trim(), DBName = request.Form["DBName"].ToString().Trim(), Interval = Convert.ToInt32(request.Form["Interval"]) //DeviceId = Convert.ToInt32(request.Form["DeviceId"]) }; break; case MonitorItemType.DEMS: paramter = new Common.Model.DEMSParamter() { Host = request.Form["Host"].ToString().Trim(), Interval = Convert.ToInt32(request.Form["Interval"]), //DeviceId = Convert.ToInt32(request.Form["DeviceId"]), DEMSName = request.Form["DEMSName"].ToString().Trim() }; break; case MonitorItemType.Web: paramter = new Common.Model.WebParamter() { Host = request.Form["Host"].ToString().Trim(), Interval = Convert.ToInt32(request.Form["Interval"]), //DeviceId = Convert.ToInt32(request.Form["DeviceId"]), Port = Convert.ToInt32(request.Form["Port"]) }; break; default: break; } return(Newtonsoft.Json.JsonConvert.SerializeObject(paramter)); }
public static string GetItemTypeName(this MonitorItemType val) { Type type = val.GetType(); FieldInfo fd = type.GetField(val.ToString()); if (fd == null) { return(string.Empty); } var attr = fd.GetCustomAttributes(typeof(ItemTypeNameAttribute), false).FirstOrDefault() as ItemTypeNameAttribute; if (attr == null) { return(string.Empty); } return(attr.ItemTypeName); }