Пример #1
0
        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
            });
        }
Пример #2
0
        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());
                }
            }
        }
Пример #3
0
 public void Post([FromBody] RecipientDetails details)
 {
     _emailService.generatingMail(details);
 }