예제 #1
0
 public TransportRecordListModel QueryDailyTransportModel(string clientName, DateTime deliverDate, string received, string paid, string error, BusinessAreaModel area)
 {
     throw new NotImplementedException();
 }
예제 #2
0
        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);
        }