示例#1
0
        private void RemoveEmptyRowFromList(PurchaseOrderDetailCollection list)
        {
            int maxId = list.Count - 1;
            while (maxId >= 0)
            {
                PurchaseOrderDetail orderDetail = list[maxId];

                if (orderDetail.Product == null
                    || orderDetail.Product.ProductMaster == null
                   || string.IsNullOrEmpty(orderDetail.Product.ProductMaster.ProductMasterId))
                {
                    list.RemoveAt(maxId);
                }
                maxId -= 1;
            }

            if (list.Count < 2)
            {
                return;
            }
            for (int i = 0; i < list.Count - 1; i++)
            {
                PurchaseOrderDetail detail = (PurchaseOrderDetail)list[i];
                for (int j = list.Count - 1; j >= i + 1; j--)
                {
                    PurchaseOrderDetail compdetail = (PurchaseOrderDetail)list[j];
                    if (detail.Product.ProductId == compdetail.Product.ProductId
                        && (detail.PurchaseOrderDetailPK!=null && compdetail.PurchaseOrderDetailPK!= null)
                        && compdetail.PurchaseOrderDetailPK.PurchaseOrderId == detail.PurchaseOrderDetailPK.PurchaseOrderId)
                    {
                        detail.Quantity += compdetail.Quantity;
                        list.RemoveAt(j);
                    }
                }
            }
        }
示例#2
0
 private void RemoveReturnPurchaseOrder(PurchaseOrderDetail detail, ref PurchaseOrderDetailCollection list, out int index)
 {
     for (int i = 0; i < list.Count; i++)
     {
         PurchaseOrderDetail orderDetail = list[i];
         if (orderDetail.PurchaseOrderDetailPK.PurchaseOrderDetailId == detail.PurchaseOrderDetailPK.PurchaseOrderDetailId
             && orderDetail.PurchaseOrderDetailPK.DepartmentId == detail.PurchaseOrderDetailPK.DepartmentId
             && orderDetail.PurchaseOrderDetailPK.PurchaseOrderId == detail.PurchaseOrderDetailPK.PurchaseOrderId
             )
         {
             list.RemoveAt(i);
             index = i;
             return;
         }
     }
     index = 0;
 }
示例#3
0
 private void RemoveEmptyAndDuplicateRowFromList(PurchaseOrderDetailCollection list)
 {
     int maxId = list.Count - 1;
     while(maxId >= 0)
     {
         PurchaseOrderDetail detail = (PurchaseOrderDetail) list[maxId];
         if(string.IsNullOrEmpty(detail.Product.ProductMaster.ProductName))
         {
             list.RemoveAt(maxId);
         }
         maxId -= 1;
     }
     if(list.Count < 2)
     {
         return;
     }
     for(int i = 0;i<list.Count - 1;i++)
     {
         PurchaseOrderDetail detail = (PurchaseOrderDetail)list[i];
         for(int j = list.Count-1;j>=i+1;j--)
         {
             PurchaseOrderDetail compdetail = (PurchaseOrderDetail)list[j];
             if(detail.Product.ProductId == compdetail.Product.ProductId)
             {
                 detail.Quantity += compdetail.Quantity;
                 list.RemoveAt(j);
             }
         }
     }
 }