// // Method for adding recipient number and mail-marge-message // public static int AddMsgRecipToXmlpacketMailMerge(string message, ArrayList recipients, DataView DVrecipientInfo, string xmlpacket, MsgInformationDTO _oMsginfo, int recipientsnumberscount) { //string xmlpacket = null; int messagecount = 0; string formatedmessage; for (int i = 0; i < recipients.Count; i++) { DVrecipientInfo.RowFilter = "MobileNumber = '" + recipients[i].ToString().Trim() + "'"; xmlpacket += "<number>" + recipients[i].ToString().Trim() + "</number>"; xmlpacket += "<message>"; formatedmessage = FormatMessageTextMicrows(message, DVrecipientInfo); xmlpacket += MsgCorrect(FormatMessageText(formatedmessage, DVrecipientInfo)); messagecount += MessageCount(formatedmessage); xmlpacket += "</message>"; DVrecipientInfo.RowFilter = ""; } ////////////////////////////////////////////////////////////////////// xmlpacket += "</numbers>"; xmlpacket += "</packet>"; _oMsginfo.xmlpacket = xmlpacket; _oMsginfo.RequiredCredits = messagecount; Byte[] array = Serializeobject(_oMsginfo); Byte[] checksum = new MD5CryptoServiceProvider().ComputeHash(array); // calculate checksum for validation if (messagecount > recipientsnumberscount) { //DialogResult dlg = XtraMessageBox.Show("You will be charged " + requiredCreditTosendmsg + " credits to send this message." + "\r\n" + "Do you want to send ?", "Conformation", MessageBoxButtons.YesNo); //if (dlg == DialogResult.Yes) //{ string responsefromService = SendMessage(array, checksum); Response(responsefromService); //} //else //{ //oUcButtonControl.ShowSend = true; //oUcButtonControl.showMessage(frmButtonControl.Messageflag.none, ""); //oUcButtonControl.ButtonView(); //this.Update(); //} } else { string responsefromService = SendMessage(array, checksum); Response(responsefromService); } ////////////////////////////////////////////////////////////////////// return messagecount; }
// // Method for adding recipient number and message if message not contains microws // public static int AddMsgRecipToXmlpacket(string message, ArrayList recipients, string xmlpacket, MsgInformationDTO _oMsginfo, int recipientsnumberscount, CampaignDTO CampaignDTO) { //string xmlpacket = null; for (int i = 0; i < recipients.Count; i++) xmlpacket += "<number>" + recipients[i].ToString().Trim() + "</number>"; xmlpacket += "<message>" + MsgCorrect(message) + "</message>"; ///////////////////////////////////////////////////////////////// xmlpacket += "</numbers>"; xmlpacket += "</packet>"; _oMsginfo.xmlpacket = xmlpacket; int requiredCreditTosendmsg = MessageCount(message, CampaignDTO); _oMsginfo.RequiredCredits = requiredCreditTosendmsg; Byte[] array = Serializeobject(_oMsginfo); Byte[] checksum = new MD5CryptoServiceProvider().ComputeHash(array); // calculate checksum for validation if (requiredCreditTosendmsg > recipientsnumberscount) { //DialogResult dlg = XtraMessageBox.Show("You will be charged " + requiredCreditTosendmsg + " credits to send this message." + "\r\n" + "Do you want to send ?", "Conformation", MessageBoxButtons.YesNo); //if (dlg == DialogResult.Yes) //{ string responsefromService = SendMessage(array, checksum); Response(responsefromService); //} //else //{ //oUcButtonControl.ShowSend = true; //oUcButtonControl.showMessage(frmButtonControl.Messageflag.none, ""); //oUcButtonControl.ButtonView(); //this.Update(); //} } else { string responsefromService = SendMessage(array, checksum); Response(responsefromService); } ///////////////////////////////////////////////////////////////// return MessageCount(message, CampaignDTO); }
public static void CreatePacket() { StringBuilder recipientnumberslist = new StringBuilder(); try { bool ismailmarge = false; int requiredCreditTosendmsg = 0; //DataTable dtContact = new DataTable(); int MOBILENUMBERLEN = 0; string xmlpacket = null; List<CampaignDTO> CampaignDTOList = CampaignService.GetCampaignNotSentList(); if (CampaignDTOList.Count != 0) { foreach (var item in CampaignDTOList) { // create xml packet DataTable dtContact = new DataTable(); xmlpacket = "<?xml version=" + "\"1.0\"?>"; xmlpacket += "<packet>"; xmlpacket += "<mbversion>MessageBlaster_Web</mbversion>"; xmlpacket += "<messagesource>MSGBLASTER</messagesource>"; //DataTable regInfoDT = oCompanyInfo.LoadAll(); ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(item.ClientId); SettingDTO SettingDTO = new SettingDTO(); SettingDTO = SettingService.GetById(1); MOBILENUMBERLEN = SettingDTO.MobileNumberLength; ArrayList recipientsnumbers = new ArrayList(); MessageLogDTO oMessageLog = new MessageLogDTO(); string[] recipients; if (item.GroupId == null) // To check wheather the user sending Group message { recipients = item.RecipientsNumber.ToString().Split(','); } else { recipients = item.RecipientsNumber.ToString().Split(','); } if (recipients.Length == 0) { //oUcButtonControl.showMessage(frmButtonControl.Messageflag.warningMessage, "Select recipients first."); return; } for (int i = 0; i < recipients.Length; i++) // Loop through each recipient number & remove duplicate numbers { if (!string.IsNullOrEmpty(recipients[i].ToString())) // Don`t allow empty number { string mobileNumber = GetValidMobileNumber(recipients[i].ToString().Trim()); // Get only digits from Mobile number if (mobileNumber.Length >= MOBILENUMBERLEN) // Check for valid mobile number { mobileNumber = mobileNumber.Substring(mobileNumber.Length - MOBILENUMBERLEN); if (!recipientsnumbers.Contains(mobileNumber)) // Check for number duplication. { recipientsnumbers.Add(mobileNumber); recipientnumberslist.Append(mobileNumber).Append(','); } } } } if (recipientnumberslist.Length != 0) { oMessageLog.Recipients = recipientnumberslist.ToString().Substring(0, recipientnumberslist.Length - 1); } MsgInformationDTO _oMsginfo = new MsgInformationDTO(); _oMsginfo.CampaignId = item.Id;// regInfoDT.Rows[0]["SerialKey"].ToString(); //xmlpacket += "<cdkey>" + regInfoDT.Rows[0]["SerialKey"].ToString() + "</cdkey>"; xmlpacket += "<campaignId>" + _oMsginfo.CampaignId + "</campaignId>"; _oMsginfo.ClientId = item.ClientId;// MachineID.Value(); //xmlpacket += "<machineid>" + _oMsginfo.MachineID + "</machineid>"; xmlpacket += "<clientId>" + _oMsginfo.ClientId + "</clientId>"; if (!string.IsNullOrEmpty(item.Name)) // check for TemplateName { //xmlpacket += "<campaignname>" + MsgCorrect(lkupTemplate.Text) + "</campaignname>"; xmlpacket += "<campaignname>" + MsgCorrect(item.Name.ToString()) + "</campaignname>"; oMessageLog.MessageTemplateID = _oMsginfo.CampaignId; } else { xmlpacket += "<campaignname>Direct_Message</campaignname>"; oMessageLog.MessageTemplateID = _oMsginfo.CampaignId; } if (!string.IsNullOrEmpty(item.GroupId.ToString())) //nameOfGroupForMsgSending { GroupDTO GroupDTO = new GroupDTO(); GroupDTO = GroupService.GetById(Convert.ToInt32(item.GroupId)); xmlpacket += "<groupname>" + MsgCorrect(GroupDTO.Name) + "</groupname>"; // nameOfGroupForMsgSending oMessageLog.RecipientType = GroupDTO.Name; } else if (!string.IsNullOrEmpty(item.Name)) //nameOfImportedFile // Check for is direct message to imported contact { oMessageLog.RecipientType = item.Name;// nameOfImportedFile ; } else { oMessageLog.RecipientType = "Direct"; } oMessageLog.MessageDateTime = Convert.ToString(System.DateTime.Now); xmlpacket += "<senddate>" + System.DateTime.Now.ToString("d/MMM/yyyy") + "</senddate>"; if (!string.IsNullOrEmpty(item.ScheduledDate.ToString())) //scheduledDate.Text // check for sheduled Date { DateTime ScheduledDateTime = DateTime.Parse(item.ScheduledDate.ToString()); if (item.ScheduledTime == null || item.ScheduledTime == "") { item.ScheduledTime = "12:00 AM"; } DateTime ScheduledTime = Convert.ToDateTime(item.ScheduledTime); ScheduledDateTime = ScheduledDateTime.AddHours(ScheduledTime.TimeOfDay.Hours); ScheduledDateTime = ScheduledDateTime.AddMinutes(ScheduledTime.TimeOfDay.Minutes); DateTime ActualScheduleDatetime = Convert.ToDateTime(item.ScheduledDate.ToString("MM/dd/yyyy") + " " + ScheduledDateTime.TimeOfDay); ; xmlpacket += "<scheduleddate>" + ActualScheduleDatetime.ToString("dd/MMM/yyyy HH:mm tt") + "</scheduleddate>"; oMessageLog.MessageScheduledDateTime = Convert.ToString(ScheduledDateTime); } oMessageLog.MessageText = item.Message.ToString().Replace("'", "''"); //memoMessagetxt.Text.Replace("'", "''"); if (FormatMessageText(item.Message)) //memoMessagetxt.Text { ismailmarge = true; xmlpacket += "<messagetype>MAILMERGE</messagetype>"; oMessageLog.MessageTemplateType = "MAILMERGE"; // Get information of numbers which are in Contact list to foramte mail-marge-message string nameOfGroupForMsgSending = null; if (nameOfGroupForMsgSending == null) dtContact = CommonService.SelectContatsInNumber(recipientnumberslist.ToString().Substring(0, recipientnumberslist.Length - 1), item.ClientId); else dtContact = CommonService.SelectContatsInNumber(recipientnumberslist.ToString().Substring(0, recipientnumberslist.Length - 1), item.ClientId); } else { xmlpacket += "<messagetype>NORMAL</messagetype>"; oMessageLog.MessageTemplateType = "NORMAL"; } oMessageLog.Count = recipientsnumbers.Count; xmlpacket += "<messagecount>" + recipientsnumbers.Count.ToString() + "</messagecount>"; //oMessageLog.SenderNumber = lookUpSender.Text; List<UserDTO> UserDTOList = new List<UserDTO>(); UserDTOList = UserService.GetUsersbyClientId(ClientDTO.Id, ""); if (UserDTOList.Count != 0) { foreach (var itemuser in UserDTOList) { if (itemuser.UserType == "Admin") { oMessageLog.SenderNumber = itemuser.Mobile; xmlpacket += "<sender>" + MsgCorrect(oMessageLog.SenderNumber) + "</sender>"; } } } xmlpacket += "<numbers>"; if (ismailmarge) requiredCreditTosendmsg = AddMsgRecipToXmlpacketMailMerge(item.Message, recipientsnumbers, dtContact.DefaultView, xmlpacket, _oMsginfo, recipientsnumbers.Count); else requiredCreditTosendmsg = AddMsgRecipToXmlpacket(item.Message, recipientsnumbers, xmlpacket, _oMsginfo, recipientsnumbers.Count) * recipientsnumbers.Count; //xmlpacket += "</numbers>"; //xmlpacket += "</packet>"; //_oMsginfo.xmlpacket = xmlpacket; //_oMsginfo.RequiredCredits = requiredCreditTosendmsg; //Byte[] array = Serializeobject(_oMsginfo); //Byte[] checksum = new MD5CryptoServiceProvider().ComputeHash(array); // calculate checksum for validation //if (requiredCreditTosendmsg > recipientsnumbers.Count) //{ // //DialogResult dlg = XtraMessageBox.Show("You will be charged " + requiredCreditTosendmsg + " credits to send this message." + "\r\n" + "Do you want to send ?", "Conformation", MessageBoxButtons.YesNo); // //if (dlg == DialogResult.Yes) // //{ // string responsefromService = SendMessage(array, checksum); // Response(responsefromService); // //} // //else // //{ // //oUcButtonControl.ShowSend = true; // //oUcButtonControl.showMessage(frmButtonControl.Messageflag.none, ""); // //oUcButtonControl.ButtonView(); // //this.Update(); // //} //} //else //{ // string responsefromService = SendMessage(array, checksum); // Response(responsefromService); //} } } } catch (WebException ex) { //oUcButtonControl.showMessage(frmButtonControl.Messageflag.errorMessage, Global.DisplayConnectionError(ex)); throw; } }