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()); }