private IPagedList<Inspect> QueryInspect(InspectQueryModel query, int? currentPageIndex, int? pageSize)
 {
     IPagedList<Inspect> inspects;
     using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString))
     {
         IInspectRep inspectRep = new InspectRep(unitOfWork);
         inspects = GenerateQuery(unitOfWork, query).ToPagedList(currentPageIndex.Value, pageSize.Value);
     }
     return inspects;
 }
 private IQueryable<Inspect> GenerateQuery(IUnitOfWork unitOfWork, InspectQueryModel query)
 {
     IInspectRep inspectRep = new InspectRep(unitOfWork);
     return inspectRep.Queryable().Where(item => (string.IsNullOrEmpty(query.TskNo) ? true : item.TskNo.Contains(query.TskNo))
         && (string.IsNullOrEmpty(query.LeoniNo) ? true : item.LeoniNo.Contains(query.LeoniNo))
         && (string.IsNullOrEmpty(query.CusNo) ? true : item.CusNo.Contains(query.CusNo))
         && (string.IsNullOrEmpty(query.ClipScanNo) ? true : item.ClipScanNo.Contains(query.ClipScanNo))
         && ((query.ClipScanTime1Start.HasValue) ? item.ClipScanTime1 >= query.ClipScanTime1Start : true)
         && ((query.ClipScanTime1End.HasValue) ? item.ClipScanTime1 <= query.ClipScanTime1End : true)
         && ((query.ClipScanTime2Start.HasValue) ? item.ClipScanTime2 >= query.ClipScanTime2Start : true)
         && ((query.ClipScanTime2End.HasValue) ? item.ClipScanTime2 <= query.ClipScanTime2End : true)
         && (string.IsNullOrEmpty(query.TskScanNo) ? true : item.TskScanNo.Contains(query.TskScanNo))
         && ((query.TskScanTime3Start.HasValue) ? item.TskScanTime3 >= query.TskScanTime3Start : true)
         && ((query.TskScanTime3End.HasValue) ? item.TskScanTime3 <= query.TskScanTime3End : true)
         && ((query.Time3MinTime2Start.HasValue) ? item.Time3MinTime2 >= query.Time3MinTime2Start : true)
         && ((query.Time3MinTime2End.HasValue) ? item.Time3MinTime2 <= query.Time3MinTime2End : true)
         && (query.CreatedAtStart.HasValue ? item.CreatedAt >= query.CreatedAtStart : true)
         && (query.CreatedAtEnd.HasValue ? item.CreatedAt <= query.CreatedAtEnd : true)
         && (string.IsNullOrEmpty(query.OkOrNot) ? true : item.OkOrNot.Contains(query.OkOrNot))
         );
 }
        public ActionResult Index(int? page)
        {
            DateTime dt = DateTime.Now;
            DateTime endTime = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));
            NameValueCollection q = new NameValueCollection();
            q.Add("ClipScanTime1Start", endTime.AddDays(-1).ToString("yyyy/MM/dd 10:00"));
            q.Add("ClipScanTime1End", DateTime.Now.AddHours(1).ToString("yyyy/MM/dd HH:00"));
            InspectQueryModel query = new InspectQueryModel(q);

            IPagedList<Inspect> inspects = null;
            using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString))
            {
                int currentPageIndex = page.HasValue ? (page.Value <= 0 ? 0 : page.Value - 1) : 0;
                IInspectRep inspectRep = new InspectRep(unitOfWork);
                inspects = inspectRep.Queryable(query.ClipScanTime1Start,query.ClipScanTime1End).ToPagedList(currentPageIndex, int.Parse(Resources.PageSize));
            }
            ViewBag.Query = query;
            return View(inspects);
        }
 private List<Inspect> ExportInspect(InspectQueryModel query)
 {
     List<Inspect> inspects = new List<Inspect>();
     using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString))
     {
         IInspectRep inspectRep = new InspectRep(unitOfWork);
         inspects = GenerateQuery(unitOfWork, query).ToList<Inspect>();
     }
     return inspects;
 }
        public ProcessMessage CreateInspect(string text)
        {
            ProcessMessage message = new ProcessMessage();
            try
            {
                using (IUnitOfWork unitOfWork = new TskDataDataContext(MSSqlConfig.ConnectionString))
                {
                    IInspectOriginRep inspectOriginRep = new InspectOriginRep(unitOfWork);
                    InspectOrigin inspectOrigin = new InspectOrigin()
                    {
                        Id = Guid.NewGuid(),
                        Text = text,
                        CreatedAt = DateTime.Now
                    };

                    if (text == null || text.Length == 0 || text.Split(TskConfig.DataSpliter).Length != TskConfig.DataCount)
                    {
                        message.Result = false;
                        message.Messages.Add("数据为空或数据格式不存在");
                        if (!string.IsNullOrEmpty(text))
                        {
                            message.Messages.Add("数据属性长度为:" + text.Split(TskConfig.DataSpliter).Length.ToString());
                            message.Messages.Add("分隔符为:" + TskConfig.DataSpliter.ToString());
                        }
                        LogUtil.Logger.Error(message.GetMessageContent());
                    }
                    else
                    {

                        IInspectRep inspectRep = new InspectRep(unitOfWork);
                        string[] data = text.Split(TskConfig.DataSpliter);
                        Inspect inspect = new Inspect()
                        {
                            Id = Guid.NewGuid(),
                            TskNo = data[0],
                            LeoniNo = data[1],
                            CusNo = data[2],
                            ClipScanNo = data[3],
                          //  ClipScanTime1 = data[4],
                           // ClipScanTime2 = data[6],
                            TskScanNo = data[7],
                           // TskScanTime3 = data[8],
                           // Time3MinTime2 = data[9],
                            OkOrNot = data[10],
                            CreatedAt = DateTime.Now,
                            OriginId = inspectOrigin.Id
                        };
                        DateTime clipScanTime1 = DateTime.Now;
                        if (DateTime.TryParse(data[4], out clipScanTime1))
                        {
                            inspect.ClipScanTime1 = clipScanTime1;
                        }

                        DateTime clipScanTime2 = DateTime.Now;
                        if (DateTime.TryParse(data[6], out clipScanTime2))
                        {
                            inspect.ClipScanTime2 = clipScanTime2;
                        }

                        DateTime tskScanTime3 = DateTime.Now;
                        if (DateTime.TryParse(data[8], out tskScanTime3))
                        {
                            inspect.TskScanTime3 = tskScanTime3;
                        }

                        float time3MinTime2 = 0;
                        if (float.TryParse(data[9], out time3MinTime2)) {
                            inspect.Time3MinTime2 = time3MinTime2;
                        }

                        inspectRep.Create(inspect);
                        message.Messages.Add("数据处理成功");
                        message.Result = true;
                    }

                    inspectOrigin.ProcessResult = message.Result;
                    inspectOrigin.ProcessMessage = message.GetMessageContent();
                    inspectOriginRep.Create(inspectOrigin);

                    unitOfWork.Submit();
                }
                return message;
            }
            catch (Exception e)
            {
                LogUtil.Logger.Error(e.Message);
                throw e;
            }
        }