using BLL;
using System;
using System.Linq;
using System.Web.Http;

namespace WebAPI.Controllers
{
    /// <summary>
    /// 用户
    /// </summary>
    public class UserController : ApiController
    {
        #region 根据账号或手机号码登录方法
        /// <summary>
        /// 登录方法
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        [HttpPost]
        public Model.ResponeData postLoginOn([FromBody] Model.UserItem userInfo)
        {
            //登录方法 Model.UserItem
            var responeData = new Model.ResponeData
            {
                message = "账号密码不匹配!"
            };
            try
            {
                ////用户登录
                var user = APIUserService.UserLogOn(userInfo);
                if (user != null)
                {
                    responeData.message = "登录成功!";
                    responeData.data = user;
                }
                //else 暂不用
                //{
                //    // 焊工登录
                //    var user1 = APIWelderService.PersonLogOn(userInfo);
                //    if (user1 != null)
                //    {
                //        responeData.message = "登录成功!";
                //        responeData.code = 2;
                //        responeData.data = user1;
                //    }
                //}                
            }
            catch (Exception ex)
            {
                responeData.code = 0;
                responeData.message = ex.Message;
            }

            return responeData;
        }
        #endregion

        #region 根据userid获取用户信息
        /// <summary>
        /// 根据userid获取用户信息
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public Model.ResponeData getUserByUserId(string userId)
        {
            var responeData = new Model.ResponeData();
            try
            {
                responeData.data = APIUserService.getUserByUserId(userId);
            }
            catch (Exception ex)
            {
                responeData.code = 0;
                responeData.message = ex.Message;
            }

            return responeData;
        }
        #endregion

        #region 根据登陆用户的单位ID和选择的项目获取单位类型(1、建设方,2、总承包商,3、监理,4、检测,5、施工)
        /// <summary>
        /// 根据登陆用户的单位ID和选择的项目获取单位类型(1、建设方,2、总承包商,3、监理,4、检测,5、施工)
        /// </summary>
        /// <param name="projectId">项目ID</param>
        /// <param name="unitId">单位ID</param>
        /// <returns></returns>
        public Model.ResponeData getUserInfo(string projectId, string unitId)
        {
            var responeData = new Model.ResponeData();
            try
            {
                responeData.data = APIUserService.getUserInfo(projectId, unitId);
            }
            catch (Exception ex)
            {
                responeData.code = 0;
                responeData.message = ex.Message;
            }

            return responeData;
        }
        #endregion

        #region 获取项目区域的用户列表
        /// <summary>
        /// 获取项目区域的用户列表
        /// </summary>
        /// <param name="projectArea">项目区域</param>
        /// <returns></returns>
        public Model.ResponeData getUserListByProjectArea(string projectArea)
        {
            var responeData = new Model.ResponeData();
            try
            {
                responeData.data = APIUserService.getUserListByProjectArea(projectArea);
            }
            catch (Exception ex)
            {
                responeData.code = 0;
                responeData.message = ex.Message;
            }

            return responeData;
        }
        #endregion


    }
}