Пример #1
0
        public static void CreateQuoteApprover(string quoteID, double approveLevel, string workFlowID, string url, string approver, string approverType, bool viewGP, string mailBody, string finalMailBody)
        {
            if (!string.IsNullOrEmpty(approver))
            {
                WorkFlowApproval existApproval = eQuotationContext.Current.WorkFlowApproval.Where(p => p.TypeID == quoteID && p.Approver == approver && p.LevelNum == (decimal)approveLevel && p.WorkFlowID == workFlowID).FirstOrDefault();
                if (existApproval == null)
                {
                    WorkFlowApproval QA = new WorkFlowApproval();
                    QA.UID                = System.Guid.NewGuid().ToString();
                    QA.Type               = "Quote";
                    QA.TypeID             = quoteID;
                    QA.ApproverType       = approverType;
                    QA.LevelNum           = (decimal)approveLevel;
                    QA.Approver           = approver;
                    QA.Status             = (int)QuoteApprovalStatus.Wait_for_review;
                    QA.WorkFlowID         = workFlowID;
                    QA.IsSendSuccessfully = 0;
                    QA.MobileYes          = "MY" + System.Guid.NewGuid().ToString();
                    QA.MobileNo           = "MN" + System.Guid.NewGuid().ToString();
                    QA.CreatedDate        = DateTime.Now;
                    QA.LastUpdatedDate    = DateTime.Now;
                    //QA.Mailbody = getGPmailBodyForInterconApprover(quoteID);


                    if (mailBody == null)
                    {
                        var maxLevelApproved = eQuotationContext.Current.WorkFlowApproval.Where(p => p.TypeID == quoteID && p.WorkFlowID == workFlowID && p.Status == (int)QuoteApprovalStatus.Approved).OrderByDescending(p => p.LevelNum).FirstOrDefault();
                        if (maxLevelApproved != null)
                        {
                            QA.Mailbody = maxLevelApproved.Mailbody;
                        }
                        else
                        {
                            QA.Mailbody = "";
                        }
                    }
                    else
                    {
                        QA.Mailbody = mailBody;
                    }


                    if (finalMailBody == null)
                    {
                        var maxLevelApproved = eQuotationContext.Current.WorkFlowApproval.Where(p => p.TypeID == quoteID && p.WorkFlowID == workFlowID && p.Status == (int)QuoteApprovalStatus.Approved).OrderByDescending(p => p.LevelNum).FirstOrDefault();
                        if (maxLevelApproved != null)
                        {
                            QA.FinalMailBody = maxLevelApproved.FinalMailBody;
                        }
                        else
                        {
                            QA.FinalMailBody = "";
                        }
                    }
                    else
                    {
                        QA.FinalMailBody = finalMailBody;
                    }


                    QA.Url    = url;
                    QA.ViewGP = viewGP ? 1 : 0;
                    QA.Add();
                }
            }
        }