private static void processProviderWeeklyStatement(Provider p, IQueryable <Claim> claims) { IReportService Writer = ServiceFactory.getReportService(); IEmailService emailServer = ServiceFactory.getEmailService(); IClaimService claimService = ServiceFactory.getClaimService(); int personId; string statement = ""; personId = (p as Provider).ProviderID; var personClaims = claims.Where(e => e.Provider.ProviderID == personId); statement = p.generateProviderCoverStatment(personClaims); var serializedClaims = claimService.generateSerializedReport(p, personClaims); statement += DataConversion.ConvertDataTableToHTML(DataConversion.ToDataTable(serializedClaims)); MemoryStream stream = new MemoryStream(Encoding.ASCII.GetBytes(statement)); //Add a new attachment to the E-mail message, using the correct MIME type Attachment attachment = new Attachment(stream, new ContentType("text/plain")); attachment.Name = "statment.html"; //send email emailServer.sendEmail("*****@*****.**", p.Email, "ChocAn Statment", "Attached your statment for this week.", new Attachment[] { attachment }); //store file Writer.writeWeeklyStatment(p, statement); }