﻿using JLGames.RocketDriver.Games.RpgMaterial.Service;
using JLGames.RocketDriver.Games.RpgMaterial.Common;
using JLGames.RocketDriver.Games.RpgMaterial.User;

namespace JLGames.RocketDriver.Games.RpgMaterial.Service
{
    public interface IServiceUpdateProxy
    {
        /// <summary>
        /// Update a user data
        /// 更新单个用户数据 
        /// </summary>
        /// <param name="no">The data has been completed(数据已经补全)</param>
        /// <returns>return true if update successful(更新成功则返回true)</returns>
        bool UpdateUserMaterial(UserNotifyData no);


        /// <summary>
        /// Update some user data
        /// 更新多个用户数据 
        /// </summary>
        /// <param name="nos">The data has been completed(数据已经补全)</param>
        /// <returns>Returns the number of successful updates(返回更新成功的数量)</returns>
        int UpdateUserMaterials(UserNotifyData[] nos);

        //----------------------------

        /// <summary>
        /// Update a user data
        /// 更新单个用户数据 
        /// </summary>
        /// <param name="um">数据已经补登</param>
        bool UpdateUserMaterial(IUserMaterial um);

        /// <summary>
        /// Update some user data
        /// 更新多个用户数据 
        /// </summary>
        /// <param name="ums">数据已经补登</param>
        int UpdateUserMaterials(IUserMaterial[] ums);
    }
}