示例#1
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (CLAS.HardshipRow r in myHardshipDT)
     {
         MyXml(r, xd);
     }
 }
示例#2
0
 public void CompleteAllBFs(atriumDB.EFileRow er, bool WFOnly)
 {
     AllowEdit = true;
     atriumDB.ProcessRow[] prs = er.GetProcessRows();
     foreach (atriumDB.ProcessRow pr in prs)
     {
         foreach (atriumDB.ActivityRow ar in pr.GetActivityRows())
         {
             foreach (atriumDB.ActivityBFRow abr in ar.GetActivityBFRows())
             {
                 if (WFOnly)
                 {
                     if (abr.Completed == false && (abr.ACBFId != ActivityBFBE.USERBFID & abr.ACBFId != 368))
                     {
                         abr.Completed = true;
                     }
                 }
                 else
                 {
                     if (abr.Completed == false)
                     {
                         abr.Completed = true;
                     }
                 }
             }
         }
         myA.GetProcess().SetActive(pr);
     }
     AllowEdit = false;
 }
示例#3
0
        //public FileManager(atriumManager atMng, string SIN)
        //    : base(atMng.AppMan)
        //{
        //    Init(atMng);
        //    myCurrentFileId = EFile.LoadBySIN(SIN).FileId;
        //    LeadOfficeMng = myatMng.GetOffice(CurrentFile.LeadOfficeId);
        //}

        public FileManager(atriumManager atMng, string mode, string term)
            : base(atMng.AppMan)
        {
            Init(atMng);
            atriumDB.EFileRow er = null;
            switch (mode.ToLower())
            {
            //case "path":
            //    er = EFile.LoadByPath(term);
            //    break;
            case "fullfilenumber":
                er = EFile.LoadByFullFileNumber(term);
                break;

            //case "sin":
            //    er = EFile.LoadBySIN(term);
            //    break;
            default:
                break;
            }
            if (er != null)
            {
                myCurrentFileId = er.FileId;
                LoadAll(false);
            }
        }
示例#4
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (SST.FilePartyRow r in myFilePartyDT)
     {
         MyXml(r, xd);
     }
 }
示例#5
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (Advisory.OpinionRow r in myOpinionDT)
     {
         MyXml(r, xd);
     }
 }
示例#6
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (CLAS.InsolvencyRow r in myInsolvencyDT)
     {
         MyXml(r, xd);
     }
 }
示例#7
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (CLAS.FileAccountRow r in myFileAccountDT.Rows)
     {
         MyXml(r, xd);
     }
 }
示例#8
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (atriumDB.FileContactRow fcr in efr.GetFileContactRows())
     {
         MyXml(fcr, xd);
     }
 }
示例#9
0
        public override bool CanEdit(DataRow dr)
        {
            atriumDB.EFileRow er = myA.FM.CurrentFile;

            bool isOwner = false;

            if (!er.IsNull("OwnerOfficeId") && er.OwnerOfficeId == myA.AtMng.WorkingAsOfficer.OfficeId)
            {
                isOwner = true;
            }

            //JLL sysadmin hack
            if (myA.AtMng.SecurityManager.CanExecute(0, atSecurity.SecurityManager.Features.SysAdmin) == atSecurity.SecurityManager.ExPermissions.Yes)
            {
                return(true);
            }

            if (!isOwner)
            {
                return(false);
            }
            else
            {
                return(myA.AtMng.SecurityManager.CanUpdate(er.FileId, atSecurity.SecurityManager.Features.OfficeAccount) != atSecurity.SecurityManager.LevelPermissions.No);
            }
        }
示例#10
0
        //move to activitybf?
        public bool HasIncompleteBFs(atriumDB.EFileRow er, bool monitor)
        {
            //if (er.GetActivityRows().Length == 0)
            //    this.myA.GetActivity().LoadByFileId(er.FileId);
            //else if (er.GetActivityRows().Length == 1 && er.GetActivityRows()[0].RowState == DataRowState.Added)
            //    this.myA.GetActivity().LoadByFileId(er.FileId);

            atriumDB.ActivityRow[] ars = er.GetActivityRows();
            foreach (atriumDB.ActivityRow ar in ars)
            {
                foreach (atriumDB.ActivityBFRow br in ar.GetActivityBFRows())
                {
                    if (monitor)
                    {
                        if (!br.isMail && !br.IsBFDateNull() && !br.Completed && !br.MonitorIncomplete)
                        {
                            return(true);
                        }
                    }
                    else
                    {
                        if (!br.isMail && !br.IsBFDateNull() && !br.Completed)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
示例#11
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (CLAS.DebtRow r in myDebtDT)
     {
         MyXml(r, xd);
     }
 }
示例#12
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (atriumDB.FileOfficeRow r in efr.GetFileOfficeRows())
     {
         MyXml(r, xd);
     }
 }
示例#13
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
 {
     foreach (CLAS.CompOfferRow r in myCompOfferDT)
     {
         MyXml(r, xd);
     }
 }
示例#14
0
 private void eFileBindingSource_CurrentChanged(object sender, EventArgs e)
 {
     if (CurrentRow() != null)
     {
         atriumDB.EFileRow cbr = CurrentRow();
         ApplySecurity(cbr);
     }
 }
示例#15
0
 public override bool CanAdd(DataRow parent)
 {
     atriumDB.EFileRow er = (atriumDB.EFileRow)parent;
     if (er.RowState == DataRowState.Added)
     {
         return(true);
     }
     return(AllowAdd || myA.AtMng.SecurityManager.CanAdd(er.FileId, atSecurity.SecurityManager.Features.Process) > atSecurity.SecurityManager.ExPermissions.No);
 }
示例#16
0
        public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
        {
            WritBE wbe = this.myA.GetWrit();

            CostBE cbe = this.myA.GetCost();

            PropertyBE pbe = this.myA.GetProperty();

            foreach (CLAS.JudgmentRow jr in myJudgmentDT)
            {
                MyXml(jr, xd);
                wbe.MyXml(jr, xd);
                cbe.MyXml(jr, xd);
            }
        }
示例#17
0
        public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd)
        {
            int i = 0;

            foreach (atriumDB.SRPRow sr in  myA.DB.SRP.Select("FileId=" + efr.FileId.ToString(), "SRPDate desc"))
            {
                i++;
                if (i >= 4)
                {
                    break;
                }
                MyXml(sr, xd);
            }
            if (i == 0) // no SRP, new office
            {
                EFileBE.XmlAddToc(xd, "srp", "SRP Info", "Info SDP", 250);
            }
        }
示例#18
0
        private void DisbDetailRow(string officeFileNo, DateTime activityDate, DateTime disbDate, CodesDB.DisbursementTypeRow disbTypeR, decimal taxableDisb, decimal nonTaxableDisb, string comment, ref bool encounteredError, int officeId, DateTime srpDate)
        {
            if (officeFileNo == "")
            {
                officeFileNo = "General Account";
            }

            try
            {
                FileManager fmCur = myA.AtMng.GetFile(officeFileNo, officeId);
                fms.Add(fmCur.CurrentFile.FileId, fmCur);

                atriumDB.EFileRow    drEfile = fmCur.CurrentFile;// fm.EFile.LoadByOfficeFileNum(officeFileNo, officeId);
                atriumDB.ActivityRow drActivity;

                if (drEfile != null)
                {
                    //fmCur.GetActivity().LoadByFileId(drEfile.FileId);

                    drActivity = GetClosestActivity(fmCur, activityDate, officeFileNo, officeId.ToString(), disbTypeR, disbDate, drEfile.FileId.ToString(), ref encounteredError);

                    if (drActivity != null)
                    {
                        atriumDB.DisbursementRow drDisb = (atriumDB.DisbursementRow)fmCur.GetDisbursement().Add(drActivity);
                        AddDisbursement(drDisb, officeId, disbDate, srpDate, nonTaxableDisb, taxableDisb, disbTypeR.DisbursementType, comment);
                        if (drDisb.HasErrors)
                        {
                            WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.CouldNotAddDisbursement + drDisb.RowError);
                            encounteredError = true;
                        }
                    }
                    else
                    {
                        WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.MatchingActivityNotFound);
                        encounteredError = true;
                    }
                }
            }
            catch (Exception x)
            {
                WriteErrorLog(officeFileNo, activityDate, disbTypeR.DisbursementType, disbDate, Resources.OfficeFileNumberNotValid + x.Message);
                encounteredError = true;
            }
        }
示例#19
0
        public override bool CanDelete(DataRow dr)
        {
            atriumDB.EFileRow er = myA.FM.CurrentFile;

            bool isOwner = false;

            if (!er.IsNull("OwnerOfficeId") && er.OwnerOfficeId == myA.AtMng.WorkingAsOfficer.OfficeId)
            {
                isOwner = true;
            }

            if (!isOwner)
            {
                return(false);
            }
            else
            {
                return(myA.AtMng.SecurityManager.CanDelete(er.FileId, atSecurity.SecurityManager.Features.OfficeAccount) == atSecurity.SecurityManager.LevelPermissions.All);
            }
        }
示例#20
0
        internal void AddUserFileRule(int groupId, atriumDB.EFileRow file, int ruleId)
        {
            FileManager fm = myA.AtMng.GetFile(file.FileId);

            atriumDB.secFileRuleRow sfr = (atriumDB.secFileRuleRow)fm.GetsecFileRule().Add(file);
            sfr.FileId  = file.FileId;
            sfr.GroupId = groupId;
            sfr.RuleId  = ruleId;

            BusinessProcess bp = fm.GetBP();

            bp.AddForUpdate(fm.GetsecFileRule());
            bp.Update();
            //myA.AtMng.SecurityManager.Commit();

            //get rid of new row if present as database new row will have been returned with a different pkid
            //lmDatasets.SecurityDB.secFileRuleRow sfr0 = myA.AtMng.SecurityManager.DB.secFileRule.FindById(0);
            //if (sfr0 != null)
            //{
            //    myA.AtMng.SecurityManager.DB.secFileRule.RemovesecFileRuleRow(sfr0);
            //    myA.AtMng.SecurityManager.DB.secFileRule.AcceptChanges();
            //}
        }
示例#21
0
        private atriumDB.EFileRow CreateFile(FileManager parentFile)
        {
            try
            {
                ParentFile = parentFile;
                atriumDB.EFileRow drFile = (atriumDB.EFileRow)EFile.Add(parentFile.CurrentFile);

                atriumDB.FileXRefRow fxr = (atriumDB.FileXRefRow)GetFileXRef().Add(parentFile.CurrentFile);
                fxr.LinkType    = 0;
                fxr.FileId      = parentFile.CurrentFile.FileId;
                fxr.OtherFileId = drFile.FileId;
                if (!drFile.IsNull("FileNumber"))
                {
                    fxr.Name           = drFile.FileNumber;
                    fxr.FullFileNumber = drFile.FullFileNumber;
                }

                return(drFile);
            }
            catch (Exception exc)
            {
                throw exc;
            }
        }
示例#22
0
        public override void ApplySecurity(DataRow dr)
        {
            if (FileForm() != null && FileForm().ReadOnly)
            {
                return;
            }

            atriumDB.EFileRow cbr = (atriumDB.EFileRow)dr;
            if (FM.CurrentFile.RowState != DataRowState.Deleted)
            {
                int  perm = (int)FM.AtMng.SecurityManager.CanUpdate(FM.CurrentFile.FileId, atSecurity.SecurityManager.Features.EfileScreen);
                bool ok   = perm > 0 & perm < 10 & FM.EFile.CanEdit(FM.CurrentFile);

                if (ok)
                {
                    tsDump.Visible        = Janus.Windows.UI.InheritableBoolean.True;
                    cmdFileAccess.Visible = Janus.Windows.UI.InheritableBoolean.True;
                }
                else
                {
                    tsDump.Visible        = Janus.Windows.UI.InheritableBoolean.False;
                    cmdFileAccess.Visible = Janus.Windows.UI.InheritableBoolean.False;
                }

                if (FM.AtMng.SecurityManager.CanOverride(FM.CurrentFileId, atSecurity.SecurityManager.Features.secFileRule) == atSecurity.SecurityManager.ExPermissions.Yes)
                {
                    tsSecurity.Visible = Janus.Windows.UI.InheritableBoolean.True;
                }
                else
                {
                    tsSecurity.Visible = Janus.Windows.UI.InheritableBoolean.False;
                }

                UIHelper.EnableControls(eFileBindingSource, ok);
                UIHelper.EnableControls(archiveBatchBindingSource, ok);
                appDB.EFileSearchRow pdr = FM.EFile.GetEfileParentRow(cbr);
                bool auto = false;// FM.DB.FileMetaType.FindByMetaTypeCode(pdr.MetaType).SubFileAutoNumber;
                if (pdr != null & ok)
                {
                    auto = FM.DB.FileMetaType.FindByMetaTypeCode(pdr.MetaType).SubFileAutoNumber;
                    fileNumberEditBox.ReadOnly = auto;
                }
                //disable period fields where children are not auto-numbered
                if (!auto)
                {
                    mccPeriod.Enabled          = false;
                    calPeriodStartDate.Enabled = false;
                }



                perm = (int)FM.AtMng.SecurityManager.CanDelete(FM.CurrentFile.FileId, atSecurity.SecurityManager.Features.EfileScreen);
                ok   = perm > 0 & perm < 10 & FM.EFile.CanDelete(FM.CurrentFile);
                UIHelper.EnableCommandBarCommand(tsDelete, ok);

                //jll 2015-10-02: what the hell is this?!?
                if (!descriptionEEditBox.Enabled)
                {
                    descriptionEEditBox.ReadOnly = true;
                    descriptionEEditBox.Enabled  = true;
                }
            }
        }
示例#23
0
        private void setFilePropertiesFromXML(FileManager fm, XmlDocument efileXml, string fileMetaType, string foldername)
        {
            appDB.EFileSearchRow efs      = fm.EFile.GetEfileParentRow(fm.CurrentFile);
            FileManager          fmParent = AtMng.GetFile(efs.FileId);

            atriumDB.EFileRow pFile = fmParent.CurrentFile;
            if (pFile.NameE == "[NameNotSet]")
            {
                //set name properly
                string filenum = getNodeValue(efileXml, "FileNo2");

                string fileopened = getNodeValue(efileXml, "FileOpenDate");
                string fileclosed = getNodeValue(efileXml, "FileCloseDate");

                if (!string.IsNullOrEmpty(fileopened))
                {
                    DateTime fileOpenedDate = DateTime.ParseExact(fileopened, "dd/MM/yyyy hh:mm:ss tt", provider);
                    pFile.OpenedDate = fileOpenedDate;
                }
                if (!string.IsNullOrEmpty(fileclosed))
                {
                    DateTime fileClosedDate = DateTime.ParseExact(fileclosed, "dd/MM/yyyy hh:mm:ss tt", provider);
                    pFile.ClosedDate = fileClosedDate;
                    pFile.CloseCode  = "800";
                }

                pFile.StatusCode = (getNodeValue(efileXml, "Status") == "Open") ? "O" : "C";

                string fileDesc = getNodeValue(efileXml, "FileDescription");

                if (fileDesc.Length > 0)
                {
                    pFile.DescriptionE = fileDesc;
                }

                if (filenum.IndexOf(" ") == -1)
                {
                    pFile.FileNumber = filenum;
                }
                else
                {
                    pFile.FileNumber = filenum.Substring(0, filenum.IndexOf(" "));
                }

                pFile.NameE    = getNodeValue(efileXml, "Subject");
                pFile.NameF    = pFile.NameE;
                pFile.FileType = "F";

                if (!string.IsNullOrEmpty(fileMetaType))
                {
                    pFile.MetaType = fileMetaType;
                }

                //fileAKA
                string FileNo = getNodeValue(efileXml, "FileNo");
                if (!string.IsNullOrEmpty(FileNo) || FileNo != "-")
                {
                    //create new AKA record using FileNo
                }
                atLogic.BusinessProcess bp = fmParent.GetBP();

                bp.AddForUpdate(fmParent.EFile);
                bp.AddForUpdate(fmParent.GetFileXRef());
                bp.AddForUpdate(fmParent.GetFileOffice());

                bp.Update();
            }

            //TODO: Identify other properties and decide how to handle ones that don't have a home (e.g. new entity? store in xml file like extract from lotus?)
        }
示例#24
0
 public override bool CanAdd(DataRow parent)
 {
     atriumDB.EFileRow er = (atriumDB.EFileRow)parent;
     return(AllowAdd || myA.AtMng.SecurityManager.CanAdd(er.FileId, atSecurity.SecurityManager.Features.CashBlotter) > atSecurity.SecurityManager.ExPermissions.No);
 }
示例#25
0
 public void MyXml(atriumDB.EFileRow efr, System.Xml.XmlDocument xd, officeDB.OfficeRow or)
 {
     EFileBE.XmlAddToc(xd, "office", "Office", "Bureau", 160, or.OfficeId.ToString());
     EFileBE.XmlAddToc(xd, "officer", "Personnel", "Personnel", 170);
 }
示例#26
0
        private void DisbBulkRow(string officeFileNo, DateTime disbDate, CodesDB.DisbursementTypeRow disbTypeR, decimal taxableDisb, decimal nonTaxableDisb, string comment, ref bool encounteredError, int officeId, DateTime srpDate)
        {
            if (!disbTypeR.IsBulk)//  disbTypeCode == "CO" || disbTypeCode == "FA" || disbTypeCode == "LD" || disbTypeCode == "PH" || disbTypeCode == "PO" || disbTypeCode == "RM")
            {
                if (officeFileNo == "")
                {
                    officeFileNo = "General Account";
                }
                atriumDB.EFileRow drEfile = null;

                try
                {
                    FileManager fmCur = myA.AtMng.GetFile(officeFileNo, officeId);
                    fms.Add(fmCur.CurrentFile.FileId, fmCur);
                    drEfile = fmCur.CurrentFile;

                    if (drEfile != null)
                    {
                        //fmCur.GetActivity().LoadByFileId(drEfile.FileId);
                        //JL: Change to DisbursementType from ACManagement to CodesDB bobo.
                        //string activityQuery = "officeid=" + officeId.ToString() + " and fileid=" + drEfile.FileId.ToString() + " and activitycodeid=" + disbTypeR.GetACDisbRows()[0].ActivityCodeId.ToString() + " and activitydate='" + srpDate.ToString("yyyy/MM/dd") + "'";
                        string activityQuery = "";
                        atriumDB.ActivityRow[] drActivityArr = (atriumDB.ActivityRow[])fmCur.DB.Activity.Select(activityQuery);
                        atriumDB.ActivityRow   drActivity;
                        if (drActivityArr.Length == 0)
                        {
                            //JL: Change of DisbursementType from ACMAnager dataset to CodesDB dataset bobo.
                            //ActivityConfig.ACSeriesRow bulkACS =(ActivityConfig.ACSeriesRow) myA.AtMng.acMng.DB.ACSeries.Select("ActivityCodeId=" + disbTypeR.GetACDisbRows()[0].ActivityCodeId.ToString())[0];//.FindByACSeriesId(disbTypeR.GetACDisbRows()[0].ACSeriesId);
                            ActivityConfig.ACSeriesRow bulkACS = null;
                            ACEngine ace = fmCur.InitActivityProcess().Add(srpDate, bulkACS, null, false, null);
                            drActivity = ace.NewActivity;

                            drActivity.BeginEdit();
                            drActivity.OfficeId = officeId;
                            drActivity.EndEdit();
                            if (drActivity.HasErrors)
                            {
                                if (drActivity.HasErrors)
                                {
                                    WriteErrorLog(officeFileNo, "", srpDate, Resources.CouldNotCreateAC022 + drActivity.RowError);
                                    encounteredError = true;
                                }
                            }
                        }
                        else
                        {
                            drActivity = drActivityArr[0];
                        }

                        atriumDB.DisbursementRow drDisb = (atriumDB.DisbursementRow)fmCur.GetDisbursement().Add(drActivity);
                        AddDisbursement(drDisb, officeId, disbDate, srpDate, nonTaxableDisb, taxableDisb, disbTypeR.DisbursementType, comment);
                        if (drDisb.HasErrors)
                        {
                            WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.CouldNotAddDisbursement + drDisb.RowError);
                            encounteredError = true;
                        }
                    }
                }
                catch (Exception x)
                {
                    WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.OfficeFileNumberNotValid + x.Message);
                    encounteredError = true;
                }
            }
            else
            {
                WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.InvalidDisbursmentTypeCode);
                encounteredError = true;
            }
        }
示例#27
0
        private void LoadAutoSaveDT()
        {
            ACEStateDictionnary = new Dictionary <int, ACEState>();
            AutoSaveDT          = new appDB.AutoSaveDataTable();
            AutoSaveDT.BeginLoadData();
            foreach (ACEState itm in AtMng.SuspendedAcs)
            {
                //itm.Doc_DB.FileFormat.Merge(myFM.GetDocMng().DB.FileFormat);
                appDB.AutoSaveRow            autoSaveRow = AutoSaveDT.NewAutoSaveRow();
                ActivityConfig.ACSeriesRow[] acsr        = (ActivityConfig.ACSeriesRow[])AtMng.acMng.DB.ACSeries.Select("acseriesid=" + itm.AcSeriesId);
                ACEStateDictionnary.Add(itm.ActivityId, itm);
                if (acsr.Length == 1)
                {
                    autoSaveRow.StepCode        = acsr[0].StepCode;
                    autoSaveRow.ActivityNameEng = acsr[0].ActivityNameEng;
                }
                else
                {
                    autoSaveRow.StepCode        = LawMate.Properties.Resources.INVALIDACTIVITY;
                    autoSaveRow.ActivityNameEng = LawMate.Properties.Resources.INVALIDACTIVITY;
                    autoSaveRow.RowError        = LawMate.Properties.Resources.CannotResumeThisActivity;
                }
                autoSaveRow.ActivityId = itm.ActivityId;
                atriumDB dsA = new atriumDB();
                dsA.Merge(ACEState.GetDSFromACE(itm, myFM.GetBEMngrForTable("EFile").MyDS.DataSetName));
                autoSaveRow.SaveDate = dsA.Activity.FindByActivityId(itm.ActivityId).ActivityEntryDate;

                if (!dsA.Activity.FindByActivityId(itm.ActivityId).IsDocIdNull())
                {
                    DocumentIsLatest(itm, autoSaveRow);
                }

                atriumDB.EFileRow efr = dsA.EFile.FindByFileId(itm.FileId);
                if (efr == null)
                {
                    try
                    {
                        efr = AtMng.GetFile(itm.FileId).CurrentFile;
                    }
                    catch (Exception x)
                    {
                        efr = null;
                    }
                }

                if (efr == null)
                {
                    autoSaveRow.FileName       = LawMate.Properties.Resources.DELETEDFILE;
                    autoSaveRow.FullFileNumber = LawMate.Properties.Resources.DELETEDFILE;
                    autoSaveRow.RowError       = LawMate.Properties.Resources.CannotResumeThisActivity;
                }
                else
                {
                    autoSaveRow.FileName       = efr.NameE;
                    autoSaveRow.FullFileNumber = efr.FullFileNumber;
                }

                AutoSaveDT.AddAutoSaveRow(autoSaveRow);
            }
            AutoSaveDT.EndLoadData();
        }
示例#28
0
 public override bool CanAdd(DataRow parent)
 {
     atriumDB.EFileRow efr = (atriumDB.EFileRow)parent;
     return(true);
 }