ActionOutput <RecipientDetails> IAddressBookManager.AddUpdateAddressBook(AddUpdateRecipientModel model) { var message = ""; RecipientDetails addressDetails = new RecipientDetails(); if (model.ID > 0) { var existngUser = Context.UserAddressBooks.Where(z => z.Name.Trim().ToLower() == model.Name.Trim().ToLower() && z.Address == model.Address && z.UserIDFK == model.UserID && z.ID != model.ID && z.IsDeleted == false).FirstOrDefault(); if (existngUser != null) { return(new ActionOutput <RecipientDetails> { Status = ActionStatus.Error, Message = "This author with same name and address is already added into your address book." }); } var address = Context.UserAddressBooks.Where(z => z.ID == model.ID && z.IsDeleted != true).FirstOrDefault(); address = Mapper.Map <AddUpdateRecipientModel, UserAddressBook>(model, address); address.AddressVerified = model.AddressVerified; Context.SaveChanges(); message = "Address details updated successfully."; } else { var existngUser = Context.UserAddressBooks.Where(z => z.Name.Trim().ToLower() == model.Name.Trim().ToLower() && z.Address == model.Address && z.UserIDFK == model.UserID && z.IsDeleted != true && z.IsPermanent == true).FirstOrDefault(); if (existngUser != null) { return(new ActionOutput <RecipientDetails> { Status = ActionStatus.Error, Message = "This recipient with same name and address is already added into your address book." }); } else { UserAddressBook book = Mapper.Map <AddUpdateRecipientModel, UserAddressBook>(model); book.IsActive = true; book.ActivatedOn = DateTime.UtcNow; book.AddedOn = DateTime.UtcNow; book.IsDeleted = false; Context.UserAddressBooks.Add(book); Context.SaveChanges(); addressDetails = Mapper.Map <UserAddressBook, RecipientDetails>(book, addressDetails); // recipientDetails.State = Context.states.FirstOrDefault(x => x.id == book.State).name; // recipientDetails.City = Context.cities.FirstOrDefault(x => x.cityID == book.City).cityName; message = "Address details added successfully."; } } return(new ActionOutput <RecipientDetails> { Status = ActionStatus.Successfull, Message = message, Object = addressDetails }); }
public void generatingMail(RecipientDetails details) { string reportBody = ""; for (int tableCount = 0; tableCount < details.Labels.Length; tableCount++) { reportBody += "<h2> Analysis Report of " + details.FilterName[tableCount] + "</h2>" + "<h3> from " + details.StartDate[tableCount] + " upto " + details.EndDate[tableCount] + " at " + details.Location[tableCount] + "</h3>" + "<br>" + " <table border=" + 1 + " cellpadding=" + 10 + " cellspacing=" + 0 + " width = " + 500 + ">" + "<tr bgcolor='#D3D3D3'>" + "<td><b>" + details.FilterName[tableCount] + "</b></td> " + "<td><b>Number Of bookings</b></td>" + "</tr>"; for (int RowCount = 0; RowCount < details.Labels[tableCount].Length; RowCount++) { reportBody += "<tr>" + "<td>" + details.Labels[tableCount][RowCount] + "</td>" + "<td> " + details.Statistics[tableCount][RowCount] + "</td> " + "</tr>"; } reportBody += "</table>" + "<br>"; } StringReader sr = new StringReader(reportBody); Document pdfDoc = new Document(PageSize.A4, 50f, 10f, 20f, 0f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); using (MemoryStream memoryStream = new MemoryStream()) { PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); MailMessage mailMessage = new MailMessage("*****@*****.**", details.RecipientEmialId); mailMessage.Subject = "Data Analysis Report of " + details.ProductName; mailMessage.Body = "Your analysis report is attached with this Email !"; mailMessage.IsBodyHtml = true; mailMessage.Attachments.Add(new Attachment(new MemoryStream(bytes), "DataAnalysisReport.pdf")); NetworkCredential credentials = new NetworkCredential(); credentials.UserName = "******"; credentials.Password = "******"; SmtpClient client = new SmtpClient(); client.Host = "smtp.gmail.com"; client.Credentials = credentials; client.Port = 587; client.EnableSsl = true; try { client.Send(mailMessage); } catch (Exception e) { Console.WriteLine(e.ToString()); } } }
public void Post([FromBody] RecipientDetails details) { _emailService.generatingMail(details); }