Ejemplo n.º 1
0
        protected override void AfterSaveUpdate()
        {
            CekIndukAkun();

            if (_Posting && Find.IsExists <Akun>("IdInduk=@0",
                                                 new FieldParam("0", _IdAkun)))
            {
                AddError("Posting",
                         "Akun Posting Tidak Boleh Mempunyai Anak");
            }

            if (_JenisAkun != GetOriginal <Akun>()._JenisAkun)
            {
                if (Find.IsExists <Akun>("IdInduk=@0",
                                         new FieldParam("0", _IdAkun)))
                {
                    AddError("JenisAkun",
                             "Jenis Akun tidak dapat diubah karena sudah memiliki anak");
                }
            }
            if (_NoAkun != GetOriginal <Akun>().NoAkun&&
                GetOriginal <Akun>().Posting == false)
            {
                string NoAkunOrg = GetOriginal <Akun>().NoAkun;
                ExecuteNonQuery(string.Concat(
                                    "UPDATE Akun SET UrutanCetak=@0+",
                                    Dp.GetSqlSubString("UrutanCetak",
                                                       GetOriginal <Akun>().UrutanCetak.Length + 1, 250),
                                    " WHERE UrutanCetak LIKE @1"),
                                new FieldParam("0", UrutanCetak),
                                new FieldParam("1", GetOriginal <Akun>()
                                               .UrutanCetak + "|%"));
                //ExecuteNonQuery(
                //    string.Concat("UPDATE Akun SET NoAkun = ",
                //    FormatSqlValue(_NoAkun), "+",
                //    DataPersistance.GetSqlSubString("NoAkun",
                //    NoAkunOrg.Length + 1, 100), " WHERE IdAkun LIKE ",
                //    FormatSqlValue(string.Concat(IdAkun, ".%")),
                //    " AND ", DataPersistance.GetSqlSubString("NoAkun",
                //    1, NoAkunOrg.Length), " = ", FormatSqlValue(
                //    GetOriginal<Akun>().NoAkun)));
            }
            if (GetErrorString().Length == 0)
            {
                if (_KelompokAkun == enKelompokAkun.Laba__RugiTahunBerjalan)
                {
                    BaseGL.SetingPerusahaan
                    .IdAkunLabaRugiTahunBerjalan = _IdAkun;
                }
                else if (_KelompokAkun == enKelompokAkun.Laba__RugiTahunLalu)
                {
                    BaseGL.SetingPerusahaan
                    .IdAkunLabaRugiTahunLalu = _IdAkun;
                }
                BaseSecurity.UpdateDocument(GetType(),
                                            GetOriginal <Akun>()._IdAkun, _IdAkun);
                if (_KelompokAkun != GetOriginal <Akun>()._KelompokAkun)
                {
                    if (GetOriginal <Akun>()._KelompokAkun ==
                        enKelompokAkun.Kas__Bank)
                    {
                        KurangiJmlPengunci(Dp, _IdAkun);
                    }

                    if (_KelompokAkun == enKelompokAkun.Kas__Bank)
                    {
                        TambahJmlPengunci(Dp, _IdAkun);
                    }
                }
            }
        }