/// <summary>
        /// Get email task collection filter by status.
        /// </summary>
        /// <param name="status">The filter status value.</param>
        /// <returns></returns>
        public IEnumerable <EmailTaskViewModel> GetEmailTaskList(string status)
        {
            var result            = new List <EmailTaskViewModel>();
            var emailtask         = _unitOfWork.GetRepository <EmailTask>().Get(x => x.Status == status);
            var emailTaskIds      = emailtask.Select(x => x.Id).ToArray();
            var emailtaskcontent  = _unitOfWork.GetRepository <EmailTaskContent>().Get(x => emailTaskIds.Contains(x.EmailTaskId));
            var emailtaskReceiver = _unitOfWork.GetRepository <EmailTaskReceiver>().Get(x => emailTaskIds.Contains(x.EmailTaskId));

            foreach (var task in emailtask)
            {
                var item = new EmailTaskViewModel
                {
                    Id       = task.Id,
                    DocNo    = task.DocNo,
                    Subject  = task.Subject,
                    TaskBy   = task.TaskBy,
                    TaskCode = task.TaskCode,
                    TaskDate = task.TaskDate
                };

                item.Content   = emailtaskcontent.FirstOrDefault(x => x.EmailTaskId == task.Id).Content ?? string.Empty;
                item.Receivers = MappingEmailReceiver(emailtaskReceiver.Where(x => x.EmailTaskId == task.Id));
                result.Add(item);
            }
            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Save email task.
        /// </summary>
        /// <param name="model">The email task information.</param>
        /// <returns>email task identity.</returns>
        private int SaveEmailTask(EmailTaskViewModel model)
        {
            var emailtask = this.InitialEmailTask(model);

            _unitOfWork.GetRepository <EmailTask>().Add(emailtask);
            _unitOfWork.Complete();
            return(emailtask.Id);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Save email task action.
 /// </summary>
 /// <param name="model">The email task information.</param>
 public void Save(EmailTaskViewModel model)
 {
     using (var scope = new TransactionScope())
     {
         int emailTaskId = this.SaveEmailTask(model);
         this.SaveEmailTaskContent(emailTaskId, model.Content);
         this.SaveEmailTaskReceiver(emailTaskId, model.Receivers);
         _unitOfWork.Complete(scope);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initial email task entity model.
 /// </summary>
 /// <param name="model">The email task view model.</param>
 /// <returns></returns>
 private EmailTask InitialEmailTask(EmailTaskViewModel model)
 {
     return(new EmailTask
     {
         DocNo = model.DocNo,
         TaskBy = _token.AdUser,
         TaskCode = model.TaskCode,
         TaskDate = DateTime.Now,
         Subject = model.Subject,
         Status = model.Status
     });
 }