public IHttpActionResult Post([FromBody] Request <MetaDataParam> request)
 {
     try
     {
         Response <MetaDataParam> response = new Response <MetaDataParam>();
         MetaDataParam            model    = request.Data as MetaDataParam;
         if (model == null)
         {
             return(NotFound());
         }
         if (model.ID <= 0)
         {
             int ID = bll.Add(model);
             model.ID = ID;
         }
         else
         {
             bool isEditSuccess = bll.Edit(model);
         }
         response.Data = model;
         return(Ok(response));
     }
     catch (Exception ex)
     {
         LogService.WriteErrorLog("MetaDataParamController[Post]", ex.ToString());
         return(BadRequest(ex.Message));
     }
 }
예제 #2
0
 /// <summary>
 /// 修改元数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool Edit(MetaDataParam model)
 {
     if (model == null || model.ID <= 0)
     {
         LogService.WriteInfoLog(logTitle, "试图修改为空的MetaDataParam实体!");
         throw new KeyNotFoundException();
     }
     using (DbContext db = new CRDatabase())
     {
         db.Entry(ModelToEntity(model)).State = EntityState.Modified;
         return(db.SaveChanges() > 0);
     }
 }
예제 #3
0
 /// <summary>
 /// 新增元数据参数
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int Add(MetaDataParam model)
 {
     if (model == null)
     {
         return(0);
     }
     using (DbContext db = new CRDatabase())
     {
         db.Set <CTMS_METADATAPARAM>().Add(ModelToEntity(model));
         db.SaveChanges();
         return(model.ID);
     }
 }
예제 #4
0
 public CTMS_METADATAPARAM ModelToEntity(MetaDataParam model)
 {
     if (model == null)
     {
         return(null);
     }
     return(new CTMS_METADATAPARAM()
     {
         ID = model.ID <= 0 ? base.GetMaxId("CTMS_METADATAPARAM", "ID") : model.ID,
         METADATAID = model.MetaDataID,
         PARAMNAME = model.ParamName,
         PARAMVALUE = model.ParamValue
     });
 }
예제 #5
0
 Method GetMethod(Method m, MetaDataMethod x, string path)
 {
     m.Modifiers = GetMethodModifiers(x);
     m.Type      = GetType(x.Signature.ReturnType, path);
     for (int i = 0; i < x.Parameters.Length; i++)
     {
         Formal        f;
         MetaDataParam p = x.Parameters[i];
         if (i == x.Parameters.Length - 1 && m.Name == "set_Item")
         {
             f = m.AddFormal(new InputElement("value"), msg);
             m.signature.formals.Remove(f);
         }
         else
         {
             f = m.AddFormal(new InputElement(String.Format("arg{0}", i + 1)), msg);
         }
         f.Type = GetType(x.Signature.Parameters[i].Type, path);
         if ((p.Flags & ((int)MetaDataParam.ParamAttributes.Out)) != 0)
         {
             f.modifier = new InputElement("out");
         }
         else if (f.Type is ManagedPointerType)
         {
             f.modifier = new InputElement("ref");
         }
         if (f.Type is ManagedPointerType)
         {
             f.Type = ((ManagedPointerType)f.Type).elementType;
         }
         else if (p.CustomAttributes != null)
         {
             foreach (MetaDataCustomAttribute a in p.CustomAttributes)
             {
                 MetaDataMethod t = a.Type as MetaDataMethod;
                 if (t != null && t.Parent != null && t.Parent.Name == "ParamArrayAttribute")
                 {
                     f.IsParams = true;
                     break;
                 }
             }
         }
     }
     return(m);
 }