Пример #1
0
        private void BindData(bool isUpdate)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("stok card id");
            dt.Columns.Add("transaction id");
            dt.Columns.Add("faktur");
            dt.Columns.Add("trans status");
            dt.Columns.Add("item id");
            dt.Columns.Add("status add");
            dt.Columns.Add("jumlah");
            dt.Columns.Add("saldo");
            dt.Columns.Add("saldo 2");

            DataRow dr;

            IList listItem = DataMaster.GetAll(typeof(MItem));
            MItem item;

            IList     listStok;
            TStokCard stokCard;

            TTransaction   trans;
            ItemGudangStok stok;

            decimal t = 0;

            for (int i = 0; i < listItem.Count; i++)
            {
                item     = (MItem)listItem[i];
                listStok = DataMaster.GetSortByListLike(typeof(TStokCard), TStokCard.ColumnNames.ItemId, item.ItemId, TStokCard.ColumnNames.StokCardId, "ASC");

                t = 0;
                for (int j = 0; j < listStok.Count; j++)
                {
                    stokCard = (TStokCard)listStok[j];

                    trans = (TTransaction)DataMaster.GetObjectByProperty(typeof(TTransaction), TTransaction.ColumnNames.TransactionId, stokCard.TransactionId);

                    if (j == 0)
                    {
                        if (trans.TransactionStatus == ListOfTransaction.SalesVIP.ToString())
                        {
                            t = stokCard.StokCardSaldo - (stokCard.StokCardQuantity * 2);
                        }
                        else
                        {
                            t = stokCard.StokCardSaldo + (stokCard.StokCardQuantity * 2);
                        }
                    }
                    else
                    {
                        if (trans.TransactionStatus == ListOfTransaction.SalesVIP.ToString())
                        {
                            t = t - stokCard.StokCardQuantity;
                        }
                        else
                        {
                            t = t + stokCard.StokCardQuantity;
                        }
                    }

                    dr    = dt.NewRow();
                    dr[0] = stokCard.StokCardId;
                    dr[1] = trans.TransactionId;
                    dr[2] = trans.TransactionFactur;
                    dr[3] = trans.TransactionStatus;
                    dr[4] = item.ItemId;
                    dr[5] = stokCard.StokCardStatus;
                    dr[6] = stokCard.StokCardQuantity;
                    dr[7] = stokCard.StokCardSaldo;
                    dr[8] = t;
                    dt.Rows.Add(dr);

                    if (isUpdate)
                    {
                        if (trans.TransactionStatus == ListOfTransaction.SalesVIP.ToString())
                        {
                            stokCard.StokCardStatus = false;
                        }
                        stokCard.StokCardSaldo = t;
                        DataMaster.UpdatePersistence(stokCard);

                        if (j == listStok.Count - 1)
                        {
                            stok = (ItemGudangStok)DataMaster.GetObjectByProperty(typeof(ItemGudangStok), ItemGudangStok.ColumnNames.GudangId, stokCard.GudangId, ItemGudangStok.ColumnNames.ItemId, stokCard.ItemId);
                            if (stok != null)
                            {
                                stok.ItemStok = t;
                                DataMaster.UpdatePersistence(stok);
                            }
                        }
                    }
                }
            }

            dataGridView1.DataSource = dt;
            dataGridView1.Show();

            Inventori.Module.ModuleControlSettings.SetGridDataView(dataGridView1);
        }