public Domain.Request FindSingle(int requestID)
        {
            var request = new Domain.Request();
            var order   = new Order();

            order.LoadByPrimaryKey(requestID);

            request.RequestID     = order.ID;
            request.OrderNumber   = order.RefNo;
            request.LetterNumber  = !order.IsColumnNull("LetterNo") ? order.LetterNo : "";
            request.RequestedDate = order.EurDate;

            request.Client      = _clientRepository.FindSingle(order.RequestedBy);
            request.Mode        = _modeService.GetEnum(order.FromStore);
            request.PaymentTerm = _paymentTermService.FindSingle(order.PaymentTypeID);
            request.OrderStatus = _orderStatusService.GetEnum(order.OrderStatusID);

            var orderDetail = new OrderDetail();

            orderDetail.LoadAllByOrderID(requestID);
            orderDetail.Rewind();
            request.RequestDetails = new Collection <Domain.RequestDetail>();
            while (!orderDetail.EOF)
            {
                var item          = _itemRepository.FindSingle(orderDetail.ItemID);
                var unitOfIssue   = _unitOfIssueRepository.FindSingle(orderDetail.UnitID);
                var requestDetail = new Domain.RequestDetail()
                {
                    RequestDetailId   = orderDetail.ID,
                    Item              = item,
                    Unit              = unitOfIssue,
                    RequestedQuantity = orderDetail.Pack,
                    ApprovedQuantity  = !orderDetail.IsColumnNull("ApprovedQuantity") ? orderDetail.ApprovedQuantity : orderDetail.Pack,
                    IsFirstLoad       = orderDetail.IsColumnNull("ApprovedQuantity"),
                    ActivityGroup     = orderDetail.IsColumnNull(OrderDetail.ColumnNames.StoreID)?null:_activityRepository.FindSingle(orderDetail.StoreID, orderDetail.DeliveryNote),
                    ExpiryDate        =
                        !orderDetail.IsColumnNull("PreferredExpiryDate")
                                                    ? orderDetail.PreferredExpiryDate
                                                    : (DateTime?)null,
                    Manufacturer =
                        !orderDetail.IsColumnNull("PreferredManufacturerID")
                                                    ? _manufacturerRepository.FindSingle(
                            orderDetail.PreferredManufacturerID)
                                                    : null,
                    physicalStore =
                        !orderDetail.IsColumnNull("PreferredPhysicalStoreID")
                                                    ? _physicalStoreRepository.FindSingle(
                            orderDetail.PreferredPhysicalStoreID)
                                                    : null
                };
                request.RequestDetails.Add(requestDetail);
                orderDetail.MoveNext();
            }



            return(request);
        }
Пример #2
0
        public ICollection <StockInformation> GetStockInformationByOrderID(int orderId)
        {
            var balance = new Balance();
            var stockInformationTable = balance.GetBalanceByOrder(orderId, CurrentContext.UserId);
            ICollection <StockInformation> stockInformations = new Collection <StockInformation>();

            foreach (DataRowView stockInformationRow in stockInformationTable)
            {
                var itemID = Convert.ToInt32(stockInformationRow["ItemID"]);
                var unitID = Convert.ToInt32(stockInformationRow["UnitID"]);

                var stockInformation = new StockInformation
                {
                    Item         = _itemRepository.FindSingle(Convert.ToInt32(itemID)),
                    Unit         = _unitOfIssueRepository.FindSingle(Convert.ToInt32(unitID)),
                    Manufacturer =
                        DBNull.Value != stockInformationRow["ManufacturerId"]
                                                       ? _manufacturerRepository.FindSingle(
                            Convert.ToInt32(stockInformationRow["ManufacturerId"]))
                                                       : null,
                    Activity =
                        _activityRepository.FindSingle(
                            Convert.ToInt32(stockInformationRow["ActivityID"]),
                            Convert.ToBoolean(stockInformationRow["DeliveryNote"])),
                    ExpiryDate =
                        DBNull.Value != stockInformationRow["ExpiryDate"]
                                                       ? Convert.ToDateTime(stockInformationRow["ExpiryDate"])
                                                       : (DateTime?)null,
                    PhysicalStore =
                        DBNull.Value != stockInformationRow["PhysicalStoreID"]
                                                       ? _physicalStoreRepository.FindSingle(
                            Convert.ToInt32(stockInformationRow["PhysicalStoreID"]))
                                                       : null,
                    Quantity = Convert.ToDecimal(stockInformationRow["Usable"])
                };
                stockInformations.Add(stockInformation);
            }
            return(stockInformations);
        }