using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
using PalGain.Core;
|
using BatchService.Framework.Utility;
|
using sbcLabSystem.Service.Account;
|
using sbcLabSystem.Service.QC;
|
using sbcLabSystem.Data.Domain.Backstage;
|
using sbcLabSystem.Data.Domain.Account;
|
|
namespace sbcLabSystem.Models.Backstage
|
{
|
public class ShowPageViewModel
|
{
|
public ShowPageViewModel(int LabId)
|
{
|
this.LabInfo = UserRequestInfoModel.FromEntity(PalGainEngine.Instance.Resolve<AccountService>()
|
.GetUserRequestInfoQueryable().FirstOrDefault(p => p.Id == LabId));
|
this.RegList = PalGainEngine.Instance.Resolve<QCService>().GetQcDistributionRegisters()
|
.Where(p => p.LabId == LabId && ProjectId <= 4).OrderByDescending(p => p.QCDistributionInfo.DistNo).ToList()
|
.Select(p => QCDistributionRegisterInfoViewModel.FromEntity(p))
|
.ToList();
|
}
|
public static List<QCDistributionRegisterInfo> GetQCdistrLabs(int qcDistributionId)
|
{
|
var query = PalGainEngine.Instance.Resolve<QCService>().GetQcDistributionRegisters()
|
.Where(p => p.QCDistributionId == qcDistributionId && p.ProjectId <= 4);
|
var RegList = query.OrderBy(p => p.LabInfo.LabCode)
|
.ToList();
|
return RegList;
|
}
|
public ShowPageViewModel(int qcDistributionId, int pageIndex, int pageItemCount)
|
{
|
this.DoSearch(qcDistributionId, pageIndex, pageItemCount, "", "");
|
}
|
public ShowPageViewModel DoSearch(int qcDistributionId, int pageIndex, int pageItemCount,
|
string searchField, string searchValue)
|
{
|
this.QCDistInfo = QCDistributionInfoViewModel.FromEntity(PalGainEngine.Instance.Resolve<QCService>()
|
.GetQcDistributions().FirstOrDefault(p => p.Id == qcDistributionId));
|
|
var query = PalGainEngine.Instance.Resolve<QCService>().GetQcDistributionRegisters()
|
.Where(p => p.QCDistributionId == qcDistributionId && p.ProjectId <= 4);
|
if (searchField == "LabCode" && !string.IsNullOrEmpty(searchValue))
|
{
|
query = query.Where(p => p.LabInfo.LabCode == searchValue);
|
}
|
if (searchField == "LabName" && !string.IsNullOrEmpty(searchValue))
|
{
|
query = query.Where(p => p.LabInfo.CompanyName.Contains(searchValue));
|
}
|
int regListCount = query.Count();
|
this.RegList = query.OrderBy(p => p.LabInfo.LabCode)
|
.Skip((pageIndex - 1) * pageItemCount).Take(pageItemCount).ToList()
|
.Select(p => QCDistributionRegisterInfoViewModel.FromEntity(p))
|
.ToList();
|
this.PageNavInfo = new PageNavigationViewModel(pageIndex, regListCount, pageItemCount);
|
return this;
|
}
|
public ShowPageViewModel(int qcDistributionId, int LabId)
|
{
|
this.QCDistInfo = QCDistributionInfoViewModel.FromEntity(PalGainEngine.Instance.Resolve<QCService>()
|
.GetQcDistributions().FirstOrDefault(p => p.Id == qcDistributionId));
|
this.LabInfo = UserRequestInfoModel.FromEntity(PalGainEngine.Instance.Resolve<AccountService>()
|
.GetUserRequestInfoQueryable().FirstOrDefault(p => p.Id == LabId));
|
this.RegInfo = QCDistributionRegisterInfoViewModel.FromEntity(PalGainEngine.Instance.Resolve<QCService>()
|
.GetQcDistributionRegisters().FirstOrDefault(p => p.QCDistributionId == qcDistributionId &&
|
p.LabId == LabId));
|
this.ProjectId = this.RegInfo.ProjectId;
|
|
}
|
public ShowPageViewModel() { }
|
public ShowPageViewModel GetStandAnswerInfo(int qcDistributionId)
|
{
|
this.QCDistInfo = QCDistributionInfoViewModel.FromEntity(PalGainEngine.Instance.Resolve<QCService>()
|
.GetQcDistributions().FirstOrDefault(p => p.Id == qcDistributionId));
|
this.IsStandAnswerPage = true;
|
this.RegInfo = QCDistributionRegisterInfoViewModel.FromEntity(new QCDistributionRegisterInfo()
|
{
|
AnswerJSON = QCDistInfo.AnswerJSON,
|
QCDistributionId = QCDistInfo.Id,
|
ProjectId = 1,
|
});
|
this.ProjectId = 1;
|
return this;
|
}
|
public List<QCDistributionRegisterInfoViewModel> RegList { get; set; }
|
public QCDistributionInfoViewModel QCDistInfo { get; set; }
|
public UserRequestInfoModel LabInfo { get; set; }
|
public QCDistributionRegisterInfoViewModel RegInfo { get; set; }
|
public StandAnswerInfoViewModel AnswerInfo { get; set; }
|
public int ProjectId { get; set; }
|
public PageNavigationViewModel PageNavInfo { get; set; }
|
public bool IsStandAnswerPage { get; set; }
|
public bool IsAdmin { get; set; }
|
public SelectExcelCell selectList { get; set; }
|
|
}
|
|
public class SelectExcelCell
|
{
|
public int QCid { get; set; }
|
public string option1 { get; set; }
|
public string option2 { get; set; }
|
public string option3 { get; set; }
|
public string option4 { get; set; }
|
public string option5 { get; set; }
|
public string option6 { get; set; }
|
public string option7 { get; set; }
|
public string option8 { get; set; }
|
public string option9 { get; set; }
|
public string option10 { get; set; }
|
public string option11 { get; set; }
|
public string option12 { get; set; }
|
}
|
}
|