public async Task SendAddfare(List <IncamAddfareModel> incamAddfares)
        {
            foreach (var incamAddfare in incamAddfares)
            {
                var name           = incamAddfare.name;
                var all            = (float)incamAddfare.hour_price * incamAddfare.hour;
                var all_tax        = Math.Truncate(all * incamAddfare.income / 10) * 10;
                var hour           = incamAddfare.hour;
                var income_type_nm = incamAddfare.income_type_nm;
                var hour_price     = incamAddfare.hour_price;
                var employee_all   = (float)incamAddfare.contract_price * incamAddfare.hour;
                var employee_tax   = Math.Truncate(employee_all * incamAddfare.income / 10) * 10;
                var contract_price = incamAddfare.contract_price;
                var remit          = (all - all_tax) - (employee_all - employee_tax);
                var class_name     = incamAddfare.@class;
                var month          = incamAddfare.addfare_date.Month;
                var day            = incamAddfare.addfare_date.Day;

                var result = await(
                    from teacher in _context.TeacherContext
                    where teacher.teacher_seq == incamAddfare.teacher_seq
                    select teacher).FirstOrDefaultAsync();

                string title = $"[핀인사이트] {incamAddfare.@class} 지급명세서 {incamAddfare.addfare_date.ToString("yyyy-MM-dd")}";

                string content = $@"
                   <br/>
                   <br/>
                   안녕하세요, <span style='color:blue'>{incamAddfare.name}</span> 님<br/>
                   <br/>
                   {incamAddfare.@class} 과정 강의료 지급명세서 송부합니다.<br/>
                   명세서 확인 후 아래와 같이 송금 요청드립니다.<br/>
                   <br/>
                   - 교육과정 총 입금액 : ₩{ToAccounting(all - all_tax)}<br/>
                   - 강의료 실지급액 : <span style='color:blue;'>₩{ToAccounting(employee_all - employee_tax)}</span> <span style='color:red;'>(세전 {contract_price / 10000}만원 * {hour}시간)</span><br/>
                   - 송금요청액 : <span style='color:blue;'>₩{ToAccounting(remit)}</span><br/>
                   - 송금계좌 : KB국민 | 277237-04-001089 | (주)핀인사이트<br/>
                   <br/>
                   <br/>
                   지급명세서는 아래 링크에서 확인하실수 있습니다. (링크를 공유하지 말아주세요)<br/>
                   <a href='http://49.50.172.5:8080/admin?seq={result.teacher_seq}&password={result.passwd}' target='_blank'>지급명세서 확인</a><br/>
                ";

                string[] test = { "*****@*****.**" };
                await _email.SendEmail(result.email, title, content, test);

                EmailLogModel emailLog = new EmailLogModel
                {
                    use_yn   = 1,
                    subject  = title,
                    contents = content,
                    to       = result.email,
                    type     = "addfare"
                };

                await _context.AddAsync(emailLog);

                await _context.SaveChangesAsync();
            }
        }
        public async Task SendCertification(int class_seq, int order_user_seq, string file_path)
        {
            var result = await(
                from cls in _context.ClassContext
                join order_item in _context.OrderItemContext on class_seq equals order_item.class_seq
                join order in _context.OrderContext on order_item.order_id equals order.order_id
                join user in _context.UserContext on order.order_user_seq equals user.user_seq
                where cls.class_seq == class_seq && order.order_user_seq == order_user_seq
                select new ClassStudentModel
            {
                order_id       = order.order_id,
                order_user_seq = order.order_user_seq,
                name           = user.name,
                email          = user.email,
                class_nm       = cls.class_nm,
                order_item_seq = order_item.order_item_seq,
                order_date     = order.order_date,
                start_date     = cls.start_date,
                end_date       = cls.end_date,
                order_type     = order.order_type,
                order_price    = order.order_price,
                address        = order.address,
                survey_url     = cls.survey_url
            }).SingleAsync();

            string title = $"[인사이트 캠퍼스/ {result.class_nm}] 수료증 및 종강 설문조사 안내드립니다.";

            string content = $@"
                <p>안녕하세요,</p> 
                <p>인사이트 캠퍼스입니다.</p>
                <p>강의 수강하시느라 수고 많으셨습니다.</p>
                <br />
                <p>=========================</p>
                <p>- 수료증 (PDF 파일 첨부)</p>
                <br />
                <p>-설문조사 참여</p>
                <p>더 나은 교육을 위해 설문을 진행합니다.</p>
                <p>설문해주신 분들께 할인쿠폰을 드립니다.</p>
                <br />
                <p>*설문 맨 하단에 쿠폰코드가 있습니다.</p>
                <p>*할인쿠폰 종강 후 6개월 내 / 1회 / 타쿠폰과 중복 사용 가능.</p>
                <br />
                <p>설문하러가기>> <a href='{result.survey_url}'>{result.survey_url}</a></p>
                <br />
                <p>=========================</p>
                <br />
                <p>좋은 교육으로 또 뵙겠습니다.</p>
                <p>문의 있으시면 언제든 연락바랍니다.</p>
                <p>감사합니다.</p>";

            string[] sender = { "*****@*****.**" };

            string fileName = $"{result.class_nm}강의수료증({result.name}님)";

            await _email.SendEmail(result.email, title, content, file_path, fileName, sender);

            EmailLogModel emailLog = new EmailLogModel
            {
                use_yn   = 1,
                subject  = title,
                contents = content,
                to       = result.email,
                type     = "certification"
            };

            await _context.AddAsync(emailLog);

            await _context.SaveChangesAsync();
        }
 public async Task <ActionResult> email()
 {
     _email.SendEmail();
     return(Ok());
 }