public async Task SendEmailToInitiatingStaffAsync(purch_requisitionnote prn)
        {
            EmailMessageObj em = new EmailMessageObj {
                ToAddresses = new List <EmailAddressObj>()
            };

            var staffList = await _serverRequest.GetAllStaffAsync();

            if (staffList.Count() > 0)
            {
                var intiatingStaff = staffList.FirstOrDefault(r => r.staffId == prn.StaffId);
                if (intiatingStaff != null)
                {
                    //var path = $"#/main/lpos";

                    //var path2 = $"{_uRIs.SelfClient}/{path}";
                    em.Subject       = "PRN APPROVED";
                    em.Content       = $"The Request for {prn.Description} has been approved ";
                    em.FromAddresses = new List <EmailAddressObj>();
                    var to = new EmailAddressObj {
                        Address = intiatingStaff.Email, Name = intiatingStaff.firstName
                    };
                    em.ToAddresses.Add(to);
                    em.SendIt   = true;
                    em.SaveIt   = false;
                    em.Template = (int)EmailTemplate.Advert;

                    await _serverRequest.SendMessageAsync(em);
                }
            }
        }
        public async Task <bool> AddUpdatePurchaseRequisitionNoteAsync(purch_requisitionnote model)
        {
            if (model.PurchaseReqNoteId > 0)
            {
                var itemTUpdate = await _dataContext.purch_requisitionnote.FindAsync(model.PurchaseReqNoteId);

                _dataContext.Entry(itemTUpdate).CurrentValues.SetValues(model);
            }
            else
            {
                await _dataContext.purch_requisitionnote.AddAsync(model);
            }
            return(await _dataContext.SaveChangesAsync() > 0);
        }
        private cor_approvaldetail BuildApprovalDetailObject(PRNStaffApprovalCommand request, purch_requisitionnote currentItem, int staffId)
        {
            var approvalDeatil = new cor_approvaldetail();
            var previousDetail = _detailService.GetApprovalDetailsAsync(request.TargetId, currentItem.WorkflowToken).Result;

            approvalDeatil.ArrivalDate = currentItem.CreatedOn ?? DateTime.Now;

            if (previousDetail.Count() > 0)
            {
                approvalDeatil.ArrivalDate = previousDetail.OrderByDescending(s => s.ApprovalDetailId).FirstOrDefault().Date;
            }

            approvalDeatil.Comment         = request.ApprovalComment;
            approvalDeatil.Date            = DateTime.Today;
            approvalDeatil.StatusId        = request.ApprovalStatus;
            approvalDeatil.TargetId        = request.TargetId;
            approvalDeatil.StaffId         = staffId;
            approvalDeatil.ReferredStaffId = request.ReferredStaffId;
            approvalDeatil.WorkflowToken   = currentItem.WorkflowToken;
            return(approvalDeatil);
        }