// GET: Emailing public ActionResult Index() { var model = new EmailingListViewModel(); model.GridData.Templates = new List <TemplateViewModel>(); //var emailings = _emailingRepository.GetAll().ToList(); return(View(model)); }
public async Task <JsonResult> ExportAndSend(EmailingListViewModel vm, JqGridModel model) { var result = false; var htmlBuilder = new StringBuilder(); try { string jsonPostData; using (var input = Request.InputStream) { input.Position = 0; using (var reader = new System.IO.StreamReader(input)) { jsonPostData = reader.ReadToEnd(); } } var jqGrid = JsonConvert.DeserializeObject <JqGridModel>(jsonPostData, new JqGridConverter()); int totalRecords; var data = GetData(jqGrid.GridSettings, out totalRecords, true); var colStates = ConvertDataToExcel.ConvertColStateToColumnModels(jqGrid.ColStates); foreach (var columnModel in colStates) { if (!string.IsNullOrEmpty(columnModel.Header)) { htmlBuilder.AppendFormat(@"{0};", columnModel.Header); } } htmlBuilder.AppendFormat(Environment.NewLine); htmlBuilder = ConvertDataToExcel.ConvertDataToArray(data, jqGrid.ColStates, htmlBuilder); var fileName = String.Format("{1}{0}.csv", vm.GridData.Caption, Server.MapPath(WebConfigurationManager.AppSettings["ReportsPath"])); //var attach = new Dictionary<string, string> {[fileName] = htmlBuilder.ToString() }; var user = await _userManager.FindByIdAsync(User.Identity.GetUserId()); //result = Email.SendZipEmail(user.Email, Server.MapPath("~/Reports/"), fileName, htmlBuilder.ToString()); var resp = await _emailingService.SendMessage(user.Email, fileName, htmlBuilder.ToString()); result = resp.RejectReason == null; } catch (Exception ex) { //_log.Error(ex); return(new JsonResult { Data = new { ErrorMessage = ex.Message, Success = false }, ContentEncoding = System.Text.Encoding.UTF8, JsonRequestBehavior = JsonRequestBehavior.DenyGet }); } return(new JsonResult() { Data = new { Success = result }, }); }