示例#1
0
        public List<DesignRequestBO> GetDesignRequests(DesignRequestSearch searchObj)
        {
            using (var context = new InThuDoEntities())
            {
                var query = (from dr in context.DesignRequests
                             join od in context.OrderItems on dr.OrderItemId equals od.OrderItemId
                             join o in context.Orders on od.OrderId equals o.OrderId
                             where
                             (dr.Deleted == null || dr.Deleted == false) &&
                             (searchObj.CustomerId == 0 || o.CustomerId == searchObj.CustomerId) &&
                             (searchObj.ProductId == 0 || od.ProductId == searchObj.ProductId) &&
                             (searchObj.DesignerId == 0 || dr.DesignerId == searchObj.DesignerId) &&
                             (searchObj.RequestFrom == null || dr.BeginDate >= searchObj.RequestFrom) &&
                             (searchObj.RequestTo == null || dr.EndDate <= searchObj.RequestTo)
                             select new DesignRequestBO()
                             {
                                 DesignRequestId = dr.DesignRequestId,
                                 Description = dr.Description,
                                 DesignerId = dr.DesignerId,
                                 BeginDate = dr.BeginDate,
                                 EndDate = dr.EndDate,
                                 Cost = dr.Cost,
                                 CreatedBy = dr.CreatedBy,
                                 CreatedOn = dr.CreatedOn,
                                 LastEditedBy = dr.LastEditedBy,
                                 LastEditedOn = dr.LastEditedOn,
                                 OrderItemId = dr.OrderItemId,
                                 ApprovedByCustomer = dr.ApprovedByCustomer,
                                 Note = dr.Note,
                                 ApprovedDate = dr.ApprovedDate,
                                 OrderId = o.OrderId,
                                 OrderDate = o.OrderDate,
                                 ProductName = od.Product.Name,
                                 OrderItem = new OrderItemlBO()
                                 {
                                     OrderItemId = od.OrderItemId
                                 }
                             }).Distinct().ToList();

                var orders = from o in context.Orders
                             join od in context.OrderItems on o.OrderId equals od.OrderId
                             join dr in context.DesignRequests on od.OrderItemId equals dr.OrderItemId
                             select o;

                var orderDetails = (from od in context.OrderItems
                                    join o in orders on od.OrderId equals o.OrderId
                                    where
                                    (od.Deleted == false || od.Deleted == null)
                                    select new OrderItemlBO()
                                    {
                                        OrderItemId = od.OrderItemId,
                                    }).Distinct().ToList();
                foreach (OrderItemlBO od in orderDetails)
                {
                    od.OrderItemStatus = this.GetOrderItemStatusIncludedOverDue(od.OrderItemId);
                }

                if (searchObj.DesignRequestStatus != 0)
                {
                    query = (from q in query
                             where
                             q.DesignRequestStatus == searchObj.DesignRequestStatus
                             select q).ToList();

                }

                foreach (DesignRequestBO dr in query)
                {
                    dr.OrderItem.OrderItemStatus = this.GetOrderItemStatusIncludedOverDue(dr.OrderItem.OrderItemId);
                }

                return query;

            }
        }
示例#2
0
 public List<DesignRequestBO> GetDesignRequests(DesignRequestSearch searchObj)
 {
     return orderDao.GetDesignRequests(searchObj);
 }
        protected void btFind_Click(object sender, EventArgs e)
        {
            DateTime? requestFrom = ctrlDatePickerFrom.SelectedDate;

            DateTime? requestTo = ctrlDatePickerTo.SelectedDate;

            int custId = 0;
            int.TryParse(ctrlCustomerSelect.CustomerId, out custId);

            int productId = 0;
            int.TryParse(ddlProducts.SelectedValue, out productId);

            int designRequestStatus = 0;
            int.TryParse(ddlDesignRequestStatus.SelectedValue, out designRequestStatus);

            int designerId = 0;
            int.TryParse(ddlDesigner.SelectedValue, out designerId);

            DesignRequestSearch searchObj = new DesignRequestSearch()
            {
                RequestFrom = requestFrom,
                RequestTo = requestTo,
                CustomerId = custId,
                ProductId = productId,
                DesignRequestStatus = (DesignRequestStatusEnum)designRequestStatus,
                DesignerId = designerId
            };

            List<DesignRequestBO> designRequests = this.OrderService.GetDesignRequests(searchObj);
            grvDesignRequest.DataSource = designRequests;
            grvDesignRequest.DataBind();

            List<OrderItemlBO> orderDetail = new List<OrderItemlBO>();
            foreach(DesignRequestBO dr in designRequests)
            {
                orderDetail.Add(this.OrderService.GetOrderDetailById(dr.OrderItemId));
            }

            lbTotalRequest.Text = designRequests.Count.ToString();
            lbTotalDesignRequestCreated.Text = designRequests.Where(od => od.DesignRequestStatus == DesignRequestStatusEnum.DesignRequestCreated).Count().ToString();
            lbTotalDesignRequestDesigning.Text = designRequests.Where(od => od.DesignRequestStatus == DesignRequestStatusEnum.Designing).Count().ToString();
            lbTotalDesignRequestWaitForApproved.Text = designRequests.Where(od => od.DesignRequestStatus == DesignRequestStatusEnum.DesignCopmleted).Count().ToString();
            lbTotalDesignRequestApproved.Text = designRequests.Where(od => od.DesignRequestStatus == DesignRequestStatusEnum.DesignApprovedByCustomer).Count().ToString();
            lbTotalDesignRequestNOTApproved.Text = designRequests.Where(od => od.DesignRequestStatus == DesignRequestStatusEnum.DesignNotApproved).Count().ToString();
        }