public virtual ExtensionMessageCollection GetExtensionMessageListByTitle(string title, string customerID ,ExtensionMessageColumns orderBy, string orderDirection, int page, int pageSize, out int totalRecords) { try { Database database = DatabaseFactory.CreateDatabase("CustommerServiceConnection"); DbCommand dbCommand = database.GetStoredProcCommand("spExtensionMessageGetListByTitle"); database.AddInParameter(dbCommand, "@Title", DbType.AnsiString, title.ToString()); database.AddInParameter(dbCommand, "@CustomerID", DbType.AnsiString, customerID.ToString()); database.AddInParameter(dbCommand, "@OrderBy", DbType.AnsiString, orderBy.ToString()); database.AddInParameter(dbCommand, "@OrderDirection", DbType.AnsiString, orderDirection.ToString()); database.AddInParameter(dbCommand, "@Page", DbType.Int32, page); database.AddInParameter(dbCommand, "@PageSize", DbType.Int32, pageSize); database.AddOutParameter(dbCommand, "@TotalRecords", DbType.Int32, 4); ExtensionMessageCollection extensionMessageCollection = new ExtensionMessageCollection(); using (IDataReader reader = database.ExecuteReader(dbCommand)) { while (reader.Read()) { ExtensionMessage extensionMessage = CreateExtensionMessageFromReader(reader); extensionMessageCollection.Add(extensionMessage); } reader.Close(); } totalRecords = (int)database.GetParameterValue(dbCommand, "@TotalRecords"); return extensionMessageCollection; } catch (Exception ex) { // log this exception log4net.Util.LogLog.Error(ex.Message, ex); // wrap it and rethrow throw new ApplicationException(SR.DataAccessGetExtensionMessageListException, ex); } }
public void SendPorfolioSmsMessage(VfsCustomerService.Entities.Customer customer) { var service = new SBSGatewaySoapClient(); if(customer.CustomerId == "094P848586") return; service.Endpoint.Address = new System.ServiceModel.EndpointAddress(endPointAddress); PorscheCustomer porscheCustomer = new PorscheCustomer(); porscheCustomer.CustomerId = customer.CustomerId; ClientParam clientParam = new ClientParam(); CustomerInquiryData customerData = service.CustomerInquiry (porscheCredentials, porscheCustomer, GetCustomerType.None.ToString(), CustomerStockInquiryType.Normal.ToString(), CustomerAmountInquiryType.Full.ToString()); if (customerData.ErrorCode != SbsErrorCode.None) { //throw new Exception(customerData.Message); Ultility.Info(customer.CustomerId + ": " + customerData.Message); } else { Ultility.Info(customer.CustomerId + ": " + customer.CustomerId); //dataGridView1.DataSource = customerData.StockItems; CustomerStockInquiryObject[] customerInquiryData; if (customerData != null) { ExtensionMessageCollection extensionMessageCollection = new ExtensionMessageCollection(); ExtensionMessageLog relatedMessagelog; ExtensionMessageLogCollection relatedMessagelogColl = new ExtensionMessageLogCollection(); customerInquiryData = customerData.StockItems; StringBuilder content = new StringBuilder(); string contentSms = string.Empty; int smsCount = 0; int total; Boolean sentYn = false; smsCount = 0; foreach (CustomerStockInquiryObject obj in customerInquiryData) { Ultility.Info(customer.CustomerId + ": " + obj.StockCode); extensionMessageCollection = ExtensionMessageService.GetExtensionMessageListByTitle(obj.StockCode, customer.CustomerId, ExtensionMessageColumns.ExtensionMessageID, "DESC", 1, 5, out total); if (extensionMessageCollection.Count > 0) sentYn = true; foreach (ExtensionMessage extMessage in extensionMessageCollection) { if (smsCount == 0) { if (contentSms == string.Empty) contentSms += Ultility.RemoveSound(extMessage.Content.Normalize()) ; else contentSms += ";" + Ultility.RemoveSound(extMessage.Content.Normalize()) + ""; } smsCount++; relatedMessagelog = new ExtensionMessageLog(); relatedMessagelog.ExtensionMessageID = extMessage.ExtensionMessageID; relatedMessagelog.CustomerId = customer.CustomerId; relatedMessagelogColl.Add(relatedMessagelog); } } //create messsages to be sent if (sentYn) { //ContentTemplate contentTemplate = ContentTemplateService.GetContentTemplate(templateID); ContentTemplate contentTemplateSms = ContentTemplateService.GetContentTemplate(porfolioSmsMessageTemplateID); VfsCustomerService.Business.ImportService.CreateMessage(customer, contentSms, contentTemplateSms); foreach (ExtensionMessageLog relatedMsglog in relatedMessagelogColl) { ExtensionMessageLogService.CreateExtensionMessageLog(relatedMsglog); } } } } }