public TransportRecordListModel QueryDailyTransportModel(string clientName, DateTime deliverDate, string received, string paid, string error, BusinessAreaModel area) { throw new NotImplementedException(); }
public TransportRecordListModel QueryTransportModel(string clientName, DateTime?deliverDate, string received, string paid, string error, int pageIndex, BusinessAreaModel area) { TransportRecordListModel listModel = new TransportRecordListModel(); if (pageIndex < 1) { pageIndex = 1; } using (SQLDBDataContext context = new SQLDBDataContext()) { bool checkDeliverDate = deliverDate.HasValue; DateTime dd = DateTime.MinValue; if (checkDeliverDate) { dd = deliverDate.Value; } string areaName = string.Empty; if (area != null) { areaName = area.AreaName; } int totalCount = context.TransportRecords.Count(x => (string.IsNullOrEmpty(clientName) || x.ClientName == clientName) && (!checkDeliverDate || x.DeliverDate.Date == dd) && (string.IsNullOrEmpty(areaName) || x.BusinessArea == areaName)); listModel.TotalCount = totalCount; listModel.TotalPage = totalCount / TransportRecordListModel.PageSize; listModel.PageIndex = pageIndex; if (totalCount % TransportRecordListModel.PageSize > 0) { listModel.TotalPage++; } if (listModel.TotalPage < 1) { listModel.TotalPage = 1; } if (pageIndex > listModel.TotalPage) { pageIndex = listModel.TotalPage; } int startIndex = (pageIndex - 1) * TransportRecordListModel.PageSize; listModel.ClientName = clientName; listModel.DeliverDate = deliverDate; listModel.ItemList = (from x in context.TransportRecords orderby x.ID descending where (string.IsNullOrEmpty(clientName) || x.ClientName == clientName) && (!checkDeliverDate || x.DeliverDate.Date == dd) && (string.IsNullOrEmpty(areaName) || x.BusinessArea == areaName) && ((received == "Y" && x.Received) || (received == "N" && !x.Received) || (received != "Y" && received != "N")) && ((paid == "Y" && x.Paid) || (paid == "N" && !x.Paid) || (paid != "Y" && paid != "N")) && ((error == "Y" && x.Error) || (error == "N" && !x.Error) || (error != "Y" && error != "N")) select new TransportRecordModel() { ID = x.ID, AccountPayble = x.AccountPayble, CarLicense = x.CarLicense, ClientName = x.ClientName, Comment = x.Comment, Deductions = x.Deductions, DeliverDate = x.DeliverDate, DeliverPrice = x.DeliverPrice, DeliverType = x.DeliverType, Driver = x.Driver, FromLocation = x.FromLocation, HandlingFee = x.HandlingFee, PackageName = x.PackageName, PayDate = x.PayDate, PrePay = x.PrePay, Quantity = x.Quantity, Reparations = x.Reparations, ShortBargeFee = x.ShortBargeFee, Status = x.Status, ToLocation = x.ToLocation, Volume = x.Volume, TrayNo = x.TrayNo, OilCard = x.OilCard, BusinessArea = x.BusinessArea, Error = x.Error, Paid = x.Paid, Received = x.Received, ReceivedDate = x.ReceivedDate, HistoryItem = (from y in x.TransportRecordsOptionHistory orderby y.LogDateTime select new TransportRecordsHistoryModel() { Description = y.Description, LogDateTime = y.LogDateTime, Operation = y.Operation, TransportRecordID = y.TransportRecordID, UserID = y.UserID, User = new UserModel() { Comment = y.Users.Comment, CreateDateTime = y.Users.CreateDateTime, LastLoginIP = y.Users.LastLoginIP, LastLoginTime = y.Users.LastLoginTime, AreaID = y.Users.AreaID, Area = new BusinessAreaModel() { AreaName = y.Users.BusinessArea.AreaName, ID = y.Users.BusinessArea.ID }, Name = y.Users.Name, Password = y.Users.Password, RoleID = y.Users.RoleId, UserID = y.Users.UserID, Role = new RoleModel() { RoleID = y.Users.Roles.RoleID, RoleName = y.Users.Roles.RoleName } } }).ToList() }).Skip(startIndex).Take(TransportRecordListModel.PageSize).ToList(); } return(listModel); }