Ejemplo n.º 1
0
        protected override void BeforeChange(DataColumn dc, DataRow ddr)
        {
            atriumDB.FileContactRow dr = (atriumDB.FileContactRow)ddr;
            switch (dc.ColumnName)
            {
            case "ContactType":
                if (!myA.CheckDomain(dr.ContactType, myA.Codes("ContactType")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, dc.ColumnName, dr.Table.TableName, "Contact Type");
                }

                //if contact type is once per file see if it it on any other records
                bool once = false;
                once = (bool)myA.Codes("ContactType").Select("ContactTypeCode='" + dr.ContactType + "'")[0]["OncePerFile"];
                if (once)
                {
                    foreach (atriumDB.FileContactRow fcr1 in myFileContactDT)
                    {
                        if (!fcr1.IsNull("ContactType") && fcr1.ContactType == dr.ContactType && dr.FileContactid != fcr1.FileContactid)
                        {
                            throw new AtriumException("A contact of type, {0}, already exists on this file.  You cannot add another.", dr.ContactType);
                        }
                    }
                }
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
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;
            }
        }
Ejemplo n.º 3
0
        public void ExecuteRule(BEManager _fm, appDB.ddRuleRow thisRule, DataRow rowToCheck, DataColumn columnToCheck, string msg)
        {
            FileManager fm = (FileManager)_fm;

            atriumDB.FileContactRow dr = (atriumDB.FileContactRow)rowToCheck;
            //if contact type is once per file see if it it on any other records
            bool once = false;

            once = (bool)fm.Codes("ContactType").Select("ContactTypeCode='" + dr.ContactType + "'")[0]["OncePerFile"];
            if (once)
            {
                foreach (atriumDB.FileContactRow fcr1 in dr.Table.Rows)
                {
                    if (!fcr1.IsNull("ContactType") && fcr1.ContactType == dr.ContactType && dr.FileContactid != fcr1.FileContactid)
                    {
                        throw new AtriumException(msg, dr.ContactType);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public static string ResolveLookup(this System.Web.Mvc.HtmlHelper helper, object id, string list, atriumBE.FileManager fm, string description)
        {
            System.Data.DataTable dt = fm.Codes(list);
            string result            = id.ToString();

            System.Data.DataRow dr = dt.Rows.Find(id);
            if (dr == null)
            {
                return(result);
            }
            else if (description == null)
            {
                string col = dt.Columns[1].ColumnName;
                return(dr.Translate(col, fm));
            }
            else
            {
                return(dr.Translate(description, fm));
            }
        }
Ejemplo n.º 5
0
        public fMassActivity(Form f, Object bs)
            : base(f)
        {
            InitializeComponent();

            appDB.EFileSearchDataTable efsdt = (appDB.EFileSearchDataTable)bs;

            searchResultBindingSource.DataSource = efsdt;
            foreach (appDB.EFileSearchRow efs in efsdt)
            {
                efs.SetMessageNull();
                efs.SetResultNull();
            }

            fmCurrent = this.AtMng.GetFile();

            DataView dv = new DataView(fmCurrent.Codes("vACMenu"), "Menu='MassActivity'", "StepCode", DataViewRowState.CurrentRows);

            UIHelper.ComboBoxInit(dv, ucActivity, fmCurrent);
            UIHelper.ComboBoxInit("vTemplateList1", uiTemplate, fmCurrent);
            gridFileList.LoadingRow += new Janus.Windows.GridEX.RowLoadEventHandler(gridFileList_LoadingRow);
        }
Ejemplo n.º 6
0
        private void RunRule(DataColumn columnToCheck, DataRow rowToCheck, Dictionary <string, appDB.ddFieldRow> ruleColumnMap, FileManager fm, appDB.ddFieldRow fieldDefinition, appDB.ddRuleRow ruleToRun)
        {
            string Left = "Left" + myA.AppMan.Language;

            switch (ruleToRun.RuleTypeId)
            {
            case 0:    //code based
                ExecuteCodeRule(columnToCheck, rowToCheck, fm, ruleToRun);
                break;

            case 1:    //required
                if (rowToCheck.IsNull(columnToCheck))
                {
                    throw new RequiredException(fieldDefinition[Left].ToString());
                }
                break;

            case 2:    //acseries based
                EvaluateRule(fm, ruleToRun, rowToCheck);
                break;

            case 3:    //domain
                if (!rowToCheck.IsNull(columnToCheck))
                {
                    if (!fm.Codes(ruleToRun.Val1).Rows.Contains(rowToCheck[columnToCheck]))
                    {
                        throw new AtriumException(atriumBE.Properties.Resources.IsNotValid, fieldDefinition[Left].ToString());
                    }
                }
                break;

            case 4:    //related - must be field on same record
                if (rowToCheck.IsNull(ruleToRun.Val1))
                {
                    throw new RelatedException(fieldDefinition.LeftEng, ruleColumnMap[ruleToRun.Val1][Left].ToString());
                }

                break;

            case 5:    //old domain check
                if (!rowToCheck.IsNull(columnToCheck))
                {
                    if (!myA.CheckDomain(rowToCheck[columnToCheck].ToString(), fm.Codes(ruleToRun.Val1)))
                    {
                        throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, fieldDefinition[Left].ToString(), fieldDefinition.ddTableRow["Description" + myA.AppMan.Language].ToString(), ruleToRun.Val1);
                    }
                }
                break;

            case 6:    //valid date
                if (!rowToCheck.IsNull(columnToCheck))
                {
                    DateTime beginDate;
                    DateTime endDate;
                    DateTime dateValue = (DateTime)rowToCheck[columnToCheck];
                    string   name1     = ruleToRun.Val1;
                    string   name2     = ruleToRun.Val2;

                    if (ruleColumnMap.ContainsKey(ruleToRun.Val1))
                    {
                        beginDate = (DateTime)rowToCheck[ruleColumnMap[ruleToRun.Val1].DBFieldName];
                        name1     = ruleColumnMap[ruleToRun.Val1][Left].ToString();
                    }
                    else
                    {
                        beginDate = (DateTime)fm.GetDefaultValue(ruleToRun.Val1);
                    }

                    if (ruleColumnMap.ContainsKey(ruleToRun.Val2))
                    {
                        endDate = (DateTime)rowToCheck[ruleColumnMap[ruleToRun.Val1].DBFieldName];
                        name2   = ruleColumnMap[ruleToRun.Val2][Left].ToString();
                    }
                    else
                    {
                        endDate = (DateTime)fm.GetDefaultValue(ruleToRun.Val2);
                    }


                    if (dateValue < beginDate || dateValue > endDate)
                    {
                        throw new DateBetweenException(fieldDefinition[Left].ToString(), name1, beginDate.ToShortDateString(), name2, endDate.ToShortDateString());
                    }
                }
                break;

            case 7:    //numeric range
                if (!rowToCheck.IsNull(columnToCheck))
                {
                    int v1, v2, thisVal;
                    if (ruleColumnMap.ContainsKey(ruleToRun.Val1))
                    {
                        v1 = System.Convert.ToInt32(rowToCheck[ruleColumnMap[ruleToRun.Val1].DBFieldName]);
                    }
                    else
                    {
                        v1 = System.Convert.ToInt32(fm.GetDefaultValue(ruleToRun.Val1));
                    }

                    if (ruleColumnMap.ContainsKey(ruleToRun.Val2))
                    {
                        v2 = System.Convert.ToInt32(rowToCheck[ruleColumnMap[ruleToRun.Val1].DBFieldName]);
                    }
                    else
                    {
                        v2 = System.Convert.ToInt32(fm.GetDefaultValue(ruleToRun.Val2));
                    }

                    thisVal = System.Convert.ToInt32(rowToCheck[columnToCheck]);

                    if (thisVal < v1 || thisVal > v2)
                    {
                        throw new AtriumException("Outside numeric range");
                    }
                }
                break;

            case 8:    //string length range
                if (!rowToCheck.IsNull(columnToCheck))
                {
                    int v1, v2, thisVal;
                    if (ruleColumnMap.ContainsKey(ruleToRun.Val1))
                    {
                        v1 = (int)rowToCheck[ruleColumnMap[ruleToRun.Val1].DBFieldName];
                    }
                    else
                    {
                        v1 = (int)fm.GetDefaultValue(ruleToRun.Val1);
                    }

                    if (ruleColumnMap.ContainsKey(ruleToRun.Val2))
                    {
                        v2 = (int)rowToCheck[ruleColumnMap[ruleToRun.Val1].DBFieldName];
                    }
                    else
                    {
                        v2 = (int)fm.GetDefaultValue(ruleToRun.Val2);
                    }

                    thisVal = rowToCheck[columnToCheck].ToString().Length;

                    if (thisVal < v1 || thisVal > v2)
                    {
                        throw new AtriumException("Length out of range");
                    }
                }
                break;

            case 99:    //action
                if (!ruleToRun.IsACSeriesIdNull())
                {
                    ExecuteAction(fm, ruleToRun, rowToCheck);
                }
                break;

            case 100:    //action program
                ExecuteCodeAction(columnToCheck, rowToCheck, fm, ruleToRun);
                break;

            default:
                throw new AtriumException("Not a valid rule");
            }
        }
Ejemplo n.º 7
0
        protected override void BeforeChange(DataColumn dc, DataRow ddr)
        {
            string ObjectName = this.myDisbursementDT.TableName;

            atriumDB.DisbursementRow dr = (atriumDB.DisbursementRow)ddr;
            switch (dc.ColumnName)
            {
            case DisbursementFields.DisbDate:
                if (dr.IsDisbDateNull() || myA.IsEmpty(dr.DisbDate.ToString()))
                {
                    throw new RequiredException(Resources.DisbursementDisbDate);
                }
                this.myA.IsValidDate(Resources.DisbursementDisbDate, dr.DisbDate, false, DateTime.Today.AddMonths(-6), DateTime.Today, Resources.ValidationSixMonthsAgo, Resources.ValidationToday);
                break;

            case DisbursementFields.DisbType:
                if (dr.IsNull(dc) || dr.DisbType.Length == 0)
                {
                    throw new RequiredException(Resources.DisbursementDisbType);
                }
                else if (!myA.CheckDomain(dr.DisbType, myA.Codes("DisbursementType")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, dc.ColumnName, dr.Table.TableName, "Dsibursement Type");
                }
                break;

            case "TaxRateId":
                if (!dr.IsTaxRateIdNull() && !myA.CheckDomain(dr.TaxRateId, myA.Codes("TaxRate")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, dc.ColumnName, dc.Table.TableName, "Tax Rate");
                }
                break;

            case "OfficeId":
                if (!myA.CheckDomain(dr.OfficeId, myA.Codes("OfficeList")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.IsNotValid, 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 DisbursementFields.IRPId:
            case DisbursementFields.DisbTaxExempt:
            case DisbursementFields.DisbTaxable:
            case DisbursementFields.DisbTax:
            case DisbursementFields.Posted:
            case DisbursementFields.Final:
                if (dr.Final)
                {
                    throw new AtriumException(Resources.DisbNoEditAfterCommit);
                }
                break;

            case DisbursementFields.Taxed:
                if (!dr.Final && dr.Taxed)
                {
                    throw new AtriumException(Resources.DisbNoTaxUnlessCommit);
                }
                break;

            default:
                break;
            }
        }
Ejemplo n.º 8
0
        protected override void BeforeChange(DataColumn dc, DataRow ddr)
        {
            atriumDB.ActivityBFRow dr = (atriumDB.ActivityBFRow)ddr;
            switch (dc.ColumnName)
            {
            case "Completed":
            case "Priority":
            case "isRead":
            case "BFComment":
            case "BFDate":
                if (dr.RowState != DataRowState.Added && !CanEditBF(dr))
                {
                    throw new ReadOnlyException();
                }
                break;
            }

            switch (dc.ColumnName)
            {
            case "ManuallyCompleted":
                //only allow manual completion for user and mail bfs that are marked as allow manual complete
                ActivityConfig.ACBFRow neml = (ActivityConfig.ACBFRow)myA.AtMng.acMng.DB.ACBF.FindByACBFId(dr.ACBFId);
                if (neml.AllowManualComplete)
                {     //ok
                }
                else
                {
                    //   if(dr.ManuallyCompleted)
                    bool canOverride = myA.AtMng.SecurityManager.CanOverride(dr.FileId, atSecurity.SecurityManager.Features.ActivityBF) == atSecurity.SecurityManager.ExPermissions.Yes;
                    if (!canOverride)
                    {
                        throw new AtriumException("You cannot manually complete this type of BF.");
                    }
                }

                break;

            case "BFType":
                if (dr.IsBFTypeNull())
                {
                    throw new RequiredException(dc.ColumnName);
                }
                else if (!myA.CheckDomain(dr.BFType, myA.Codes("BFType")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, "BF Type", "Activity BF", "BF Type");
                }
                break;

            case "ACBFId":
                if (!myA.CheckDomain(dr.ACBFId, myA.AtMng.acMng.DB.ACBF))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, dc.ColumnName, dr.Table.TableName, "ACBF");
                }
                break;

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

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

            //case ActivityBFFields.ForOfficeId:
            //    if (!myA.AtMng.GetOffice(dr.ForOfficeId).CurrentOffice.IsOnLine)
            //        throw new AtriumException(Resources.ActivityBFCannotBeCreatedForAnOffLineOffice);
            //    break;
            case ActivityFields.BFDate:
                if (dr.IsBFDateNull())
                {
                    throw new RequiredException(ActivityFields.BFDate);
                }
                if (!dr.IsBFDateNull())
                {
                    myA.IsValidDate(Resources.ActivityBFBFDate, dr.BFDate, true, DebtorBE.CSLBegin, DateTime.Today.AddYears(30), Resources.ValidationCSLBegin, Resources.ValidationThirtyYearsLater);
                }
                break;
            }
        }
Ejemplo n.º 9
0
        protected override void BeforeChange(DataColumn dc, DataRow ddr)
        {
            atriumDB.FileOfficeRow dr = (atriumDB.FileOfficeRow)ddr;
            switch (dc.ColumnName)
            {
            case "OfficeId":
                if (dr.RowState != DataRowState.Added && !myA.CheckDomain(dr.OfficeId, myA.Codes("OfficeList")))
                {
                    throw new AtriumException(atriumBE.Properties.Resources.BadDomainValue, dc.ColumnName, dr.Table.TableName, "Office List");
                }
                break;

            default:
                break;
            }
        }
Ejemplo n.º 10
0
        protected override void BeforeChange(DataColumn dc, DataRow ddr)
        {
            string ObjectName = this.myAddressDT.TableName;

            atriumDB.AddressRow dr      = (atriumDB.AddressRow)ddr;
            WhereClause         whereCl = new WhereClause();

            switch (dc.ColumnName)
            {
            case  "City":
                if (!dr.IsNull("CountryCode") && dr.CountryCode == "CDN")
                {
                    if (dr.IsCityNull())
                    {
                        throw new RequiredException(Resources.AddressCity);
                    }

                    if (myA.AtMng.GetSetting(AppBoolSetting.ValidateCity))
                    {
                        if (!dr.IsProvinceCodeNull())
                        {
                            DataTable dt = myA.Codes("vCity");
                            whereCl.Add("ProvinceCode", "=", dr.ProvinceCode);

                            if (dt.Select(whereCl.Filter()).Length != 0)
                            {
                                whereCl.Add("City", "=", dr.City);
                                //dt = myA.AtMng.GetGeneralRec("City", whereCl);
                                if (dt.Select(whereCl.Filter()).Length == 0)
                                {
                                    throw new AtriumException(Resources.AddressCityNotInProv, Resources.AddressCity, Resources.AddressProvince);
                                }
                            }
                        }
                    }
                }
                break;

            case  "ProvinceCode":
                if (dr.IsProvinceCodeNull())
                {
                    if (!dr.IsNull("CountryCode"))
                    {
                        if (dr.CountryCode == "CDN" || dr.CountryCode == "USA")
                        {
                            throw new RequiredException(Resources.AddressProvinceCode);
                        }
                    }
                }
                else
                {
                    if (!dr.IsNull("CountryCode"))
                    {
                        if (dr.CountryCode == "CDN" || dr.CountryCode == "USA")
                        {
                            DataTable           dtP = myA.Codes("Province");
                            atLogic.WhereClause wc  = new atLogic.WhereClause();
                            wc.Add("CountryCode", "=", dr.CountryCode);

                            //if (!myA.Codes("Province").Rows.Contains(dr.ProvinceCode))
                            if (!dtP.Rows.Contains(dr.ProvinceCode))
                            {
                                throw new AtriumException(Resources.IsNotValid, Resources.AddressProvinceCode);
                            }
                        }
                    }
                }
                break;

            case  "CountryCode":
                if (dr.IsNull(dc))
                {
                    throw new RequiredException(Resources.AddressCountryCode);
                }

                else if (!myA.Codes("Country").Rows.Contains(dr.CountryCode))
                {
                    throw new AtriumException(Resources.IsNotValid, Resources.AddressCountryCode);
                }
                break;

            case  "AddressSourceCode":
                if (dr.IsAddressSourceCodeNull())
                {
                    throw new RequiredException(Resources.AddressAddressSourceCode);
                }
                else if (!myA.Codes("AddressSource").Rows.Contains(dr.AddressSourceCode))
                {
                    throw new AtriumException(Resources.IsNotValid, Resources.AddressAddressSourceCode);
                }
                break;

            case  "AddressType":
                if (dr.IsAddressTypeNull())
                {
                    throw new RequiredException(Resources.AddressAddressType);
                }
                else if (!myA.Codes("AddressType").Rows.Contains(dr.AddressType))
                {
                    throw new AtriumException(Resources.IsNotValid, Resources.AddressAddressType);
                }
                break;

            case "Address1":
                if (dr.IsNull(dc))
                {
                    throw new RequiredException(Resources.AddressAddress1);
                }
                break;

            case  "EffectiveTo":
                if (dr.IsEffectiveToNull())
                {
                    throw new RequiredException(Resources.AddressEffectiveTo);
                }
                myA.IsValidDate(Resources.AddressEffectiveTo, dr.EffectiveTo, false, DebtorBE.CSLBegin, DateTime.Today, Resources.ValidationCSLBegin, Resources.ValidationToday);
                break;

            default:
                break;
            }
        }