Example #1
0
        protected override void BeforeChange(DataColumn dc, DataRow ddr)
        {
            atriumDB.ActivityTimeRow dr = (atriumDB.ActivityTimeRow)ddr;

            switch (dc.ColumnName)
            {
            case "OfficeId":
                if (dr.IsOfficeIdNull())
                {
                    throw new RequiredException(dc.ColumnName);
                }
                else if (!myA.CheckDomain(dr.OfficeId, myA.Codes("OfficeList")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, dc.ColumnName, dc.Table.TableName, "Office List");
                }
                break;

            case ActivityFields.OfficerId:
                if (dr.IsOfficerIdNull())
                {
                    throw new RequiredException(dc.ColumnName);
                }
                else if (!myA.CheckDomain(dr.OfficerId, myA.Codes("OfficerList")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, dc.ColumnName, dc.Table.TableName, "Officer List");
                }
                break;

            case ActivityFields.Hours:
                //JLL: 2014-10-16 Change from minute to hour
                //if (dr.Hours > (24 * 60))
                if (!fixingHours)
                {
                    if (dr.Hours > 24)
                    {
                        throw new AtriumException("Minutes cannot be greater than 1440 minutes (24 hours) for one entry");
                    }
                    //if (dr.OfficeId != this.myA.AtMng.OfficeLoggedOn.OfficeId || (dr.Final && !dr.IsIRPIdNull()))
                    //    throw new AtriumException(atriumBE.Properties.Resources.ActivityTimeCannotEditHoursFees);
                }
                break;

            case ActivityFields.IRPId:
            case ActivityFields.FeesClaimed:
            case ActivityFields.FeesClaimedTax:
            case ActivityFields.Posted:
            case ActivityFields.Final:
                //if (dr.OfficeId != this.myA.AtMng.OfficeLoggedOn.OfficeId || (dr.Final && !dr.IsIRPIdNull()))
                //    throw new AtriumException(atriumBE.Properties.Resources.ActivityTimeCannotEditHoursFees);
                break;

            case ActivityFields.Taxed:
                if (!dr.Final && dr.Taxed)
                {
                    throw new AtriumException(atriumBE.Properties.Resources.ActivityTimeCannotTax);
                }
                break;
            }
        }