154 lines
6.1 KiB
C#
154 lines
6.1 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Net;
|
|||
|
using System.Net.Http;
|
|||
|
using System.Web.Http;
|
|||
|
using BLL;
|
|||
|
|
|||
|
namespace WebAPI.Controllers
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 会议接口
|
|||
|
/// </summary>
|
|||
|
public class MeetingController : ApiController
|
|||
|
{
|
|||
|
#region 根据MeetingId获取会议详细信息
|
|||
|
/// <summary>
|
|||
|
/// 根据MeetingId获取会议详细信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="meetingId">会议ID</param>
|
|||
|
/// <param name="meetingType">会议类型(C-班前会;W-周例会;M-例会;S-专题例会;A-其他会议)</param>
|
|||
|
/// <returns>会议详细</returns>
|
|||
|
public Model.ResponeData getMeetingByMeetingId(string meetingId, string meetingType)
|
|||
|
{
|
|||
|
var responeData = new Model.ResponeData();
|
|||
|
try
|
|||
|
{
|
|||
|
responeData.data = APIMeetingService.getMeetingByMeetingId(meetingId, meetingType);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
responeData.code = 0;
|
|||
|
responeData.message = ex.Message;
|
|||
|
}
|
|||
|
|
|||
|
return responeData;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 根据projectId\meetingType\states获取会议列表
|
|||
|
/// <summary>
|
|||
|
/// 根据projectId、meetingType获取会议列表
|
|||
|
/// </summary>
|
|||
|
/// <param name="projectId"></param>
|
|||
|
/// <param name="meetingType">会议类型(C-班前会;W-周例会;M-例会;S-专题例会;A-其他会议)</param>
|
|||
|
/// <param name="states">状态(0-待提交;1-已提交)</param>
|
|||
|
/// <param name="pageIndex">页码</param>
|
|||
|
/// <returns></returns>
|
|||
|
public Model.ResponeData getMeetingByProjectIdStates(string projectId, string meetingType, string states, int pageIndex)
|
|||
|
{
|
|||
|
var responeData = new Model.ResponeData();
|
|||
|
try
|
|||
|
{
|
|||
|
List<Model.MeetingItem> getDataList = new List<Model.MeetingItem>();
|
|||
|
int pageCount = 0;
|
|||
|
if (meetingType == "C")
|
|||
|
{
|
|||
|
pageCount = Funs.DB.Meeting_ClassMeeting.Count(x => x.ProjectId == projectId
|
|||
|
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
|
|||
|
}
|
|||
|
else if (meetingType == "W")
|
|||
|
{
|
|||
|
pageCount = Funs.DB.Meeting_WeekMeeting.Count(x => x.ProjectId == projectId
|
|||
|
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
|
|||
|
}
|
|||
|
else if (meetingType == "M")
|
|||
|
{
|
|||
|
pageCount = Funs.DB.Meeting_MonthMeeting.Count(x => x.ProjectId == projectId
|
|||
|
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
|
|||
|
}
|
|||
|
else if (meetingType == "S")
|
|||
|
{
|
|||
|
pageCount = Funs.DB.Meeting_SpecialMeeting.Count(x => x.ProjectId == projectId
|
|||
|
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pageCount = Funs.DB.Meeting_AttendMeeting.Count(x => x.ProjectId == projectId
|
|||
|
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
|
|||
|
}
|
|||
|
if (pageCount > 0 && pageIndex > 0)
|
|||
|
{
|
|||
|
getDataList = APIMeetingService.getMeetingByProjectIdStates(projectId, meetingType, states, pageIndex);
|
|||
|
}
|
|||
|
responeData.data = new { pageCount, getDataList };
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
responeData.code = 0;
|
|||
|
responeData.message = ex.Message;
|
|||
|
}
|
|||
|
|
|||
|
return responeData;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 保存Meeting
|
|||
|
/// <summary>
|
|||
|
/// 保存Meeting
|
|||
|
/// </summary>
|
|||
|
/// <param name="meeting">会议信息</param>
|
|||
|
/// <returns></returns>
|
|||
|
[HttpPost]
|
|||
|
public Model.ResponeData SaveMeeting([FromBody] Model.MeetingItem meeting)
|
|||
|
{
|
|||
|
var responeData = new Model.ResponeData();
|
|||
|
try
|
|||
|
{
|
|||
|
APIMeetingService.SaveMeeting(meeting);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
responeData.code = 0;
|
|||
|
responeData.message = ex.Message;
|
|||
|
}
|
|||
|
|
|||
|
return responeData;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 根据时间获取各单位班会情况
|
|||
|
/// <summary>
|
|||
|
/// 根据时间获取各单位班会情况
|
|||
|
/// </summary>
|
|||
|
/// <param name="projectId"></param>
|
|||
|
/// <param name="unitId">单位ID</param>
|
|||
|
/// <param name="meetingDate">日期</param>
|
|||
|
/// <param name="pageIndex">页码</param>
|
|||
|
/// <returns></returns>
|
|||
|
public Model.ResponeData getClassMeetingInfo(string projectId, string unitId, string meetingDate, int pageIndex)
|
|||
|
{
|
|||
|
var responeData = new Model.ResponeData();
|
|||
|
try
|
|||
|
{
|
|||
|
var getDataList = APIMeetingService.getClassMeetingInfo(projectId, unitId, meetingDate);
|
|||
|
int pageCount = getDataList.Count();
|
|||
|
if (pageCount > 0 && pageIndex > 0)
|
|||
|
{
|
|||
|
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
|
|||
|
}
|
|||
|
responeData.data = new { pageCount, getDataList };
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
responeData.code = 0;
|
|||
|
responeData.message = ex.Message;
|
|||
|
}
|
|||
|
|
|||
|
return responeData;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|