コード例 #1
0
        /// <summary>
        /// Contracts Mail reminder
        /// </summary>
        /// <createdBy>Bobis</createdBy>
        /// <createdDate>Apr 15 2014</createdDate>
        public static void ContractsMailSending()
        {
            List <MailMatrixResponseParam> lstreceipentUserID = new List <MailMatrixResponseParam>();

            try
            {
                string url           = DecisionPointRepository.GetSiteUrl();
                var    location      = System.Reflection.Assembly.GetEntryAssembly().Location;
                var    directoryPath = Path.GetDirectoryName(location);
                DecisionPointRepository objdecisionPointRepository = new DecisionPointRepository();
                lstreceipentUserID = objdecisionPointRepository.ContractsMailSending().Select(x => new MailMatrixResponseParam
                {
                    Recevier      = x.OwnerName,
                    RecevierEmail = x.EmailId,
                    Sender        = x.ManagerName,
                    TblId         = x.Id,
                    SenderId      = x.CreatedBy
                }).ToList();

                string body    = string.Empty;
                string subject = string.Empty;
                for (int iCounter = 0; iCounter < lstreceipentUserID.Count; iCounter++)
                {
                    string signature = objdecisionPointRepository.GetSignature(lstreceipentUserID[iCounter].SenderId);
                    if (signature != null)
                    {
                        string[] sign = signature.Split(new string[] { "body>" }, StringSplitOptions.None);
                        subject   = "Contract Reminder Mail";
                        signature = sign[1].Substring(0, sign[1].Length - 2);
                        MailInviteFormat objMailInviteFormat = new MailInviteFormat()
                        {
                            PersonName         = lstreceipentUserID[iCounter].Recevier,
                            Signature          = signature,
                            InviteeCompanyName = lstreceipentUserID[iCounter].Sender,
                            DueDate            = Convert.ToString(lstreceipentUserID[iCounter].DueDate, CultureInfo.InvariantCulture),
                            DomainUrl          = url
                        };
                        objMailInviteFormat.FilePath = directoryPath + Convert.ToString(ConfigurationManager.AppSettings["StaffInviteMailAlert"], CultureInfo.InvariantCulture);
                        if (!string.IsNullOrEmpty(lstreceipentUserID[iCounter].Recevier))
                        {
                            objMailInviteFormat.Action = "You have received " + subject + " from " + lstreceipentUserID[iCounter].Sender + ". Please complete it.";
                            body = DPInviteMailFormat.PersonInviteMailFormat(objMailInviteFormat);

                            //body = "<div style='line-height:25px'>To: " + lstreceipentUserID[iCounter].Recevier + "<br/>From: " +
                            //    lstreceipentUserID[iCounter].Sender + "<br/>Subject: '" + subject + "'<br/><br/>" + lstreceipentUserID[iCounter].Recevier +
                            //    "Dear " + lstreceipentUserID[iCounter].Recevier + ",<br/> you have received a '" + subject + "' from " + lstreceipentUserID[iCounter].Sender + ". Please log at compliance tracker and review.<br/><br/></br></br>" +
                            //    signature + "</div>";
                        }
                        BusinessCore.GetSmtpDetail(lstreceipentUserID[iCounter].RecevierEmail, body, subject);
                        //update last invite date and next mail sending date in contracts log
                        UpdateContractLogInviteDate(lstreceipentUserID[iCounter].TblId);
                    }
                }
            }
            catch
            {
                throw;
            }
        }