예제 #1
0
파일: SendEmail.cs 프로젝트: radtek/datawf
 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);
             }
         }
     }
 }
예제 #2
0
        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);
        }
예제 #3
0
파일: SendEmail.cs 프로젝트: radtek/datawf
        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());
        }