Exemplo n.º 1
0
 public static void Check(ListableEntity obj)
 {
     if (obj == null)
     {
         return;
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Update操作前的数据检查,确保数据不会误导ID,CreateTime, ModifyTime,比如 PUT /asset/105  但是提供的数据里面id=106。
        /// </summary>
        /// <param name="accid"></param>
        /// <param name="id"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        bool UpdateProtectListableEntity(string accid, ListableEntity value)
        {
            ListableEntity src = Get(accid, value.Id) as ListableEntity;

            if (src == null)
            {
                return(false);
            }
            value.CreateTime = src.CreateTime;
            value.ModifyTime = DateTime.UtcNow;
            return(true);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Update操作前的数据检查,确保数据不会误导ID,CreateTime, ModifyTime,比如 PUT /asset/105  但是提供的数据里面id=106。
        /// </summary>
        /// <param name="accid"></param>
        /// <param name="id"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        async Task <bool> UpdateProtectListableEntityAsync(string accid, ListableEntity value)
        {
            var src = await GetAsync(accid, value.Id) as ListableEntity;

            if (src == null)
            {
                return(false);
            }
            value.CreateTime = src.CreateTime;
            value.ModifyTime = DateTime.UtcNow;
            return(true);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 更新一个对象,value=null或者id找不到则返回null,内部已经做了访问权限判断
        /// </summary>
        /// <param name="id"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public T Update(string accid, T value)
        {
            if (CanUpdate(accid, value.Id) == false)
            {
                return(null);
            }

            ListableEntity entity = value as ListableEntity;

            if (entity != null)
            {
                UpdateProtectListableEntity(accid, entity);
            }

            var res = GetDataSet(accid).FirstOrDefault(d => d.Id == value.Id);

            if (res == null)
            {
                return(null);
            }
            DataCopyer.CopyDataTo(value, res);
            context.SaveChangesAsync();
            return(res);
        }