using PalGain.Core;
|
using sbcLabSystem.Data.Domain.Account;
|
using sbcLabSystem.Data.Domain.Backstage;
|
using sbcLabSystem.Service.Account;
|
using sbcLabSystem.Service.QC;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
|
namespace sbcLabSystem.Models.Backstage
|
{
|
public class EmileMassViewModel
|
{
|
public List<UserRequestInfoModel> UserRequestInfoList { get; set; }
|
|
public Menus Menus { get; set; }
|
public int PageCount { get; set; }
|
public int CurrentPageIndex = 1;
|
public List<int> Pages = new List<int>();
|
//搜索条件实验室名
|
public string LabName { get; set; }
|
//搜索条件所在城市
|
public string Province1 { get; set; }
|
//质品号
|
public int QCId { get; set; }
|
//项目ID
|
public int ProjectId { get; set; }
|
public List<QCDistributionInfoViewModel> QCDistributionList { get; set; }
|
public static EmileMassViewModel GetEmileMassViewModel(int PageIndex, string QCId, string ProjectId, string LabNames, string Provinces)
|
{
|
|
EmileMassViewModel viewModel = new EmileMassViewModel();
|
viewModel.QCDistributionList = PalGainEngine.Instance.Resolve<QCService>().GetQcDistributions().ToList().Select(p => QCDistributionInfoViewModel.FromEntity(p)).ToList();
|
int newsCount =0;
|
int offset = PageIndex - 1;
|
int capacity = 5;
|
List<UserRequestInfoModel> UserList = new List<UserRequestInfoModel>();
|
UserList = PalGainEngine.Instance.Resolve<AccountService>().GetUserRequestInfo()
|
.Select(p => UserRequestInfoModel.FromEntity(p)).ToList();
|
if (string.IsNullOrEmpty(QCId) == false && QCId != "undefined")
|
{
|
if (int.Parse(QCId) > 0)
|
{
|
viewModel.QCId = int.Parse(QCId);
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
List<QCDistributionRegisterInfo>list = PalGainEngine.Instance.Resolve<QCService>().GetId(int.Parse(QCId)).QCDistributionRegisters;
|
list.ForEach(info =>
|
{
|
Userliet2.Add(UserRequestInfoModel.FromEntity(info.LabInfo));
|
});
|
UserList = Userliet2;
|
}
|
}
|
if (string.IsNullOrEmpty(ProjectId) == false)
|
{
|
if (int.Parse(ProjectId) > 0)
|
{
|
viewModel.ProjectId = int.Parse(ProjectId);
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
UserList.ForEach(info =>
|
{
|
if (info.ProjectId == int.Parse(ProjectId))
|
{
|
Userliet2.Add(info);
|
}
|
});
|
UserList = Userliet2;
|
}
|
}
|
if (string.IsNullOrEmpty(LabNames) == false && LabNames!="null")
|
{
|
viewModel.LabName = LabNames;
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
UserList.ForEach(info =>
|
{
|
if (string.IsNullOrEmpty(info.LabName) == false)
|
{
|
if (info.LabName.Contains(LabNames))
|
{
|
Userliet2.Add(info);
|
}
|
}
|
|
});
|
UserList = Userliet2;
|
}
|
if (string.IsNullOrEmpty(Provinces) == false && Provinces!="null")
|
{
|
viewModel.Province1 = Provinces;
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
UserList.ForEach(info =>
|
{
|
if (string.IsNullOrEmpty(info.Province) == false)
|
{
|
if (info.Province.Contains(Provinces))
|
{
|
Userliet2.Add(info);
|
}
|
}
|
|
});
|
UserList = Userliet2;
|
}
|
newsCount = UserList.Count;
|
|
viewModel.UserRequestInfoList = UserList.Skip(offset * capacity).Take(capacity).ToList();
|
viewModel.PageCount = newsCount / capacity;
|
if (newsCount % capacity > 0)
|
{
|
viewModel.PageCount++;
|
}
|
|
viewModel.Pages.Add(0);
|
for (int i = PageIndex - 2; i < PageIndex; i++)
|
{
|
if (i <= 0)
|
{
|
continue;
|
}
|
viewModel.Pages.Add(i);
|
}
|
for (int i = PageIndex; i <= PageIndex + 2; i++)
|
{
|
if (i >= viewModel.PageCount)
|
{
|
break;
|
}
|
viewModel.Pages.Add(i);
|
}
|
viewModel.Pages.Add(viewModel.PageCount);
|
return viewModel;
|
}
|
|
public static EmileMassViewModel GetEmileMassViewModel(string QCId, string ProjectId, string LabNames, string Provinces)
|
{
|
|
EmileMassViewModel viewModel = new EmileMassViewModel();
|
List<UserRequestInfoModel> UserList = new List<UserRequestInfoModel>();
|
UserList = PalGainEngine.Instance.Resolve<AccountService>().GetUserRequestInfo()
|
.Select(p => UserRequestInfoModel.FromEntity(p)).ToList();
|
if (string.IsNullOrEmpty(QCId) == false && QCId != "undefined")
|
{
|
if (int.Parse(QCId) > 0)
|
{
|
viewModel.QCId = int.Parse(QCId);
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
List<QCDistributionRegisterInfo> list = PalGainEngine.Instance.Resolve<QCService>().GetId(int.Parse(QCId)).QCDistributionRegisters;
|
list.ForEach(info =>
|
{
|
Userliet2.Add(UserRequestInfoModel.FromEntity(info.LabInfo));
|
});
|
UserList = Userliet2;
|
}
|
}
|
if (string.IsNullOrEmpty(ProjectId) == false)
|
{
|
if (int.Parse(ProjectId) > 0)
|
{
|
viewModel.ProjectId = int.Parse(ProjectId);
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
UserList.ForEach(info =>
|
{
|
if (info.ProjectId == int.Parse(ProjectId))
|
{
|
Userliet2.Add(info);
|
}
|
});
|
UserList = Userliet2;
|
}
|
}
|
if (string.IsNullOrEmpty(LabNames) == false && LabNames != "null")
|
{
|
viewModel.LabName = LabNames;
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
UserList.ForEach(info =>
|
{
|
if (string.IsNullOrEmpty(info.LabName) == false)
|
{
|
if (info.LabName.Contains(LabNames))
|
{
|
Userliet2.Add(info);
|
}
|
}
|
|
});
|
UserList = Userliet2;
|
}
|
if (string.IsNullOrEmpty(Provinces) == false && Provinces != "null")
|
{
|
viewModel.Province1 = Provinces;
|
List<UserRequestInfoModel> Userliet2 = new List<UserRequestInfoModel>();
|
UserList.ForEach(info =>
|
{
|
if (string.IsNullOrEmpty(info.Province) == false)
|
{
|
if (info.Province.Contains(Provinces))
|
{
|
Userliet2.Add(info);
|
}
|
}
|
|
});
|
UserList = Userliet2;
|
}
|
|
viewModel.UserRequestInfoList = UserList;
|
return viewModel;
|
}
|
}
|
}
|