public virtual void FillTo(MailMessage message, DocumentExecuteArgs arg) { if (arg.StageProcedure != null) { foreach (var department in arg.StageProcedure.GetDepartments(((Document)arg.Document).Template)) { foreach (var user in department.GetUsers()) { message.To.Add(user.EMail); } } } }
public static object ExecuteProcedures(DocumentExecuteArgs param, IEnumerable <StageProcedure> enumer) { object result = null; foreach (var item in enumer) { if (item.Procedure == null) { throw new ArgumentNullException($"{nameof(StageProcedure)}.{nameof(StageProcedure.Procedure)} not defined!"); } param.StageProcedure = item; result = item.Procedure.Execute(param); } return(result); }
public virtual string GetBody(DocumentExecuteArgs arg) { var builder = new StringBuilder(); builder.AppendLine($"Informs you about document: {arg.Document}"); if (arg.StageProcedure != null) { if (arg.StageProcedure.ProcedureType == StageParamProcudureType.Finish) { builder.AppendLine($"Finish {arg.StageProcedure.Stage} stage!"); } else if (arg.StageProcedure.ProcedureType == StageParamProcudureType.Start) { builder.AppendLine($"Start {arg.StageProcedure.Stage} stage!"); } else if (arg.StageProcedure.ProcedureType == StageParamProcudureType.Manual) { builder.AppendLine($"Is on {arg.StageProcedure.Stage} stage!"); } } builder.AppendLine($"Mailed you by {arg.Transaction.Caller.ToString()}!"); return(builder.ToString()); }