public override void Saved(Sungero.Domain.SavedEventArgs e) { var managers = Departments.GetAll() .Where(d => d.BusinessUnit.Equals(_obj) && d.HeadOffice == null) .Select(d => d.Manager) .Where(m => m != null) .ToList(); if (!managers.Any()) { return; } if (_obj.State.Properties.CEO.IsChanged && _obj.State.Properties.CEO.OriginalValue != null) { Functions.Module.DeleteSystemSubstitutions(managers, _obj.State.Properties.CEO.OriginalValue); } if (_obj.CEO != null) { if (_obj.State.Properties.CEO.IsChanged || (_obj.State.Properties.Status.IsChanged && _obj.Status == Sungero.CoreEntities.DatabookEntry.Status.Active)) { Functions.Module.CreateSystemSubstitutions(managers, _obj.CEO); } if (_obj.State.Properties.Status.IsChanged && _obj.Status == Sungero.CoreEntities.DatabookEntry.Status.Closed) { Functions.Module.DeleteSystemSubstitutions(managers, _obj.CEO); } } }
public override void Saved(Sungero.Domain.SavedEventArgs e) { var oldDepartment = _obj.State.Properties.Department.OriginalValue; var newDepartment = _obj.Department; if (!Equals(oldDepartment, newDepartment)) { newDepartment.RecipientLinks.AddNew().Member = _obj; if (oldDepartment != null) { foreach (var department in oldDepartment.RecipientLinks.Where(r => r.Member.Equals(_obj)).ToList()) { oldDepartment.RecipientLinks.Remove(department); } } } }
public override void Saved(Sungero.Domain.SavedEventArgs e) { if (_obj.Status == Docflow.ApprovalRuleBase.Status.Active) { var prevRule = Functions.ApprovalRuleBase.GetPreviousActiveRule(_obj); if (prevRule != null) { prevRule.Status = Docflow.ApprovalRuleBase.Status.Closed; } } if (_obj.State.Properties.Name.IsChanged && _obj.Status != Docflow.ApprovalRuleBase.Status.Closed) { var rules = Functions.ApprovalRuleBase.GetAllRuleVersions(_obj).Where(x => !Equals(x.Name, _obj.Name)); foreach (var rule in rules) { rule.Name = _obj.Name; } } }