Пример #1
0
        internal SRPBE(FileManager pBEMng)
            : base(pBEMng, pBEMng.DB.SRP)
        {
            myA     = pBEMng;
            mySRPDT = (atriumDB.SRPDataTable)myDT;
            if (!myA.AtMng.AppMan.UseService && myODAL == null)
            {
                myODAL = myA.AtMng.DALMngr.GetSRP();
            }

            this.mySRPDT.FeesClaimedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.FeesClaimedTaxColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.FeesTaxedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.FeesTaxedTaxColumn.ExtendedProperties.Add("format", "C");

            this.mySRPDT.DisbursementClaimedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.DisbursementClaimedTaxColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.DisbursementTaxedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.DisbursementTaxedTaxColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.DisbursementTaxExemptClaimedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.DisbursementTaxExemptTaxedColumn.ExtendedProperties.Add("format", "C");

            this.mySRPDT.AmountPayableColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.NetTotalClaimedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.NetTotalTaxedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.QRWithdrawalColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.TaxingDifferenceColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.TotalClaimedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.TotalDisbursementTaxedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.TotalTaxClaimedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.TotalTaxedColumn.ExtendedProperties.Add("format", "C");
            this.mySRPDT.TotalTaxTaxedColumn.ExtendedProperties.Add("format", "C");
        }
Пример #2
0
        public void BindTimeSlipData(atriumDB.SRPDataTable dt)
        {
            DataView dvSRP = new DataView(dt, "Fileid=" + FM.CurrentFile.FileId.ToString(), "", DataViewRowState.CurrentRows);

            if (dvSRP.Count == 0)
            {
                NoTimeSlipRecordsExist = true;
                PromptForStartDate     = true;
                maxDate = atDates.StandardDate.LastMonth.BeginDate.Date.AddYears(-1);
            }
            else
            {
                maxDate = Convert.ToDateTime((dt.Compute("max(SRPDate)", "Fileid=" + FM.CurrentFile.FileId.ToString())));
                DateTime maxDateFirstOfMonth = maxDate.AddDays(-(maxDate.Day - 1));
                if (maxDateFirstOfMonth != atDates.StandardDate.ThisMonth.BeginDate.Date)
                {
                    //no current record - is there a gap between last month and this month?
                    if (maxDate.AddMonths(1) == atDates.StandardDate.ThisMonth.BeginDate.Date)
                    {
                        //automatically create next month's srp
                        CreateNewTimeSlip(atDates.StandardDate.ThisMonth.BeginDate.Date);
                    }
                    else
                    {
                        //need to calculate how many
                        DateTime CurrentDate  = maxDate;
                        int      MonthCounter = 0;
                        while (CurrentDate != atDates.StandardDate.ThisMonth.BeginDate.Date)
                        {
                            MonthCounter++;
                            DateTime NextMonth = CurrentDate.AddMonths(+1);
                            CurrentDate = NextMonth;

                            if (MonthCounter >= 24)
                            {
                                MoreThanTwoYearsSinceLastSlip = true;
                                break;
                            }
                        }
                        PromptForStartDate = true;
                    }
                }

                CalculateOpenPeriodTotals(dt);
            }

            sRPBindingSource.DataSource       = dvSRP;
            sRPBindingSource.DataMember       = "";
            timeSlipBindingSource.DataSource  = TSdt;
            timeSlipBindingSource.DataMember  = "";
            sRPClientBindingSource.DataSource = SRPClientDt;
            sRPClientBindingSource.DataMember = "";
            sRPBindingSource.Filter           = "FileID=" + FM.CurrentFile.FileId;
        }
Пример #3
0
        public atriumDB.SRPRow GetCurrentSRP(int officeId)
        {
            //note: this method does not load the srprow into the dataset

            atriumDB.SRPRow       sr;
            atriumDB.SRPDataTable srpDt = myDAL.LoadCurrentByOfficeID(officeId);
            if (srpDt.Rows.Count > 0)
            {
                return(srpDt[0]);
            }
            else
            {
                return(null);
            }
        }
Пример #4
0
        public void CloseActivityTimePeriod(int srpId)
        {
            atriumDB.SRPRow drSrp = this.Load(srpId);
            if (drSrp.IsSRPSubmittedDateNull())
            {
                FileManager         fm = this.myA.AtMng.GetFile(drSrp.FileID);
                officeDB.OfficerRow or = fm.AtMng.OfficeMng.GetOfficer().LoadByMyFileId(fm.CurrentFile.FileId);
                if (or != null)
                {
                    try
                    {
                        //drSrp.BeginEdit();
                        //drSrp.SRPSubmittedDate = DateTime.Today;
                        //drSrp.EndEdit();

                        ////officeDB.SRPRow newSrp = (officeDB.SRPRow)this.Add(fm.CurrentFile);
                        ////newSrp.FileID = fm.CurrentFile.FileId;
                        ////newSrp.entryUser = "******";
                        ////newSrp.SRPDate = drSrp.SRPDate.AddMonths(1);

                        //BusinessProcess bp = myA.GetBP();
                        //bp.AddForUpdate(this);
                        //bp.Update();

                        //TODO: make sure this is part of the transaction
                        //this.myA.AppMan.ExecuteSP("SubmitTimeslip", drSrp.SRPID, or.OfficerId, drSrp.SRPDate, drSrp.SRPDate.AddMonths(1).AddDays(-1), DateTime.Today);

                        atriumDB.SRPDataTable dt = myDAL.SubmitTimeslip(drSrp.SRPID, or.OfficerId, drSrp.SRPDate, drSrp.SRPDate.AddMonths(1).AddDays(-1));
                        Fill(dt);
                        //this.Load(srpId);
                    }
                    catch
                    {
                        throw;
                    }
                }
                else
                {
                    throw new AtriumException("No officer for file");
                }
            }
            else
            {
                throw new AtriumException("Activity Time Period is already closed");
            }
        }
Пример #5
0
        public void bindSRPData(atriumDB.SRPDataTable a)
        {
            label2.Visible = false;
            myOfficeMan    = FM.AtMng.GetOffice(FM.CurrentFile.LeadOfficeId);
            officeIDucOfficeSelectBox.AtMng = FM.AtMng;

            sRPBindingSource.DataSource = a.DataSet;
            sRPBindingSource.DataMember = a.TableName;

            a.ColumnChanged += new DataColumnChangeEventHandler(a_ColumnChanged);
            FM.GetSRP().OnUpdate += new atLogic.UpdateEventHandler(ucSRP_OnUpdate);

            //ApplySecurity(CurrentRow());

            if (!myOfficeMan.CurrentOffice.UploadsDisb)
            {
                tsImport.Enabled = Janus.Windows.UI.InheritableBoolean.False;
            }

            if (!myOfficeMan.CurrentOffice.UsesBilling)
            {
                tsSubmitSRP.Enabled = Janus.Windows.UI.InheritableBoolean.False;
                tsGenSRP.Enabled    = Janus.Windows.UI.InheritableBoolean.False;
            }

            if (FM.AtMng.SecurityManager.CanExecute(0, atSecurity.SecurityManager.Features.SysAdmin) == atSecurity.SecurityManager.ExPermissions.Yes)
            {
                cmdRollbackSRP.Visible = Janus.Windows.UI.InheritableBoolean.True;
            }
            else
            {
                cmdRollbackSRP.Visible = Janus.Windows.UI.InheritableBoolean.False;
            }

            if (a.Count == 0) // no SRPs
            {
                NoData();
            }

            FileTreeView.BuildMenu(FM, tsActions, "SRP");
        }
Пример #6
0
        private void CalculateOpenPeriodTotals(atriumDB.SRPDataTable dtSRP)
        {
            foreach (atriumDB.SRPRow srpRow in dtSRP.Select("Fileid=" + FM.CurrentFile.FileId.ToString()))
            {
                if (!LoadedSRPs.Contains(srpRow.SRPID) && srpRow.IsSRPSubmittedDateNull())
                {
                    appDB.TimeSlipDataTable TSdt2Merge = new appDB.TimeSlipDataTable();

                    DateTime            endDate = srpRow.SRPDate.AddMonths(1).AddMinutes(-1);
                    officeDB.OfficerRow or      = FM.AtMng.OfficeMng.GetOfficer().LoadByMyFileId(FM.CurrentFile.FileId);
                    if (or != null)
                    {
                        TSdt2Merge = (appDB.TimeSlipDataTable)FM.GetActivityTime().LoadByOfficerId(or.OfficerId, srpRow.SRPDate, endDate);
                        if (TSdt2Merge.Rows.Count > 0)
                        {
                            decimal srpTotalTime = Convert.ToDecimal((TSdt2Merge.Compute("sum(Hours)", String.Empty)));
                            srpRow.FeesClaimed = srpTotalTime;
                        }
                        else
                        {
                            srpRow.FeesClaimed = 0;
                        }

                        LoadedSRPs.Add(srpRow.SRPID);
                        TSdt.Merge(TSdt2Merge);
                        LoadSrpClient(or.OfficerId, srpRow.SRPID, srpRow.SRPDate, endDate);
                        tsData.TimeSlipBranch.Merge(FM.GetActivityTime().LoadBranchByOfficerId(or.OfficerId, srpRow.SRPDate, endDate));
                    }
                    else
                    {
                        MessageBox.Show(LawMate.Properties.Resources.ThePersonalFileAssociatedTimekeepingNotFound, LawMate.Properties.Resources.PersonalFileNotFound, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }
        }