Esempio n. 1
0
    public Billing[] getBilling(GetBillingRequest request)
    {
        DetachedCriteria criteria = DetachedCriteria.For <Bill>();

        if (request.orderby != null)
        {
            RequestOrderByHelper.ConverToCriteria(request.orderby, orderbyFiledsMapping, criteria);
        }

        IList <Bill>   billList    = TheCriteriaMgr.FindAll <Bill>(criteria, request.beginRowIndex, request.beginRowIndex + request.rowSize);
        List <Billing> billingList = new List <Billing>();

        foreach (Bill bill in billList)
        {
            Billing billing = fillBill(bill);
            foreach (BillDetail billDetail in bill.BillDetails)
            {
                BillingItem billingItem = fillBillDetail(billDetail);
                billing.AddBillingItem(billingItem);
            }
            billingList.Add(billing);
        }

        return(billingList.ToArray());
    }
Esempio n. 2
0
    public RequisitionOrder[] getRequisitionOrder(GetRequisitionOrderRequest request)
    {
        DetachedCriteria criteria = DetachedCriteria.For <OrderHead>();

        if (request.orderby != null)
        {
            RequestOrderByHelper.ConverToCriteria(request.orderby, orderbyFiledsMapping, criteria);
        }

        if (request.requisitionOrderNo != null && request.requisitionOrderNo != string.Empty)
        {
            criteria.Add(Expression.Eq("OrderNo", request.requisitionOrderNo));
            request.rowSize = 1;
        }
        else
        {
            if (request.requisitionOrderStatus != null && request.requisitionOrderStatus.Length > 0)
            {
                for (int i = 0; i < request.requisitionOrderStatus.Count(); i++)
                {
                    if (request.requisitionOrderStatus[i] == "In_Process")
                    {
                        request.requisitionOrderStatus[i] = BusinessConstants.CODE_MASTER_STATUS_VALUE_INPROCESS;
                    }
                }

                criteria.Add(Expression.In("Status", request.requisitionOrderStatus));
            }
            else
            {
                criteria.Add(Expression.Not(Expression.Eq("Status", BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE)));
            }
        }

        if (request.supplier != null && request.supplier != string.Empty)
        {
            criteria.Add(Expression.Like("PartyFrom.Name", request.supplier));
        }

        if (request.supplierPartyCode != null && request.supplierPartyCode != string.Empty)
        {
            criteria.Add(Expression.Eq("PartyFrom.Code", request.supplierPartyCode));
        }

        if (request.customer != null && request.customer != string.Empty)
        {
            criteria.Add(Expression.Like("PartyTo.Name", request.supplierPartyCode));
        }

        if (request.customerPartyCode != null && request.customerPartyCode != string.Empty)
        {
            criteria.Add(Expression.Eq("PartyTo.Code", request.customerPartyCode));
        }

        if (request.effectiveDateFromSpecified)
        {
            criteria.Add(Expression.Ge("ReleaseDate", request.effectiveDateFrom));
        }

        if (request.effectiveDateToSpecified)
        {
            criteria.Add(Expression.Le("ReleaseDate", request.effectiveDateTo));
        }


        IList <OrderHead>       orderHeadList = TheCriteriaMgr.FindAll <OrderHead>(criteria, request.beginRowIndex, request.beginRowIndex + request.rowSize);
        List <RequisitionOrder> orderList     = new List <RequisitionOrder>();

        foreach (OrderHead orderHead in orderHeadList)
        {
            RequisitionOrder requisitionOrder = fillOrderHead(orderHead);
            foreach (OrderDetail orderDetail in orderHead.OrderDetails)
            {
                RequisitionOrderItem requisitionOrderItem = fillOrderDetail(orderDetail);
                requisitionOrder.addRequisitionOrderItem(requisitionOrderItem);
            }
            orderList.Add(requisitionOrder);
        }

        return(orderList.ToArray());
    }