private void Display(string mode)
        {
            SPList list = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "PendaftaranPMAPMDN"));
            SPListItem item = list.GetItemById(IDP);

            if (item["Status"] != null)
                ViewState["Status"] = item["Status"].ToString();
            else
            {
                if (item["ApprovalStatus"] != null)
                    ViewState["Status"] = item["ApprovalStatus"].ToString();
            }

            if (item.Workflows.Count > 0 || ViewState["Status"].ToString() == "Approved")
                btnSaveUpdateRunWf.Visible = false;

            ltrRequestCode.Text = item["Title"].ToString();
            ltrDate.Text = Convert.ToDateTime(item["Tanggal"].ToString()).ToString("dd-MMM-yyyy HH:mm");
            txtTujuanPenggunaan.Text = item["TujuanPenggunaan"].ToString();
            txtNamaPerusahaan.Text = item["NamaPerusahaan"].ToString();
            if (item["TempatKedudukan"] != null)
                ddlTempatKedudukan.SelectedValue = item["TempatKedudukan"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[0];
            txtBidangUsaha.Text = item["BidangUsaha"].ToString();
            txtKlasifikasi.Text = item["KlasifikasiBidangUsaha"].ToString();
            if (item["MataUang"] != null)
            {
                ddlMataUang.SelectedValue = item["MataUang"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[0];
                ltrMataUangSelected.Text = ddlMataUang.SelectedItem.Text;
            }
            txtModalDasar.Text = Convert.ToDouble(item["ModalDasar"]).ToString("#,##0");
            txtModalSetor.Text = Convert.ToDouble(item["ModalSetor"]).ToString("#,##0");
            txtNominalSaham.Text = Convert.ToDouble(item["Nominal"]).ToString("#,##0");
            txtNominalModalDasar.Text = (Convert.ToDouble(txtModalDasar.Text) * Convert.ToDouble(txtNominalSaham.Text)).ToString("#,##0");
            txtNominalModalSetor.Text = (Convert.ToDouble(txtModalSetor.Text) * Convert.ToDouble(txtNominalSaham.Text)).ToString("#,##0");
            txtKeterangan.Text = item["Keterangan"] == null ? string.Empty : item["Keterangan"].ToString();
            if (item["StatusPerseroan"] != null)
                ddlStatusPerseroan.SelectedValue = item["StatusPerseroan"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[0];

            txtNilaiInvestasi.Text = Convert.ToDouble(item["NilaiInvestasi"]).ToString("#,##0");
            txtModalSendiri.Text = Convert.ToDouble(txtNominalModalSetor.Text).ToString("#,##0");
            if (item["ModalDitanamKembali"] != null)
                txtModalDitanamKembali.Text = Convert.ToDouble(item["ModalDitanamKembali"]).ToString("#,##0");
            txtModalPinjaman.Text = (Convert.ToDouble(txtNilaiInvestasi.Text) - Convert.ToDouble(txtModalSendiri.Text) - Convert.ToDouble(txtModalDitanamKembali.Text)).ToString("#,##0");

            if (item["Pemohon"] != null)
            {
                int IDPemohon = Convert.ToInt32(item["Pemohon"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[0]);
                hfIDPemohon.Value = IDPemohon.ToString();
                SPList listPemohon = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "Pemohon"));
                SPListItem itemPemohon = listPemohon.GetItemById(IDPemohon);
                txtNamaPemohon.Text = itemPemohon.Title;
                txtEmailPemohon.Text = itemPemohon["EmailPemohon"].ToString();
            }

            txtNo.Text = item["No"] == null ? string.Empty : item["No"].ToString();
            if (item["TanggalMulaiBerlaku"] != null)
                dtTanggalMulaiBerlaku.SelectedDate = Convert.ToDateTime(item["TanggalMulaiBerlaku"]);
            if (item["TanggalAkhirBerlaku"] != null)
                dtTanggalAkhirBerlaku.SelectedDate = Convert.ToDateTime(item["TanggalAkhirBerlaku"]);
            txtKeteranganPMAPMDN.Text = item["KeteranganPMAPMDN"] == null ? string.Empty : item["KeteranganPMAPMDN"].ToString();

            ltrTujuanPenggunaan.Text = txtTujuanPenggunaan.Text;
            ltrNamaPerusahaaan.Text = txtNamaPerusahaan.Text;
            if (item["TempatKedudukan"] != null)
                ltrTempatKedudukan.Text = ddlTempatKedudukan.SelectedItem.Text;
            ltrBidangUsaha.Text = txtBidangUsaha.Text;
            ltrKlasifikasi.Text = txtKlasifikasi.Text;
            if (item["MataUang"] != null)
            {
                ltrMataUang.Text = ddlMataUang.SelectedItem.Text;
                ltrMataUangSelected.Text = ddlMataUang.SelectedItem.Text;
            }
            ltrModalDasar.Text = Convert.ToDouble(txtModalDasar.Text).ToString("#,##0");
            ltrModalSetor.Text = Convert.ToDouble(txtModalSetor.Text).ToString("#,##0");
            ltrNominalSaham.Text = Convert.ToDouble(txtNominalSaham.Text).ToString("#,##0");
            ltrNominalModalDasar.Text = (Convert.ToDouble(ltrModalDasar.Text) * Convert.ToDouble(ltrNominalSaham.Text)).ToString("#,##0");
            ltrNominalModalSetor.Text = (Convert.ToDouble(ltrModalSetor.Text) * Convert.ToDouble(ltrNominalSaham.Text)).ToString("#,##0");
            ltrKeterangan.Text = txtKeterangan.Text;
            if (item["StatusPerseroan"] != null)
                ltrStatusPerseroan.Text = ddlStatusPerseroan.SelectedItem.Text;

            ltrNilaiInvestasi.Text = Convert.ToDouble(txtNilaiInvestasi.Text).ToString("#,##0");
            ltrModalSendiri.Text = Convert.ToDouble(txtNominalModalSetor.Text).ToString("#,##0");
            if (item["ModalDitanamKembali"] != null)
                ltrModalDitanamKembali.Text = Convert.ToDouble(txtModalDitanamKembali.Text).ToString("#,##0");
            ltrModalPinjaman.Text = (Convert.ToDouble(ltrNilaiInvestasi.Text) - Convert.ToDouble(ltrModalSendiri.Text) - Convert.ToDouble(ltrModalDitanamKembali.Text)).ToString("#,##0");

            ltrNamaPemohon.Text = txtNamaPemohon.Text;
            ltrEmailPemohon.Text = txtEmailPemohon.Text;

            ltrNo.Text = txtNo.Text;
            if (item["TanggalMulaiBerlaku"] != null)
                ltrTanggalMulaiBerlaku.Text = dtTanggalMulaiBerlaku.SelectedDate.ToString("dd-MMM-yyyy");
            if (item["TanggalAkhirBerlaku"] != null)
                ltrTanggalAkhirBerlaku.Text = dtTanggalAkhirBerlaku.SelectedDate.ToString("dd-MMM-yyyy");
            ltrKeteranganPMAPMDN.Text = txtKeteranganPMAPMDN.Text;

            if (mode == "edit")
            {
                btnSaveUpdate.Text = "Update";
                btnSaveUpdateRunWf.Text = "Update & Run Workflow";
            }
            else if (mode == "display")
            {
                btnSaveUpdate.Visible = false;
                btnSaveUpdateRunWf.Visible = false;
            }

            SPList listPemegangSaham = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "PemegangSahamPMAPMDN"));
            SPQuery query = new SPQuery();
            query.Query = "<Where>" +
                              "<Eq>" +
                                 "<FieldRef Name='PendaftaranPMAPMDN' LookupId='True' />" +
                                 "<Value Type='Lookup'>" + IDP + "</Value>" +
                              "</Eq>" +
                          "</Where>" +
                          "<OrderBy>" +
                            "<FieldRef Name='Created' Ascending='False' />" +
                          "</OrderBy>";
            SPListItemCollection collSPPemegangSaham = listPemegangSaham.GetItems(query);

            List<PemegangSaham> collPemegangSaham = new List<PemegangSaham>();
            foreach (SPListItem i in collSPPemegangSaham)
            {
                PemegangSaham o = new PemegangSaham();
                o.ID = i.ID;
                o.Nama = i["Title"].ToString();
                o.JumlahNominal = Convert.ToDouble(i["JumlahNominal"]);
                o.JumlahSaham = Convert.ToDouble(i["JumlahSaham"]);
                o.Partner = Convert.ToBoolean(i["Partner"]);
                o.Percentages = Convert.ToDouble(i["Percentages"]);
                collPemegangSaham.Add(o);
            }
            ViewState["PemegangSaham"] = collPemegangSaham;
            ViewState["PemegangSahamEdit"] = collPemegangSaham;
            BindPemegangSaham();

            SPList document = web.GetList(Util.CreateSharePointDocLibStrUrl(web.Url, "PendaftaranPMAPMDNDokumen"));
            SPListItemCollection coll = document.GetItems(query);
            if (coll.Count > 0)
            {
                SPListItem documentItem = coll[0];
                ltrfu.Text = string.Format("<a href='{0}/PendaftaranPMAPMDNDokumen/{1}'>{1}</a>", web.Url, documentItem["Name"].ToString());
                if (documentItem["Original"] != null)
                {
                    ltrOriginal.Text = Convert.ToBoolean(documentItem["Original"]) == true ? "Original" : "Copy";
                    chkOriginal.Checked = Convert.ToBoolean(documentItem["Original"]);
                }
            }

            if (item["Status"] != null)
            {
                if (item["Status"].ToString() == Roles.PIC_CORSEC)
                    pnlOriginator.Visible = true;
                else
                {
                    pnlOriginator.Visible = false;
                    pnlAssign.Visible = false;
                    btnSaveUpdate.Visible = false;
                }
            }
            if (item["ApprovalStatus"] != null)
            {
                if (item["ApprovalStatus"].ToString() == "Approved")
                {
                    pnlOriginator.Visible = true;
                    pnlAssign.Visible = true;

                    ltrPICCorsec.Text = item["Created By"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[1];
                    ltrDivHead.Text = item["DivHead"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[1];
                    ltrChiefCS.Text = item["ChiefCorsec"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[1];
                }
            }

            HiddenControls(mode, item["Status"] == null ? string.Empty : item["Status"].ToString());
        }
        protected void dgPemegangSaham_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (txtNominalModalSetor.Text.Trim() == string.Empty || txtNominalSaham.Text.Trim() == string.Empty)
            {
                Util.ShowMessage(Page, SR.FieldCanNotEmpty("Nominal Modal Setor and Nominal Saham"));
                return;
            }

            decimal NominalModalSetor = Convert.ToDecimal(txtNominalModalSetor.Text);
            decimal NominalSaham = Convert.ToDecimal(txtNominalSaham.Text);

            List<PemegangSaham> coll = new List<PemegangSaham>();
            if (ViewState["PemegangSaham"] != null)
                coll = ViewState["PemegangSaham"] as List<PemegangSaham>;

            if (e.CommandName == "add")
            {
                TextBox txtNamaPemegangSahamAdd = e.Item.FindControl("txtNamaPemegangSahamAdd") as TextBox;
                TextBox txtJumlahSahamAdd = e.Item.FindControl("txtJumlahSahamAdd") as TextBox;
                TextBox txtJumlahNominalAdd = e.Item.FindControl("txtJumlahNominalAdd") as TextBox;
                TextBox txtPercentagesAdd = e.Item.FindControl("txtPercentagesAdd") as TextBox;
                CheckBox cboPartnerAdd = e.Item.FindControl("cboPartnerAdd") as CheckBox;

                if (isExistInPemegangSahamGrid(txtNamaPemegangSahamAdd.Text))
                {
                    Util.ShowMessage(Page, SR.DataIsExist(txtNamaPemegangSahamAdd.Text.Trim()));
                    return;
                }

                string msg = Util.IsPemegangSahamOK(dgPemegangSaham, Convert.ToDecimal(txtJumlahSahamAdd.Text), Convert.ToDecimal(txtJumlahNominalAdd.Text), NominalModalSetor, NominalSaham);
                if (msg != string.Empty)
                {
                    Util.ShowMessage(Page, msg);
                    return;
                }

                PemegangSaham o = new PemegangSaham();
                o.Nama = txtNamaPemegangSahamAdd.Text.Trim();
                o.JumlahNominal = Convert.ToDouble(txtJumlahNominalAdd.Text);
                o.JumlahSaham = Convert.ToDouble(txtJumlahSahamAdd.Text);
                o.Partner = cboPartnerAdd.Checked;
                o.Percentages = Convert.ToDouble(txtPercentagesAdd.Text);
                o.ID = 0;
                coll.Add(o);

                ViewState["PemegangSaham"] = coll;
            }
            if (e.CommandName == "save")
            {
                TextBox txtNamaPemegangSahamEdit = e.Item.FindControl("txtNamaPemegangSahamEdit") as TextBox;
                TextBox txtJumlahSahamEdit = e.Item.FindControl("txtJumlahSahamEdit") as TextBox;
                TextBox txtJumlahNominalEdit = e.Item.FindControl("txtJumlahNominalEdit") as TextBox;
                TextBox txtPercentagesEdit = e.Item.FindControl("txtPercentagesEdit") as TextBox;
                CheckBox cboPartnerEdit = e.Item.FindControl("cboPartnerEdit") as CheckBox;

                if (isExistInPemegangSahamGrid(txtNamaPemegangSahamEdit.Text))
                {
                    Util.ShowMessage(Page, SR.DataIsExist(txtNamaPemegangSahamEdit.Text.Trim()));
                    return;
                }

                string msg = Util.IsPemegangSahamOK(dgPemegangSaham, Convert.ToDecimal(txtJumlahSahamEdit.Text), Convert.ToDecimal(txtJumlahNominalEdit.Text), NominalModalSetor, NominalSaham);
                if (msg != string.Empty)
                {
                    Util.ShowMessage(Page, msg);
                    return;
                }

                PemegangSaham o = new PemegangSaham();
                o.Nama = txtNamaPemegangSahamEdit.Text.Trim();
                o.JumlahNominal = Convert.ToDouble(txtJumlahNominalEdit.Text);
                o.JumlahSaham = Convert.ToDouble(txtJumlahSahamEdit.Text);
                o.Partner = cboPartnerEdit.Checked;
                o.Percentages = Convert.ToDouble(txtPercentagesEdit.Text);

                coll[e.Item.ItemIndex] = o;
                ViewState["PemegangSaham"] = coll;

                dgPemegangSaham.EditItemIndex = -1;
                dgPemegangSaham.ShowFooter = true;
            }
            if (e.CommandName == "edit")
            {
                dgPemegangSaham.ShowFooter = false;
                dgPemegangSaham.EditItemIndex = e.Item.ItemIndex;
            }
            if (e.CommandName == "cancel")
            {
                dgPemegangSaham.EditItemIndex = -1;
                dgPemegangSaham.ShowFooter = true;
            }
            if (e.CommandName == "delete")
            {
                coll.RemoveAt(e.Item.ItemIndex);
                ViewState["PemegangSaham"] = coll;
            }
            BindPemegangSaham();
        }
        protected void dgPemegangSaham_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (e.CommandName == "popup")
            {
                ViewState["Index"] = e.Item.ItemIndex;
                return;
            }
            if (e.CommandName == "pemegangsaham")
            {
                int PemegangSahamID = 0;
                Label lblIDPemegangSaham = e.Item.FindControl("lblIDPemegangSaham") as Label;
                if (lblIDPemegangSaham != null)
                    PemegangSahamID = Convert.ToInt32(lblIDPemegangSaham.Text);
                Label lblIDPemegangSahamAdd = e.Item.FindControl("lblIDPemegangSahamAdd") as Label;
                if (lblIDPemegangSahamAdd != null)
                    PemegangSahamID = Convert.ToInt32(lblIDPemegangSahamAdd.Text);
                Label lblIDPemegangSahamEdit = e.Item.FindControl("lblIDPemegangSahamEdit") as Label;
                if (lblIDPemegangSahamEdit != null)
                    PemegangSahamID = Convert.ToInt32(lblIDPemegangSahamEdit.Text);

                ucPemegangSahamInfo.IDProp = PemegangSahamID.ToString();
                return;
            }

            if (txtNominalModalSetor.Text.Trim() == string.Empty || txtNominalSaham.Text.Trim() == string.Empty)
            {
                Util.ShowMessage(Page, SR.FieldCanNotEmpty("Nominal Modal Setor and Nominal Saham"));
                return;
            }

            DataGrid dg = source as DataGrid;
            List<PemegangSaham> coll = new List<PemegangSaham>();
            if (ViewState["PemegangSaham"] != null)
                coll = ViewState["PemegangSaham"] as List<PemegangSaham>;

            decimal NominalModalSetor = 0;
            decimal NominalSaham = 0;

            NominalModalSetor = Convert.ToDecimal(txtNominalModalSetor.Text);
            NominalSaham = Convert.ToDecimal(txtNominalSaham.Text);

            if (e.CommandName == "add")
            {
                LinkButton lbNamaPemegangSahamAdd = e.Item.FindControl("lbNamaPemegangSahamAdd") as LinkButton;
                TextBox txtJumlahSahamAdd = e.Item.FindControl("txtJumlahSahamAdd") as TextBox;
                TextBox txtJumlahNominalAdd = e.Item.FindControl("txtJumlahNominalAdd") as TextBox;
                TextBox txtPercentagesAdd = e.Item.FindControl("txtPercentagesAdd") as TextBox;
                CheckBox cboPartnerAdd = e.Item.FindControl("cboPartnerAdd") as CheckBox;
                Label lblIDPemegangSahamAdd = e.Item.FindControl("lblIDPemegangSahamAdd") as Label;

                PemegangSaham o = new PemegangSaham();

                if (isExistInPemegangSahamGrid(lbNamaPemegangSahamAdd.Text))
                {
                    Util.ShowMessage(Page, SR.DataIsExist(lbNamaPemegangSahamAdd.Text.Trim()));
                    return;
                }

                string msg = Util.IsPemegangSahamOK(dg, Convert.ToDecimal(txtJumlahSahamAdd.Text), Convert.ToDecimal(txtJumlahNominalAdd.Text), NominalModalSetor, NominalSaham);
                if (msg != string.Empty)
                {
                    Util.ShowMessage(Page, msg);
                    return;
                }

                o.Nama = lbNamaPemegangSahamAdd.Text.Trim();
                o.JumlahNominal = Convert.ToDouble(txtJumlahNominalAdd.Text);
                o.JumlahSaham = Convert.ToDouble(txtJumlahSahamAdd.Text);
                o.Partner = cboPartnerAdd.Checked;
                o.Percentages = Convert.ToDouble(txtPercentagesAdd.Text);
                o.ID = 0;
                o.IDPemegangSaham = Convert.ToInt32(lblIDPemegangSahamAdd.Text);
                coll.Add(o);

                ViewState["PemegangSaham"] = coll;
            }
            if (e.CommandName == "save")
            {
                LinkButton lbNamaPemegangSahamEdit = e.Item.FindControl("lbNamaPemegangSahamEdit") as LinkButton;
                TextBox txtJumlahSahamEdit = e.Item.FindControl("txtJumlahSahamEdit") as TextBox;
                TextBox txtJumlahNominalEdit = e.Item.FindControl("txtJumlahNominalEdit") as TextBox;
                TextBox txtPercentagesEdit = e.Item.FindControl("txtPercentagesEdit") as TextBox;
                CheckBox cboPartnerEdit = e.Item.FindControl("cboPartnerEdit") as CheckBox;
                Label lblIDPemegangSahamEdit = e.Item.FindControl("lblIDPemegangSahamEdit") as Label;

                PemegangSaham o = new PemegangSaham();

                if (isExistInPemegangSahamGrid(lbNamaPemegangSahamEdit.Text))
                {
                    Util.ShowMessage(Page, SR.DataIsExist(lbNamaPemegangSahamEdit.Text.Trim()));
                    return;
                }

                string msg = Util.IsPemegangSahamOK(dg, Convert.ToDecimal(txtJumlahSahamEdit.Text), Convert.ToDecimal(txtJumlahNominalEdit.Text), NominalModalSetor, NominalSaham);
                if (msg != string.Empty)
                {
                    Util.ShowMessage(Page, msg);
                    return;
                }

                o.Nama = lbNamaPemegangSahamEdit.Text.Trim();
                o.JumlahNominal = Convert.ToDouble(txtJumlahNominalEdit.Text);
                o.JumlahSaham = Convert.ToDouble(txtJumlahSahamEdit.Text);
                o.Partner = cboPartnerEdit.Checked;
                o.Percentages = Convert.ToDouble(txtPercentagesEdit.Text);
                o.IDPemegangSaham = Convert.ToInt32(lblIDPemegangSahamEdit.Text);

                coll[e.Item.ItemIndex] = o;
                ViewState["PemegangSaham"] = coll;

                dg.EditItemIndex = -1;
                dg.ShowFooter = true;
            }
            if (e.CommandName == "edit")
            {
                dg.ShowFooter = false;
                dg.EditItemIndex = e.Item.ItemIndex;
            }
            if (e.CommandName == "cancel")
            {
                dg.EditItemIndex = -1;
                dg.ShowFooter = true;
            }
            if (e.CommandName == "delete")
            {
                coll.RemoveAt(e.Item.ItemIndex);
                ViewState["PemegangSaham"] = coll;
            }
            BindPemegangSaham();
        }
        private void BindAllRelatedData(SPListItem item)
        {
            SPList listPemegangSaham = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "PemegangSaham"));
            SPQuery query = new SPQuery();
            query.Query = "<Where>" +
                              "<Eq>" +
                                 "<FieldRef Name='PerusahaanBaru' LookupId='True' />" +
                                 "<Value Type='Lookup'>" + IDP + "</Value>" +
                              "</Eq>" +
                          "</Where>" +
                          "<OrderBy>" +
                            "<FieldRef Name='Created' Ascending='False' />" +
                          "</OrderBy>";
            SPListItemCollection collSPPemegangSaham = listPemegangSaham.GetItems(query);

            List<PemegangSaham> collPemegangSaham = new List<PemegangSaham>();
            foreach (SPListItem i in collSPPemegangSaham)
            {
                PemegangSaham o = new PemegangSaham();
                o.ID = i.ID;
                if (i["PemegangSaham"] != null)
                {
                    string IDMasterData = i["PemegangSaham"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[0];
                    SPListItem itemPSKMaster = Util.GetPemegangSahamKomisarisMasterData(web, Convert.ToInt32(IDMasterData));

                    o.IDPemegangSaham = itemPSKMaster.ID;
                    o.Nama = itemPSKMaster["Title"].ToString();
                }
                o.JumlahNominal = Convert.ToDouble(i["JumlahNominal"]);
                o.JumlahSaham = Convert.ToDouble(i["JumlahSaham"]);
                o.Partner = Convert.ToBoolean(i["Partner"]);
                o.Percentages = Convert.ToDouble(i["Percentages"]);
                collPemegangSaham.Add(o);
            }
            ViewState["PemegangSaham"] = collPemegangSaham;
            ViewState["PemegangSahamEdit"] = collPemegangSaham;
            BindPemegangSaham();

            SPList listWewenangDireksi = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "WewenangDireksi"));
            SPListItemCollection collSPWewenangDireksi = listWewenangDireksi.GetItems(query);

            List<WewenangDireksi> collWewenangDireksi = new List<WewenangDireksi>();
            foreach (SPListItem i in collSPWewenangDireksi)
            {
                WewenangDireksi o = new WewenangDireksi();
                o.ID = i.ID;
                o.Nama = i["Title"].ToString();
                collWewenangDireksi.Add(o);
            }
            ViewState["WewenangDireksi"] = collWewenangDireksi;
            ViewState["WewenangDireksiEdit"] = collWewenangDireksi;
            BindWewenangDireksi();

            SPList listKomisarisDireksi = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "KomisarisDireksi"));
            SPListItemCollection collSPKomisarisDireksi = listKomisarisDireksi.GetItems(query);

            List<KomisarisDireksi> collKomisarisDireksi = new List<KomisarisDireksi>();
            foreach (SPListItem i in collSPKomisarisDireksi)
            {
                KomisarisDireksi o = new KomisarisDireksi();
                o.ID = i.ID;
                if (i["KomisarisDireksi"] != null)
                {
                    string IDMasterData = i["KomisarisDireksi"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries)[0];
                    SPListItem itemPSKMaster = Util.GetPemegangSahamKomisarisMasterData(web, Convert.ToInt32(IDMasterData));

                    o.IDKomisaris = itemPSKMaster.ID;
                    o.Nama = itemPSKMaster["Title"].ToString();
                }
                String[] split = i["Jabatan"].ToString().Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries);
                o.IDJabatan = Convert.ToInt32(split[0]);
                o.Jabatan = split[1];
                if (i["TanggalMulaiMenjabat"] != null)
                    o.MulaiMenjabat = Convert.ToDateTime(i["TanggalMulaiMenjabat"]);
                if (i["TanggalAkhirMenjabat"] != null)
                    o.AkhirMenjabat = Convert.ToDateTime(i["TanggalAkhirMenjabat"]);
                collKomisarisDireksi.Add(o);
            }
            ViewState["KomisarisDireksi"] = collKomisarisDireksi;
            ViewState["KomisarisDireksiEdit"] = collKomisarisDireksi;
            BindKomisarisDireksi();

            SPList listDokumen = web.GetList(Util.CreateSharePointDocLibStrUrl(web.Url, "DokumenLainnya"));
            SPListItemCollection collSPDokumen = listDokumen.GetItems(query);

            List<Dokumen> collDokumen = new List<Dokumen>();
            foreach (SPListItem i in collSPDokumen)
            {
                Dokumen o = new Dokumen();
                o.ID = i.ID;
                o.NamaFile = i["Name"].ToString();
                if (i["Penjelasan"] != null)
                    o.Penjelasan = i["Penjelasan"].ToString();
                o.TipeDokumen = i["TipeDokumen"] == null ? string.Empty : i["TipeDokumen"].ToString();
                o.Attachment = i.File.OpenBinary();
                o.AttachmentOld = o.Attachment;
                o.Url = string.Format("<a href='{0}/DokumenLainnya/{1}'>{1}</a>", web.Url, i["Name"].ToString());
                collDokumen.Add(o);
            }
            ViewState["Dokumen"] = collDokumen;
            ViewState["DokumenEdit"] = collDokumen;
            BindDokumen();

            SPList listNPWP = web.GetList(Util.CreateSharePointDocLibStrUrl(web.Url, "NPWPLainnya"));
            SPListItemCollection collSPNPWP = listNPWP.GetItems(query);

            List<NPWP> collDokumenNPWP = new List<NPWP>();
            foreach (SPListItem i in collSPNPWP)
            {
                NPWP o = new NPWP();
                o.ID = i.ID;
                o.NamaFile = i["Name"].ToString();
                o.NoNPWP = i["NoNPWP"].ToString();
                if (i["Keterangan"] != null)
                    o.Keterangan = i["Keterangan"].ToString();
                o.Attachment = i.File.OpenBinary();
                o.AttachmentOld = o.Attachment;
                o.Url = string.Format("<a href='{0}/NPWPLainnya/{1}'>{1}</a>", web.Url, i["Name"].ToString());
                collDokumenNPWP.Add(o);
            }
            ViewState["NPWP"] = collDokumenNPWP;
            ViewState["NPWPEdit"] = collDokumenNPWP;
            BindNPWP();

            SPList listPKP = web.GetList(Util.CreateSharePointDocLibStrUrl(web.Url, "PKPLainnya"));
            SPListItemCollection collSPPKP = listPKP.GetItems(query);

            List<PKP> collDokumenPKP = new List<PKP>();
            foreach (SPListItem i in collSPPKP)
            {
                PKP o = new PKP();
                o.ID = i.ID;
                o.NamaFile = i["Name"].ToString();
                o.NoPKP = i["NoPKP"].ToString();
                if (i["Keterangan"] != null)
                    o.Keterangan = i["Keterangan"].ToString();
                o.Attachment = i.File.OpenBinary();
                o.AttachmentOld = o.Attachment;
                o.Url = string.Format("<a href='{0}/PKPLainnya/{1}'>{1}</a>", web.Url, i["Name"].ToString());
                collDokumenPKP.Add(o);
            }
            ViewState["PKP"] = collDokumenPKP;
            ViewState["PKPEdit"] = collDokumenPKP;
            BindPKP();

            DisplayDocument(ltrfuSKDP, item.Title, "SKDP", ltrOriginalSKDP, chkOriginalSKDP);
            DisplayDocument(ltrfuAkte, item.Title, "Akta", ltrOriginalAkte, chkOriginalAkte);
            DisplayDocument(ltrfuNPWP, item.Title, "NPWP", ltrOriginalNPWP, chkOriginalNPWP);
            DisplayDocument(ltrfuPKP, item.Title, "PKP", ltrOriginalPKP, chkOriginalPKP);
            DisplayDocument(ltrfuAPV, item.Title, "Journal Voucher", ltrOriginalAPV, chkOriginalAPV);
            DisplayDocument(ltrfuSetoranModal, item.Title, "Setoran Modal", ltrOriginalSetoranModal, chkOriginalSetoranModal);
            DisplayDocument(ltrfuAkte, item.Title, "Akta and SK Pengesahan Pendirian", ltrOriginalAkte, chkOriginalAkte);
            DisplayDocument(ltrfuBNRI, item.Title, "BNRI", ltrOriginalBNRI, chkOriginalBNRI);
        }
        protected void dgPemegangSaham_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            List<PemegangSaham> coll = new List<PemegangSaham>();
            if (ViewState["PemegangSahamMenjadi"] != null)
                coll = ViewState["PemegangSahamMenjadi"] as List<PemegangSaham>;

            if (e.CommandName == "add")
            {
                TextBox txtNamaPemegangSahamAdd = e.Item.FindControl("txtNamaPemegangSahamAdd") as TextBox;
                TextBox txtJumlahSahamAdd = e.Item.FindControl("txtJumlahSahamAdd") as TextBox;
                TextBox txtJumlahNominalAdd = e.Item.FindControl("txtJumlahNominalAdd") as TextBox;
                TextBox txtPercentagesAdd = e.Item.FindControl("txtPercentagesAdd") as TextBox;
                CheckBox cboPartnerAdd = e.Item.FindControl("cboPartnerAdd") as CheckBox;
                DateTimeControl dtTanggalMulaiMenjabatAdd = null;
                DateTimeControl dtTanggalAkhirMenjabatAdd = null;

                if (isExistInPemegangSahamGrid(txtNamaPemegangSahamAdd.Text))
                {
                    Util.ShowMessage(Page, SR.DataIsExist(txtNamaPemegangSahamAdd.Text.Trim()));
                    return;
                }

                PemegangSaham o = new PemegangSaham();
                o.Nama = txtNamaPemegangSahamAdd.Text.Trim();
                o.JumlahNominal = Convert.ToDouble(txtJumlahNominalAdd.Text);
                o.JumlahSaham = Convert.ToDouble(txtJumlahSahamAdd.Text);
                o.Partner = cboPartnerAdd.Checked;
                o.Percentages = Convert.ToDouble(txtPercentagesAdd.Text);

                dtTanggalMulaiMenjabatAdd = e.Item.FindControl("dtTanggalMulaiMenjabatAdd") as DateTimeControl;
                dtTanggalAkhirMenjabatAdd = e.Item.FindControl("dtTanggalAkhirMenjabatAdd") as DateTimeControl;
                o.MulaiMenjabat = dtTanggalMulaiMenjabatAdd.SelectedDate;
                o.AkhirMenjabat = dtTanggalAkhirMenjabatAdd.SelectedDate;

                int i = DateTime.Compare(dtTanggalMulaiMenjabatAdd.SelectedDate, dtTanggalAkhirMenjabatAdd.SelectedDate);
                if (i > 0)
                {
                    Util.ShowMessage(Page, "Tanggal Akhir Menjabat must be greater or equal than Tanggal Mulai Menjabat");
                    return;
                }

                o.ID = 0;
                coll.Add(o);

                ViewState["PemegangSahamMenjadi"] = coll;
            }
            if (e.CommandName == "save")
            {
                TextBox txtNamaPemegangSahamEdit = e.Item.FindControl("txtNamaPemegangSahamEdit") as TextBox;
                TextBox txtJumlahSahamEdit = e.Item.FindControl("txtJumlahSahamEdit") as TextBox;
                TextBox txtJumlahNominalEdit = e.Item.FindControl("txtJumlahNominalEdit") as TextBox;
                TextBox txtPercentagesEdit = e.Item.FindControl("txtPercentagesEdit") as TextBox;
                CheckBox cboPartnerEdit = e.Item.FindControl("cboPartnerEdit") as CheckBox;
                DateTimeControl dtTanggalMulaiMenjabatAdd = null;
                DateTimeControl dtTanggalAkhirMenjabatAdd = null;

                if (isExistInPemegangSahamGrid(txtNamaPemegangSahamEdit.Text))
                {
                    Util.ShowMessage(Page, SR.DataIsExist(txtNamaPemegangSahamEdit.Text.Trim()));
                    return;
                }

                PemegangSaham o = new PemegangSaham();
                o.Nama = txtNamaPemegangSahamEdit.Text.Trim();
                o.JumlahNominal = Convert.ToDouble(txtJumlahNominalEdit.Text);
                o.JumlahSaham = Convert.ToDouble(txtJumlahSahamEdit.Text);
                o.Partner = cboPartnerEdit.Checked;
                o.Percentages = Convert.ToDouble(txtPercentagesEdit.Text);

                dtTanggalMulaiMenjabatAdd = e.Item.FindControl("dtTanggalMulaiMenjabatAdd") as DateTimeControl;
                dtTanggalAkhirMenjabatAdd = e.Item.FindControl("dtTanggalAkhirMenjabatAdd") as DateTimeControl;
                o.MulaiMenjabat = dtTanggalMulaiMenjabatAdd.SelectedDate;
                o.AkhirMenjabat = dtTanggalAkhirMenjabatAdd.SelectedDate;

                int i = DateTime.Compare(dtTanggalMulaiMenjabatAdd.SelectedDate, dtTanggalAkhirMenjabatAdd.SelectedDate);
                if (i > 0)
                {
                    Util.ShowMessage(Page, "Tanggal Akhir Menjabat must be greater or equal than Tanggal Mulai Menjabat");
                    return;
                }

                coll[e.Item.ItemIndex] = o;
                ViewState["PemegangSahamMenjadi"] = coll;

                dgPemegangSaham.EditItemIndex = -1;
                dgPemegangSaham.ShowFooter = true;
            }
            if (e.CommandName == "edit")
            {
                dgPemegangSaham.ShowFooter = false;
                dgPemegangSaham.EditItemIndex = e.Item.ItemIndex;
            }
            if (e.CommandName == "cancel")
            {
                dgPemegangSaham.EditItemIndex = -1;
                dgPemegangSaham.ShowFooter = true;
            }
            if (e.CommandName == "delete")
            {
                PemegangSaham o = coll[e.Item.ItemIndex] as PemegangSaham;
                o.IsDeleted = true;
                coll[e.Item.ItemIndex] = o;
                ViewState["PemegangSahamMenjadi"] = coll;
            }
            BindPemegangSahamMenjadi();
        }
        private void GetPemegangSahamSemula(int idcompany)
        {
            SPList listPemegangSaham = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "PemegangSaham"));
            SPQuery query = new SPQuery();
            query.Query = "<Where>" +
                              "<Eq>" +
                                 "<FieldRef Name='PerusahaanBaru' LookupId='True' />" +
                                 "<Value Type='Lookup'>" + idcompany + "</Value>" +
                              "</Eq>" +
                          "</Where>" +
                          "<OrderBy>" +
                            "<FieldRef Name='Created' Ascending='False' />" +
                          "</OrderBy>";
            SPListItemCollection collSPPemegangSaham = listPemegangSaham.GetItems(query);

            List<PemegangSaham> collPemegangSaham = new List<PemegangSaham>();
            foreach (SPListItem i in collSPPemegangSaham)
            {
                PemegangSaham o = new PemegangSaham();
                o.ID = 0;
                o.Nama = i["Title"].ToString();
                o.JumlahNominal = Convert.ToDouble(i["JumlahNominal"]);
                o.JumlahSaham = Convert.ToDouble(i["JumlahSaham"]);
                o.Partner = Convert.ToBoolean(i["Partner"]);
                o.Percentages = Convert.ToDouble(i["Percentages"]);
                if (i["TanggalMulaiMenjabat"] != null)
                    o.MulaiMenjabat = Convert.ToDateTime(i["TanggalMulaiMenjabat"]);
                if (i["TanggalAkhirMenjabat"] != null)
                    o.AkhirMenjabat = Convert.ToDateTime(i["TanggalAkhirMenjabat"]);
                o.IsDeleted = false;
                collPemegangSaham.Add(o);
            }
            ViewState["PemegangSahamSemula"] = collPemegangSaham;
        }
        private void GetPemegangSahamMenjadi(int id)
        {
            SPList listPemegangSaham = web.GetList(Util.CreateSharePointListStrUrl(web.Url, "PerubahanPemegangSaham"));
            SPQuery query = new SPQuery();
            query.Query = "<Where>" +
                              "<Eq>" +
                                 "<FieldRef Name='PerubahanAnggaranDasar' LookupId='True' />" +
                                 "<Value Type='Lookup'>" + id + "</Value>" +
                              "</Eq>" +
                          "</Where>" +
                          "<OrderBy>" +
                            "<FieldRef Name='Created' Ascending='False' />" +
                          "</OrderBy>";
            SPListItemCollection collSPPemegangSaham = listPemegangSaham.GetItems(query);

            List<PemegangSaham> collPemegangSaham = new List<PemegangSaham>();
            foreach (SPListItem i in collSPPemegangSaham)
            {
                PemegangSaham o = new PemegangSaham();
                o.ID = i.ID;
                o.Nama = i["Title"].ToString();
                o.JumlahNominal = Convert.ToDouble(i["JumlahNominal"]);
                o.JumlahSaham = Convert.ToDouble(i["JumlahSaham"]);
                o.Partner = Convert.ToBoolean(i["Partner"]);
                o.Percentages = Convert.ToDouble(i["Percentages"]);
                o.IsDeleted = false;
                collPemegangSaham.Add(o);
            }
            ViewState["PemegangSahamMenjadi"] = collPemegangSaham;
        }