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; } }
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; } }
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); } } } }
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)); } }
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); }
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"); } }
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; } }
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; } }
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; } }
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; } }