Esempio n. 1
0
        public DRFillDetailInfo getDetailsAcceptanceByProposalID(int id)
        {
            DRFillDetailInfo     proposalDetail = new DRFillDetailInfo();
            SqlConnectionFactory sqlConnection  = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                proposalDetail       = ProposalDataLayer.GetInstance().getDetailsForDR(connection, id);
                proposalDetail.Items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection, proposalDetail.QuoteID);
                proposalDetail.DeliveryReceiptItems = DeliveryReceiptDataLayer.GetInstance().getDetailsAcceptanceByProposalID(connection, id);

                return(proposalDetail);
            }
        }
Esempio n. 2
0
        public DRFillDetailInfo getDetailsForDR(int id)
        {
            DRFillDetailInfo     proposalDetail = new DRFillDetailInfo();
            SqlConnectionFactory sqlConnection  = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                proposalDetail       = ProposalDataLayer.GetInstance().getDetailsForDR(connection, id);
                proposalDetail.Items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection, proposalDetail.QuoteID);

                string IDs = "( ";
                foreach (var item in proposalDetail.Items)
                {
                    IDs += item.QuoteItemID.ToString() + " ,";
                }

                IDs  = IDs.Remove(IDs.Length - 1);
                IDs += " )";
                List <DeliveryReceiptItemInfoNew> deliveryReceiptItems = DeliveryReceiptDataLayer.GetInstance().getItemsByQuoteIDs(connection, IDs);

                foreach (var DRitem in deliveryReceiptItems)
                {
                    for (int i = 0; i < proposalDetail.Items.Count;)
                    {
                        if (DRitem.QuoteItemID == proposalDetail.Items[i].QuoteItemID)
                        {
                            proposalDetail.Items[i].Amount = proposalDetail.Items[i].Amount - DRitem.Amount;
                        }
                        if (proposalDetail.Items[i].Amount > 0)
                        {
                            i++;
                        }
                        else
                        {
                            proposalDetail.Items.RemoveAt(i);
                        }
                    }
                }

                //todo
                return(proposalDetail);
            }
        }