示例#1
0
 public GoodsSaleForm()
 {
     InitializeComponent();
     pODList = new PurchaseOrderDetailCollection(bdsBill);
     bdsBill.DataSource = pODList;
     dgvBill.DataError += new DataGridViewDataErrorEventHandler(dgvBill_DataError);
 }
        public bool DeletePurchaseInvoiceHeader(int purchaseOrderID)
        {
            IDBManager dbm = new DBManager();

            try
            {
                dbm.CreateParameters(1);
                dbm.AddParameters(0, "@InvoiceID", purchaseOrderID);
                dbm.ExecuteNonQuery(CommandType.StoredProcedure, "DeletePurchaseInvoiceHeader");
                //find the purchaseorderdetailid to delete all the line associated with orderid
                PurchaseOrderDetailData       pod = new PurchaseOrderDetailData();
                PurchaseOrderDetailCollection col = new PurchaseOrderDetailCollection();
                col = pod.GetAllPurchaseOrderDetailCollection(purchaseOrderID);
                if (!pod.DeletePurchaseOrderDetail(col))
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                log.Write(ex.Message, "DeletePurchaseInvoiceHeader");
                throw (ex);
            }
            finally
            {
                dbm.Dispose();
            }
            return(true);
        }
示例#3
0
 public GoodsSaleForm()
 {
     InitializeComponent();
     pODList = new PurchaseOrderDetailCollection(bdsBill);
     bdsBill.DataSource = pODList;
     dgvBill.DataError += new DataGridViewDataErrorEventHandler(dgvBill_DataError);
     txtBillDate.Text = DateTime.Now.ToString("dd/MM/yyyy");
 }
示例#4
0
        public bool DeletePurchaseOrderDetail(PurchaseOrderDetailCollection col)
        {
            try
            {
                foreach (PurchaseOrderDetail pod in col)
                {
                    DeletePurchaseOrderDetail(pod.PurchaseOrderDetailID);
                }
            }
            catch (Exception ex)
            {
                log.Write(ex.Message, "DeletePurchaseOrderDetail");
                throw (ex);
            }

            return(true);
        }
示例#5
0
        public GoodsSaleReturnForm()
        {
            InitializeComponent();
            pODList = new PurchaseOrderDetailCollection(bdsBill);
            bdsBill.DataSource = pODList;

            pODReturnList = new PurchaseOrderDetailCollection(bdsReturnBill);
            bdsReturnBill.DataSource = pODReturnList;

            pODNewList = new PurchaseOrderDetailCollection(bdsNewBill);
            bdsNewBill.DataSource = pODNewList;

            txtDepartment.Text = CurrentDepartment.Get().DepartmentName;
            txtEmployee.Text = ClientInfo.getInstance().LoggedUser.Name;
            txtWorkingTime.Text = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss");

            txtBillNumber.Text = "";
            txtBillDate.Text = "";
        }
示例#6
0
        public PurchaseOrderDetailCollection GetAllPurchaseOrderDetailDynamicCollection(string whereExpression, string orderBy)
        {
            IDBManager dbm = new DBManager();
            PurchaseOrderDetailCollection cols = new PurchaseOrderDetailCollection();

            try
            {
                dbm.CreateParameters(2);
                dbm.AddParameters(0, "@WhereCondition", whereExpression);
                dbm.AddParameters(1, "@OrderByExpression", orderBy);
                IDataReader reader = dbm.ExecuteReader(CommandType.StoredProcedure, "SelectPurchaseOrderDetailsDynamic");
                while (reader.Read())
                {
                    PurchaseOrderDetail purchaseOrderDetail = new PurchaseOrderDetail();

                    purchaseOrderDetail.PurchaseOrderID       = Int32.Parse(reader["PurchaseOrderID"].ToString());
                    purchaseOrderDetail.PurchaseOrderDetailID = Int32.Parse(reader["PurchaseOrderDetailID"].ToString());
                    purchaseOrderDetail.DueDate       = DateTime.Parse(reader["DueDate"].ToString());
                    purchaseOrderDetail.OrderQty      = Int16.Parse(reader["OrderQty"].ToString());
                    purchaseOrderDetail.ProductID     = Int32.Parse(reader["ProductID"].ToString());
                    purchaseOrderDetail.UnitPrice     = Decimal.Parse(reader["UnitPrice"].ToString());
                    purchaseOrderDetail.NumberOfCases = Double.Parse(reader["NumberOfCases"].ToString());
                    purchaseOrderDetail.UnitPerCase   = Int32.Parse(reader["UnitPerCase"].ToString());
                    purchaseOrderDetail.ReceivedQty   = Int64.Parse(reader["ReceivedQty"].ToString());
                    purchaseOrderDetail.RejectedQty   = Int64.Parse(reader["RejectedQty"].ToString());
                    purchaseOrderDetail.StockedQty    = Int64.Parse(reader["StockedQty"].ToString());
                    purchaseOrderDetail.ModifiedDate  = DateTime.Parse(reader["ModifiedDate"].ToString());
                    cols.Add(purchaseOrderDetail);
                }
            }

            catch (Exception ex)
            {
                log.Write(ex.Message, "GetAllPurchaseOrderDetailDynamicCollection");
                throw (ex);
            }
            finally
            {
                dbm.Dispose();
            }
            return(cols);
        }
示例#7
0
        private void GoodsReturnChildForm_Load(object sender, EventArgs e)
        {
            pODList = new PurchaseOrderDetailCollection(bdsBill);
            bdsBill.DataSource = pODList;

            pODReturnList = new PurchaseOrderDetailCollection(bdsReturnBill);
            bdsReturnBill.DataSource = pODReturnList;

            txtBillNumber.Text = "";
            txtBillDate.Text = "";
        }
示例#8
0
 private bool ExistInList(PurchaseOrderDetailCollection newList,PurchaseOrderDetail detail, out PurchaseOrderDetail newDetail)
 {
     foreach (PurchaseOrderDetail orderDetail in newList)
     {
         if(orderDetail.ProductMaster.ProductName.Equals(detail.ProductMaster.ProductName))
         {
             newDetail = orderDetail;
             return true;
         }
     }
     newDetail = null;
     return false;
 }
示例#9
0
        private PurchaseOrderDetailCollection CreateNonDuplicate(PurchaseOrderDetailCollection list)
        {
            PurchaseOrderDetailCollection newList = new PurchaseOrderDetailCollection();
            foreach (PurchaseOrderDetail detail in list)
            {
               PurchaseOrderDetail newDetail = null;
               if(!ExistInList(newList,detail,out newDetail))
               {
                   newList.Add(detail);
               }
               else
               {
                   newDetail.Quantity += detail.Quantity;
                   //newDetail.Price = detail.Price;
               }
            }

            return newList;
        }
示例#10
0
 private long CalculateTotalPrice(PurchaseOrderDetailCollection list)
 {
     long totalAmount = 0;
     if(pODList == null)
     {
         return totalAmount;
     }
     foreach(PurchaseOrderDetail purchaseOrderDetail in list)
     {
         totalAmount += purchaseOrderDetail.Price * purchaseOrderDetail.Quantity;
     }
     return totalAmount;
 }
示例#11
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            if (!CheckErrorOnForm())
            {
                return;
            }
            if(GoodsSaleController.PurchaseOrder == null || pODList.Count == 0)
            {
                MessageBox.Show(" Không có hàng để lưu hóa đơn");
                return;
            }
            RemoveEmptyProductMasterIdRow();
            FormToModel();
            if(!string.IsNullOrEmpty(txtCustomer.Text))
            {
                GoodsSaleController.PurchaseOrder.Customer = new Customer{CustomerName = txtCustomer.Text};
            }

            Receipt receipt = new Receipt();
            receipt.PurchaseOrder = GoodsSaleController.PurchaseOrder;
            receipt.ReceiptPK = new ReceiptPK{ DepartmentId = CurrentDepartment.Get().DepartmentId};
            receipt.CreateDate = DateTime.Now;
            receipt.UpdateDate = DateTime.Now;
            receipt.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
            receipt.CreateId = ClientInfo.getInstance().LoggedUser.Name;
            receipt.ReceiptName = "HDBH";
            receipt.ReceiptNumber = GoodsSaleController.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId;
            receipt.TotalAmount = Int64.Parse(string.IsNullOrEmpty(txtTotalAmount.Text)?"0":txtTotalAmount.Text);
            receipt.CustomerPayment = Int64.Parse(string.IsNullOrEmpty(txtPayment.Text)?"0":txtPayment.Text);
            receipt.Charge = Int64.Parse(string.IsNullOrEmpty(txtCharge.Text)?"0":txtCharge.Text);
            GoodsSaleController.PurchaseOrder.Receipts = new ArrayList();
            GoodsSaleController.PurchaseOrder.Receipts.Add(receipt);

            if (GlobalCache.Instance().Session.ContainsKey("EmployeeId"))
            {
                string employeeId = GlobalCache.Instance().Session["EmployeeId"] as string;
                if(!string.IsNullOrEmpty(employeeId))
                {
                    GoodsSaleController.PurchaseOrder.CreateId = employeeId;
                    GoodsSaleController.PurchaseOrder.UpdateId = employeeId;
                    foreach (PurchaseOrderDetail purchaseOrderDetail in GoodsSaleController.PurchaseOrder.PurchaseOrderDetails)
                    {
                        purchaseOrderDetail.CreateId = employeeId;
                        purchaseOrderDetail.UpdateId = employeeId;
                    }
                }
            }
            GoodsSaleEventArgs eventArgs = new GoodsSaleEventArgs();
            if(ReturnPurchaseOrder!=null)
            {
                eventArgs.RefPurchaseOrder = ReturnPurchaseOrder;
            }
            EventUtility.fireEvent(SavePurchaseOrderEvent, this, eventArgs);
            if (eventArgs.HasErrors)
            {
                MessageBox.Show("Có lỗi khi lưu hoá đơn");
                return;
            }

            IList returnDetails = new ArrayList();
            IList purchaseDetails = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails;
            int maxIndex = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails.Count-1;
            PurchaseOrder purchaseOrder = GoodsSaleController.PurchaseOrder;
            while(maxIndex >= 0)
            {
                PurchaseOrderDetail detail = (PurchaseOrderDetail)purchaseDetails[maxIndex];
                if (detail.PurchaseOrder != null
                   && detail.PurchaseOrder.PurchaseOrderPK != null
                   && !string.IsNullOrEmpty(detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId)
                   && !detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId.Equals(purchaseOrder.PurchaseOrderPK.PurchaseOrderId) )
                {
                    if(detail.Price < 0 )
                    {
                        detail.Price = 0 - detail.Price;
                    }
                    returnDetails.Add(detail);
                    purchaseDetails.RemoveAt(maxIndex);
                }
                maxIndex -= 1;
            }

            PurchaseOrderBill = new LocalReport();
            bool isReturnOrder = false;
            if(returnDetails.Count > 0 )
            {
                PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.ReturnPurchaseOrder.rdlc";

                receipt.ReceiptName = "HDDTH";
                if (purchaseDetails.Count == 0)
                {
                    receipt.ReceiptNumber = receipt.ReceiptNumber + "RET";
                }
                isReturnOrder = true;
            }
            else
            {
                receipt.ReceiptName = "HDBH";
                PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.PurchaseOrder.rdlc";

            }

            this.PurchaseOrderBindingSource.DataSource = goodsSaleController.PurchaseOrder;
            PurchaseOrderDetailCollection printPOD = new PurchaseOrderDetailCollection();
            foreach (PurchaseOrderDetail detail in purchaseDetails)
            {
                printPOD.Add(detail);
            }
            this.PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(printPOD);
            this.ReceiptBindingSource.DataSource = receipt;
            this.DepartmentBindingSource.DataSource = CurrentDepartment.Get();

                PurchaseOrderDetailBindingSource.DataSource = ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(returnDetails);

                ReportDataSource PODataRDS = new ReportDataSource("AppFrame_Model_PurchaseOrder");
                PODataRDS.Value = PurchaseOrderBindingSource;
                PurchaseOrderBill.DataSources.Add(PODataRDS);

                ReportDataSource PODetRDS = new ReportDataSource("AppFrame_Collection_PurchaseOrderDetailCollection");
                PODetRDS.Value = PurchaseOrderDetailCollectionBindingSource;
                PurchaseOrderBill.DataSources.Add(PODetRDS);

                ReportDataSource DepartmentRDS = new ReportDataSource("AppFrame_Model_Department");
                DepartmentRDS.Value = DepartmentBindingSource;
                PurchaseOrderBill.DataSources.Add(DepartmentRDS);

                ReportDataSource ReceiptRDS = new ReportDataSource("AppFrame_Model_Receipt");
                ReceiptRDS.Value = ReceiptBindingSource;
                PurchaseOrderBill.DataSources.Add(ReceiptRDS);

                ReportDataSource POReturnDetRDS = new ReportDataSource("AppFrame_Model_PurchaseOrderDetail");
                POReturnDetRDS.Value = PurchaseOrderDetailBindingSource;
                PurchaseOrderBill.DataSources.Add(POReturnDetRDS);

            this.reportPurchaseOrder.LocalReport.Refresh();
            PrintDirectlyToPrinter();
            ClearGoodsSaleForm();
            ClearReturnInput();
            ClearInput();
        }
示例#12
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);
                    }
                }
            }
        }
示例#13
0
 private long CalculateTotalPrice(PurchaseOrderDetailCollection list)
 {
     long totalAmount = 0;
     if (list == null || list.Count == 0)
         return 0;
     foreach (PurchaseOrderDetail detail in list)
     {
         totalAmount += detail.Price*detail.Quantity;
     }
     return totalAmount;
 }
示例#14
0
 private bool NotReturnYet(int index, PurchaseOrderDetailCollection list, PurchaseOrderDetailCollection returnList)
 {
     PurchaseOrderDetail detail = pODList[index];
     foreach (PurchaseOrderDetail orderDetail in returnList)
     {
         if (orderDetail.PurchaseOrderDetailPK.PurchaseOrderDetailId == detail.PurchaseOrderDetailPK.PurchaseOrderDetailId
             && orderDetail.PurchaseOrderDetailPK.DepartmentId == detail.PurchaseOrderDetailPK.DepartmentId
             && orderDetail.PurchaseOrderDetailPK.PurchaseOrderId == detail.PurchaseOrderDetailPK.PurchaseOrderId
             )
         {
             return false;
         }
     }
     return true;
 }
示例#15
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            if (!CheckErrorOnForm())
            {
                return;
            }
            if(GoodsSaleController.PurchaseOrder == null || pODList.Count == 0)
            {
                MessageBox.Show(" Không có hàng để lưu hóa đơn");
                return;
            }
            RemoveEmptyProductMasterIdRow();
            FormToModel();
            if(!string.IsNullOrEmpty(txtCustomer.Text))
            {
                GoodsSaleController.PurchaseOrder.Customer = new Customer{CustomerName = txtCustomer.Text};
            }
            Receipt receipt = new Receipt();
            receipt.PurchaseOrder = GoodsSaleController.PurchaseOrder;
            receipt.ReceiptPK = new ReceiptPK{ DepartmentId = CurrentDepartment.Get().DepartmentId};
            receipt.CreateDate = DateTime.Now;
            receipt.UpdateDate = DateTime.Now;
            receipt.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
            receipt.CreateId = ClientInfo.getInstance().LoggedUser.Name;
            receipt.ReceiptName = "HDBH";
            receipt.ReceiptNumber = GoodsSaleController.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId;
            receipt.TotalAmount = Int64.Parse(string.IsNullOrEmpty(txtTotalAmount.Text)?"0":txtTotalAmount.Text);
            receipt.CustomerPayment = Int64.Parse(string.IsNullOrEmpty(txtPayment.Text)?"0":txtPayment.Text);
            receipt.Charge = Int64.Parse(string.IsNullOrEmpty(txtCharge.Text)?"0":txtCharge.Text);
            GoodsSaleController.PurchaseOrder.Receipts = new ArrayList();
            GoodsSaleController.PurchaseOrder.Receipts.Add(receipt);

            GoodsSaleEventArgs eventArgs = new GoodsSaleEventArgs();
            if(ReturnPurchaseOrder!=null)
            {
                eventArgs.RefPurchaseOrder = ReturnPurchaseOrder;
            }
            EventUtility.fireEvent(SavePurchaseOrderEvent, this, eventArgs);
            if (eventArgs.HasErrors)
            {
                MessageBox.Show("Có lỗi khi lưu hoá đơn");
                return;
            }

            IList returnDetails = new ArrayList();
            IList purchaseDetails = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails;
            int maxIndex = GoodsSaleController.PurchaseOrder.PurchaseOrderDetails.Count-1;
            PurchaseOrder purchaseOrder = GoodsSaleController.PurchaseOrder;
            while(maxIndex >= 0)
            {
                PurchaseOrderDetail detail = (PurchaseOrderDetail)purchaseDetails[maxIndex];
                if (detail.PurchaseOrder != null
                   && detail.PurchaseOrder.PurchaseOrderPK != null
                   && !string.IsNullOrEmpty(detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId)
                   && !detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId.Equals(purchaseOrder.PurchaseOrderPK.PurchaseOrderId) )
                {
                    if(detail.Price < 0 )
                    {
                        detail.Price = 0 - detail.Price;
                    }
                    returnDetails.Add(detail);
                    purchaseDetails.RemoveAt(maxIndex);
                }
                maxIndex -= 1;
            }

            /*printForm = new GoodsSalePrintForm();
            printForm.FillForm(GoodsSaleController.PurchaseOrder);
            printForm.Show();
            printForm.Shown += new EventHandler(printForm_Shown);*/

            /*reportPurchaseOrder.LocalReport.DataSources.Add(new ReportDataSource("Department",CurrentDepartment.Get()));
            reportPurchaseOrder.LocalReport.DataSources.Add(new ReportDataSource("PurchaseOrder",GoodsSaleController.PurchaseOrder));
            reportPurchaseOrder.LocalReport.DataSources.Add(new ReportDataSource("PurchaseOrderDetail", pODList));*/
            PurchaseOrderBill = new LocalReport();
            bool isReturnOrder = false;
            if(returnDetails.Count > 0 )
            {
                PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.ReturnPurchaseOrder.rdlc";

                receipt.ReceiptName = "HDDTH";
                if (purchaseDetails.Count == 0)
                {
                    receipt.ReceiptNumber = receipt.ReceiptNumber + "RET";
                }
                isReturnOrder = true;
            }
            else
            {
                receipt.ReceiptName = "HDBH";
                PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.PurchaseOrder.rdlc";

            }

            this.PurchaseOrderBindingSource.DataSource = goodsSaleController.PurchaseOrder;
            PurchaseOrderDetailCollection printPOD = new PurchaseOrderDetailCollection();
            foreach (PurchaseOrderDetail detail in purchaseDetails)
            {
                printPOD.Add(detail);
            }
            this.PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(printPOD);
            this.ReceiptBindingSource.DataSource = receipt;
            this.DepartmentBindingSource.DataSource = CurrentDepartment.Get();

                PurchaseOrderDetailBindingSource.DataSource = ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(returnDetails);

                ReportDataSource PODataRDS = new ReportDataSource("AppFrame_Model_PurchaseOrder");
                PODataRDS.Value = PurchaseOrderBindingSource;
                PurchaseOrderBill.DataSources.Add(PODataRDS);

                ReportDataSource PODetRDS = new ReportDataSource("AppFrame_Collection_PurchaseOrderDetailCollection");
                PODetRDS.Value = PurchaseOrderDetailCollectionBindingSource;
                PurchaseOrderBill.DataSources.Add(PODetRDS);

                ReportDataSource DepartmentRDS = new ReportDataSource("AppFrame_Model_Department");
                DepartmentRDS.Value = DepartmentBindingSource;
                PurchaseOrderBill.DataSources.Add(DepartmentRDS);

                ReportDataSource ReceiptRDS = new ReportDataSource("AppFrame_Model_Receipt");
                ReceiptRDS.Value = ReceiptBindingSource;
                PurchaseOrderBill.DataSources.Add(ReceiptRDS);

                ReportDataSource POReturnDetRDS = new ReportDataSource("AppFrame_Model_PurchaseOrderDetail");
                POReturnDetRDS.Value = PurchaseOrderDetailBindingSource;
                PurchaseOrderBill.DataSources.Add(POReturnDetRDS);

            /*this.PurchaseOrderDetailBindingSource.DataSource =
                ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(args.ReturnPurchaseOrderDetails);

            this.PurchaseOrderDetailCollectionBindingSource.DataSource = pODNewList;

            this.DepartmentBindingSource.DataSource = CurrentDepartment.Get();

            this.PurchaseOrderBindingSource.DataSource = goodsSaleController.PurchaseOrder;
            this.PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(pODList);
            this.ReceiptBindingSource.DataSource = receipt;*/

            /*string deviceInfo = "<DeviceInfo>" +
            "  <OutputFormat>EMF</OutputFormat>" +
            "  <PageWidth>3.145in</PageWidth>" +
            "  <PageHeight>5.3in</PageHeight>" +
            "  <MarginTop>0.0in</MarginTop>" +
            "  <MarginLeft>0.0in</MarginLeft>" +
            "  <MarginRight>0.0in</MarginRight>" +
            "  <MarginBottom>0.0in</MarginBottom>" +
            "</DeviceInfo>";
            Warning[] warnings;*/

            this.reportPurchaseOrder.LocalReport.Refresh();
            PrintDirectlyToPrinter();
            ClearGoodsSaleForm();
            ClearReturnInput();
            ClearInput();
        }
示例#16
0
        private void PrintPage(PurchaseOrderView view)
        {
            // create bill and printing

            Receipt receipt = new Receipt();
            receipt.PurchaseOrder = view.PurchaseOrder;
            receipt.ReceiptPK = new ReceiptPK { DepartmentId = CurrentDepartment.Get().DepartmentId };
            receipt.CreateDate = DateTime.Now;
            receipt.UpdateDate = DateTime.Now;
            receipt.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
            receipt.CreateId = ClientInfo.getInstance().LoggedUser.Name;
            receipt.ReceiptName = "HDBH";
            receipt.ReceiptNumber = view.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId;
            receipt.TotalAmount = view.SellAmount-view.ReturnAmount;
            receipt.CustomerPayment = 0;
            receipt.Charge = 0;
            view.PurchaseOrder.Receipts = new ArrayList();
            view.PurchaseOrder.Receipts.Add(receipt);
            IList returnDetails = new ArrayList();
            IList purchaseDetails = view.PurchaseOrder.PurchaseOrderDetails;
            int maxIndex = view.PurchaseOrder.PurchaseOrderDetails.Count - 1;
            PurchaseOrder purchaseOrder = view.PurchaseOrder;

            if(view.ReturnPOList !=null && view.ReturnPOList.Count > 0)
            {
                foreach (ReturnPo returnPo in view.ReturnPOList)
                {
                    returnDetails.Add(returnPo);
                }
            }

            PurchaseOrderBill = new LocalReport();
            bool isReturnOrder = false;
            if (returnDetails.Count > 0)
            {
                PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.ReturnPurchaseOrder.rdlc";

                receipt.ReceiptName = "HDDTH";
                if (purchaseDetails.Count == 0)
                {
                    receipt.ReceiptNumber = receipt.ReceiptNumber + "RET";
                }
                isReturnOrder = true;
            }
            else
            {
                receipt.ReceiptName = "HDBH";
                PurchaseOrderBill.ReportEmbeddedResource = "AppFrameClient.Report.PurchaseOrder.rdlc";

            }

            PurchaseOrderBindingSource.DataSource = view.PurchaseOrder;
            PurchaseOrderDetailCollection printPOD = new PurchaseOrderDetailCollection();
            foreach (PurchaseOrderDetail detail in purchaseDetails)
            {
                printPOD.Add(detail);
            }
            PurchaseOrderDetailCollectionBindingSource.DataSource = CreateNonDuplicate(printPOD);
            ReceiptBindingSource.DataSource = receipt;
            DepartmentBindingSource.DataSource = CurrentDepartment.Get();

            PurchaseOrderDetailBindingSource.DataSource = ObjectConverter.ConvertGenericList<PurchaseOrderDetail>(returnDetails);

            ReportDataSource PODataRDS = new ReportDataSource("AppFrame_Model_PurchaseOrder");
            PODataRDS.Value = PurchaseOrderBindingSource;
            PurchaseOrderBill.DataSources.Add(PODataRDS);

            ReportDataSource PODetRDS = new ReportDataSource("AppFrame_Collection_PurchaseOrderDetailCollection");
            PODetRDS.Value = PurchaseOrderDetailCollectionBindingSource;
            PurchaseOrderBill.DataSources.Add(PODetRDS);

            ReportDataSource DepartmentRDS = new ReportDataSource("AppFrame_Model_Department");
            DepartmentRDS.Value = DepartmentBindingSource;
            PurchaseOrderBill.DataSources.Add(DepartmentRDS);

            ReportDataSource ReceiptRDS = new ReportDataSource("AppFrame_Model_Receipt");
            ReceiptRDS.Value = ReceiptBindingSource;
            PurchaseOrderBill.DataSources.Add(ReceiptRDS);

            ReportDataSource POReturnDetRDS = new ReportDataSource("AppFrame_Model_PurchaseOrderDetail");
            POReturnDetRDS.Value = PurchaseOrderDetailBindingSource;
            PurchaseOrderBill.DataSources.Add(POReturnDetRDS);

            //this.reportPurchaseOrder.LocalReport.Refresh();
            PrintDirectlyToPrinter();
        }
示例#17
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);
             }
         }
     }
 }
示例#18
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;
 }
示例#19
0
 private void CalculateReturnPrice(PurchaseOrderDetailCollection list)
 {
     long totalReturnAmount = 0;
     foreach (PurchaseOrderDetail detail in pODReturnList)
     {
         totalReturnAmount += detail.Quantity * detail.Price;
     }
     txtReturnPayment.Text = totalReturnAmount.ToString();
 }