public TrickleSmsAndEmailBetweenSetTimes MapToTrickleSmsAndEmailOverPeriod(Guid trickleId, string customerContactsId, CoordinatorSmsAndEmailModel model, string username) { var mapToTrickleSmsAndEmailOverPeriod = new TrickleSmsAndEmailBetweenSetTimes { ConfirmationEmails = new List<string> {model.ConfirmationEmail }, CoordinatorId = trickleId, MetaData = new SmsMetaData { Topic = model.Topic, Tags = model.GetTagList() }, StartTimeUtc = DateTimeOlsenMapping.DateTimeWithOlsenZoneToUtc(model.StartTime, model.UserTimeZone), Duration = model.SendAllBy.Value.Subtract(model.StartTime), EmailData = new EmailData { BodyHtml = model.EmailHtmlContent, FromAddress = "*****@*****.**", // TODO: Get from details from config?? BodyText = string.Empty, FromDisplayName = "Sam Jeffress Test", ReplyToAddress = "*****@*****.**", Subject = "test" }, UserOlsenTimeZone = model.UserTimeZone, Username = username, SmsAndEmailDataId = customerContactsId, SmsMessage = model.SmsContent }; return mapToTrickleSmsAndEmailOverPeriod; }
public ActionResult Create(CoordinatorSmsAndEmailModel model) { var trickleId = Guid.NewGuid(); Session.Add("CoordinatorSmsAndEmailModel", model); Session.Add("trickleId", trickleId.ToString()); var hpf = Request.Files[0]; if (hpf.ContentLength == 0) throw new ArgumentException("no content"); var csvFileContents = new CsvFileContents(); using (var csvReader = new CsvHelper.CsvReader(new StreamReader(hpf.InputStream), new CsvConfiguration { HasHeaderRecord = false })) { // TODO : Not reading first row properly while (csvReader.Read()) { csvFileContents.Rows.Add(csvReader.CurrentRecord); } } var fileContentsId = trickleId.ToString() + "_fileContents"; using (var session = Raven.GetStore().OpenSession()) { session.Store(csvFileContents, fileContentsId); session.SaveChanges(); } var dataColumnPicker = new DataColumnPicker {TrickleId = trickleId, FirstRowIsHeader = true}; if (!string.IsNullOrWhiteSpace(model.TemplateName)) { using (var session = Raven.GetStore().OpenSession("Configuration")) { var communicationTemplate = session.Load<CommunicationTemplate>(model.TemplateName); if (communicationTemplate.TemplateVariables != null) communicationTemplate.TemplateVariables.ForEach(t => dataColumnPicker.TemplateVariableColumns.Add(t.VariableName, null)); } } var dropDownList = csvFileContents.CreateSelectList(); ViewData.Add("selectListData", dropDownList); return View("CreateSmsAndEmailPickRows", dataColumnPicker); }