public static void CreateMessageWithEmailEncrypt(string[] data, ContentTemplate contentTemplate, ref int numberCustomerSent)
        {
            SimpleAES encryptEmail = new SimpleAES();

            foreach (string item in data)
            {
                //shareHolder.ShareHolderCode = items[0];
                if (item != string.Empty && item != null)
                {
                    numberCustomerSent++;
                    MessageContent messageContent = null;
                    messageContent = new MessageContent();
                    messageContent.Sender = contentTemplate.Sender;
                    messageContent.Receiver = item;
                    messageContent.Subject = contentTemplate.Subject;
                    messageContent.BodyContentType = contentTemplate.BodyContentType;
                    messageContent.BodyEncoding = contentTemplate.BodyEncoding;
                    messageContent.BodyMessage = contentTemplate.BodyMessage.Replace("$#email#", encryptEmail.EncryptToString(item));
                    messageContent.ContentTemplateID = contentTemplate.ContentTemplateID;
                    messageContent.ServiceTypeID = contentTemplate.ServiceTypeID;
                    messageContent.ModifiedDate = DateTime.Now;
                    messageContent.CreatedDate = DateTime.Now;
                    messageContent.Status = 0;

                    MessageContentService.CreateMessageContent(messageContent);
                    ContentTemplateAttachementCollection contentTemplateAttachementColl = ContentTemplateAttachementService.GetContentTemplateAttachementList(contentTemplate.ContentTemplateID, ContentTemplateAttachementColumns.ModifiedDate, "DESC");
                    foreach (ContentTemplateAttachement attachement in contentTemplateAttachementColl)
                    {
                        MessageContentAttachement messageContentAttachement = new MessageContentAttachement();
                        messageContentAttachement.AttachementDescription = attachement.AttachementDescription;                                                                                       
                        messageContentAttachement.AttachementDocument = attachement.AttachementDocument;
                        messageContentAttachement.MessageContentID = messageContent.MessageContentID;
                        messageContentAttachement.ModifiedDate = DateTime.Now;
                        messageContentAttachement.CreatedDate = DateTime.Now;
                        MessageContentAttachementService.CreateMessageContentAttachement(messageContentAttachement);
                    }
                }
            }
        }
        public static void CreateMessage(Customer cust, string contentToBeSent, string contentToBeSentSms, ContentTemplate contentTemplate, ContentTemplate contentTemplateSms)
        {
            if (cust != null)
            {
                SimpleAES encryptEmail = new SimpleAES();
                MessageContent messageContent = null;
                messageContent = new MessageContent();
                messageContent.Sender = contentTemplate.Sender;
                messageContent.Subject = contentTemplate.Subject;
                messageContent.BodyContentType = contentTemplate.BodyContentType;
                messageContent.BodyEncoding = contentTemplate.BodyEncoding;
                messageContent.BodyMessage = ReplaceBodyMessage(contentTemplate.BodyMessage, contentToBeSent);                
                messageContent.ContentTemplateID = contentTemplate.ContentTemplateID;
                messageContent.ServiceTypeID = contentTemplate.ServiceTypeID;
                messageContent.ModifiedDate = DateTime.Now;
                messageContent.CreatedDate = DateTime.Now;
                messageContent.Status = 0;
                //in case the message is type of email check if the email address is valid
                if (cust.ReceiveRelatedStockEmail.Trim() == "Y")
                {
                    messageContent.Receiver = cust.Email;
                    messageContent.BodyMessage = messageContent.BodyMessage.Replace("$#email#", encryptEmail.EncryptToString(cust.Email));
                    if (ValidateEmail(messageContent.Receiver) == true)
                    {
                        MessageContentService.CreateMessageContent(messageContent);
                        ContentTemplateAttachementCollection contentTemplateAttachementColl = ContentTemplateAttachementService.GetContentTemplateAttachementList(contentTemplate.ContentTemplateID, ContentTemplateAttachementColumns.ModifiedDate, "DESC");
                        foreach (ContentTemplateAttachement attachement in contentTemplateAttachementColl)
                        {
                            MessageContentAttachement messageContentAttachement = new MessageContentAttachement();
                            messageContentAttachement.AttachementDescription = attachement.AttachementDescription;
                            messageContentAttachement.AttachementDocument = attachement.AttachementDocument;
                            messageContentAttachement.MessageContentID = messageContent.MessageContentID;
                            messageContentAttachement.ModifiedDate = DateTime.Now;
                            messageContentAttachement.CreatedDate = DateTime.Now;
                            MessageContentAttachementService.CreateMessageContentAttachement(messageContentAttachement);
                        }
                    }
                }

                if (cust.ReceiveRelatedStockSms.Trim() == "Y")
                {
                    messageContent = null;
                    messageContent = new MessageContent();
                    messageContent.Sender = contentTemplateSms.Sender;
                    messageContent.Subject = contentTemplateSms.Subject;
                    messageContent.BodyContentType = contentTemplateSms.BodyContentType;
                    messageContent.BodyEncoding = contentTemplateSms.BodyEncoding;
                    messageContent.BodyMessage = ReplaceBodyMessage(contentTemplateSms.BodyMessage, contentToBeSentSms);
                    messageContent.ContentTemplateID = contentTemplateSms.ContentTemplateID;
                    messageContent.ServiceTypeID = contentTemplateSms.ServiceTypeID;
                    messageContent.ModifiedDate = DateTime.Now;
                    messageContent.CreatedDate = DateTime.Now;
                    messageContent.Status = 0;
                    messageContent.Receiver = cust.Mobile;
                    MessageContentService.CreateMessageContent(messageContent);
                    ContentTemplateAttachementCollection contentTemplateAttachementColl = ContentTemplateAttachementService.GetContentTemplateAttachementList(contentTemplateSms.ContentTemplateID, ContentTemplateAttachementColumns.ModifiedDate, "DESC");
                    foreach (ContentTemplateAttachement attachement in contentTemplateAttachementColl)
                    {
                        MessageContentAttachement messageContentAttachement = new MessageContentAttachement();
                        messageContentAttachement.AttachementDescription = attachement.AttachementDescription;
                        messageContentAttachement.AttachementDocument = attachement.AttachementDocument;
                        messageContentAttachement.MessageContentID = messageContent.MessageContentID;
                        messageContentAttachement.ModifiedDate = DateTime.Now;
                        messageContentAttachement.CreatedDate = DateTime.Now;
                        MessageContentAttachementService.CreateMessageContentAttachement(messageContentAttachement);
                    }
                }
            }
        }