private CreateFileResult CreateFileAndSendMail(string data_path, string docnum, string customer_email) { try { DbfDataSet dbf = new DbfDataSet(data_path); var artrn = dbf.Artrn.Where(a => a.docnum == docnum).FirstOrDefault(); if (artrn == null) { throw new Exception("Error : Document number " + docnum + " not found in data path " + data_path); } string subject = string.Empty; subject += artrn.docdat.Value.ToString("[ddMMyyyy]", CultureInfo.GetCultureInfo("th-TH")); subject += "[" + artrn.GetSubjectDocType(dbf) + "]"; subject += "[" + artrn.docnum + "]"; //Console.WriteLine(" ==> Start at " + DateTime.Now.ToString()); var json_result = this.CreateJson(data_path, docnum, data_path + @"\eTaxInvoice\json\" + docnum + ".json"); if (json_result.Success) { var xml_result = this.CreateXml(data_path + @"\eTaxInvoice\json\" + docnum + ".json", data_path + @"\eTaxInvoice\xml\" + docnum + ".xml"); if (xml_result.Success) { File.Delete(data_path + @"\eTaxInvoice\json\" + docnum + ".json"); var pdfa3_result = this.CreatePdfA3(data_path + @"\eTaxInvoice\pdf\" + docnum + ".pdf", data_path + @"\eTaxInvoice\xml\" + docnum + ".xml", data_path + @"\eTaxInvoice\pdfa3\" + docnum + ".pdf", artrn.GetDocType(dbf)); if (pdfa3_result.Success) { File.Delete(data_path + @"\eTaxInvoice\xml\" + docnum + ".xml"); Mailing m = new Mailing(customer_email, subject, "", new string[] { data_path + @"\eTaxInvoice\pdfa3\" + docnum + ".pdf" }); var mail_result = m.Send(); if (mail_result.Success) { //Console.WriteLine(" ==> Send mail success"); //Console.WriteLine(" ==> Completed at " + DateTime.Now.ToString()); m = null; return(new CreateFileResult { Success = true, Message = mail_result.Message }); } else { //Console.WriteLine(" ==> Send mail failed"); //Console.WriteLine(" ==> Corupted at " + DateTime.Now.ToString()); return(new CreateFileResult { Success = false, Message = mail_result.Message }); } } else { return(pdfa3_result); } } else { return(xml_result); } } else { return(json_result); } } catch (Exception) { throw; } }