Пример #1
0
 private void SendEmail(PurchaseRequestStatus PRS)
 {
     if (_presenter.GetUser(PRS.Approver).IsAssignedJob != true)
     {
         EmailSender.Send(_presenter.GetUser(PRS.Approver).Email, "Purchase Request", _presenter.GetUser(_presenter.CurrentPurchaseRequest.Requester).FullName + " Requests for Purchase with Request No. " + (_presenter.CurrentPurchaseRequest.RequestNo).ToUpper());
     }
     else
     {
         EmailSender.Send(_presenter.GetUser(_presenter.GetAssignedJobbycurrentuser(PRS.Approver).AssignedTo).Email, "Purchase Request", _presenter.GetUser(_presenter.CurrentPurchaseRequest.Requester).FullName + "Requests for Purchase with Request No." + (_presenter.CurrentPurchaseRequest.RequestNo).ToUpper());
     }
 }
Пример #2
0
 private void SendEmail(PurchaseRequestStatus PRS)
 {
     if (_presenter.GetSuperviser(PRS.Approver).IsAssignedJob != true)
     {
         EmailSender.Send(_presenter.GetSuperviser(PRS.Approver).Email, "Purchase Request", _presenter.GetUser(_presenter.CurrentPurchaseRequest.Requester).FullName + "' Request for Item procurment No. '" + _presenter.CurrentPurchaseRequest.RequestNo + "'");
     }
     else
     {
         EmailSender.Send(_presenter.GetSuperviser(_presenter.GetAssignedJobbycurrentuser(PRS.Approver).AssignedTo).Email, "Purchase Request", _presenter.GetUser(_presenter.CurrentPurchaseRequest.Requester).FullName + "' Request for Item procurment No. '" + _presenter.CurrentPurchaseRequest.RequestNo + "'");
     }
 }
Пример #3
0
        private void SendEmailRejected(PurchaseRequestStatus PRS)
        {
            EmailSender.Send(_presenter.GetUser(_presenter.CurrentPurchaseRequest.Requester).Email, "Purchase Request Rejection", "Your Purchase Request with Request No. - '" + (_presenter.CurrentPurchaseRequest.RequestNo.ToString()).ToUpper() + " was Rejected by " + _presenter.CurrentUser().FullName + " for this reason - '" + (PRS.RejectedReason).ToUpper() + "'");

            if (PRS.WorkflowLevel > 1)
            {
                for (int i = 0; i + 1 < PRS.WorkflowLevel; i++)
                {
                    EmailSender.Send(_presenter.GetUser(_presenter.CurrentPurchaseRequest.PurchaseRequestStatuses[i].Approver).Email, "Purchase Request Rejection", "Purchase Request with Request No. - '" + (_presenter.CurrentPurchaseRequest.RequestNo.ToString()).ToUpper() + "' made by " + (_presenter.GetUser(_presenter.CurrentPurchaseRequest.Requester).FullName).ToUpper() + " was Rejected by " + _presenter.CurrentUser().FullName + " for this reason - '" + (PRS.RejectedReason).ToUpper() + "'");
                }
            }
        }
 private void SavePurchaseRequestStatus()
 {
     if (_presenter.CurrentPurchaseRequest.Id <= 0)
     {
         if (_presenter.GetApprovalSettingforPurchaseProcess(RequestType.Purchase_Request.ToString().Replace('_', ' '), 0) != null)
         {
             int i = 1;
             foreach (ApprovalLevel AL in _presenter.GetApprovalSettingforPurchaseProcess(RequestType.Purchase_Request.ToString().Replace('_', ' '), 0).ApprovalLevels)
             {
                 PurchaseRequestStatus PRS = new PurchaseRequestStatus();
                 PRS.PurchaseRequest = _presenter.CurrentPurchaseRequest;
                 if (AL.EmployeePosition.PositionName == "Superviser/Line Manager")
                 {
                     if (_presenter.CurrentUser().Superviser.Value != 0)
                     {
                         PRS.Approver = _presenter.CurrentUser().Superviser.Value;
                     }
                     else
                     {
                         PRS.ApprovalStatus = ApprovalStatus.Approved.ToString();
                         PRS.ApprovalDate   = DateTime.Today.Date;
                     }
                 }
                 else if (AL.EmployeePosition.PositionName == "Program Manager")
                 {
                     if (_presenter.CurrentPurchaseRequest.PurchaseRequestDetails[0].Project != null)
                     {
                         if (_presenter.CurrentPurchaseRequest.PurchaseRequestDetails[0].Project.AppUser.Id != _presenter.CurrentUser().Id)
                         {
                             PRS.Approver = _presenter.GetProject(_presenter.CurrentPurchaseRequest.PurchaseRequestDetails[0].Project.Id).AppUser.Id;
                         }
                         else
                         {
                             PRS.Approver = _presenter.CurrentUser().Superviser.Value;
                         }
                     }
                 }
                 else
                 {
                     PRS.Approver = _presenter.Approver(AL.EmployeePosition.Id).Id;
                 }
                 PRS.WorkflowLevel = i;
                 i++;
                 _presenter.CurrentPurchaseRequest.PurchaseRequestStatuses.Add(PRS);
             }
         }
         else
         {
             pnlWarning.Visible = true;
         }
     }
 }
Пример #5
0
        public PRListGridViewModel(IEnumerable <PurchaseRequest> Requests,
                                   IUserRepository UsersRepo,
                                   PurchaseRequestStatus Status,
                                   IProjectRepository ProjectRepository,
                                   IPurchaseTypeRepository PurchaseTypeRepository,
                                   IDepartmentRepository DeptRepository,
                                   IPRContentRepository PRContentRepository)
        {
            rows = new List <PRListGridRowModel>();
            string _userName, _reviewUser, _submitUser;
            string _dept;

            #region EF性能优化 360ms --> 40ms
            List <User>         _users    = UsersRepo.Users.ToList();
            List <PurchaseType> _purTypes = PurchaseTypeRepository.PurchaseTypes.ToList();
            List <Department>   _deps     = DeptRepository.Departments.ToList();
            List <PRContent>    _prcs     = PRContentRepository.PRContents.ToList();

            foreach (PurchaseRequest _request in Requests)
            {
                try
                {
                    _userName = UsersRepo.GetUserByID(_request.UserID).FullName;
                }
                catch
                {
                    _userName = "";
                }

                try
                {
                    _reviewUser = _users.Where(u => u.UserID == _request.ReviewUserID).FirstOrDefault().FullName;//UsersRepo.GetUserByID(_request.ReviewUserID).FullName;
                }
                catch
                {
                    _reviewUser = "";
                }

                try
                {
                    _submitUser = _users.Where(u => u.UserID == _request.SubmitUserID).FirstOrDefault().FullName;//UsersRepo.GetUserByID(_request.SubmitUserID).FullName;
                }
                catch
                {
                    _submitUser = "";
                }


                string _type = "";
                try
                {
                    _type = _purTypes.Where(t => t.PurchaseTypeID == _request.PurchaseType).FirstOrDefault().Name;//PurchaseTypeRepository.QueryByID(_request.PurchaseType).Name;
                }
                catch
                {
                    _type = "";
                }
                try
                {
                    _dept = _deps.Where(d => d.DepartmentID == _request.DepartmentID).FirstOrDefault().Name;//DeptRepository.GetByID(_request.DepartmentID).Name;
                }
                catch
                {
                    _dept = "";
                }
                //申请者
                User ApprovalUser = _users.Where(u => u.UserCode == _request.ApprovalERPUserID).FirstOrDefault() ?? new User();                          //UsersRepo.Users.Where(u => u.UserCode == _request.ApprovalERPUserID).FirstOrDefault() ?? new User();
                //ERP料号同步状态
                List <PRContent> prcs          = _prcs.Where(p => p.PurchaseRequestID == _request.PurchaseRequestID).ToList() ?? new List <PRContent>(); //PRContentRepository.QueryByRequestID(_request.PurchaseRequestID).ToList() ?? new List<PRContent>();
                bool             ERPPartStatus = true;
                foreach (var prc in prcs)
                {
                    if (string.IsNullOrEmpty(prc.ERPPartID))
                    {
                        ERPPartStatus = false;
                    }
                }
                rows.Add(new PRListGridRowModel(_request, _userName, _type, _dept, _submitUser, _reviewUser, ApprovalUser.FullName, ERPPartStatus));
            }
            #endregion
            Page    = 1;
            Total   = 100;
            Records = 30;
        }