using System; using System.Collections.Generic; using System.Text; namespace NP.Model { /// /// 기수 /// [Serializable] public class Pay : BaseModel { /// /// 결제키 자격시험은 관련강좌 수료완료여부에 따라 결제로직 다름, 자격증강좌는 승인대기로직 필요 /// public Int64 payno { get; set; } /// /// 사용자사이트 수강신청 검색루트를 통한 신청일 경우 pplog 정보 연결 /// public Int64? pplno { get; set; } /// /// 결제방식 1:신용카드,2:계좌이체,3:가상계좌,4:현금,5:현금+카드,6:무료,7:대기신청,9:위탁계약 /// public int ptype { get; set; } /// /// 0:정상, 1:대기신청 /// public int isready { get; set; } public String ptypecode { get { return ptype == 1 ? "Card" : ptype == 2 ? "DirectBank" : ptype == 3 ? "VBank" : "-"; } } public String ptypename { get { return ptype == 1 ? "신용카드" : ptype == 2 ? "계좌이체" : ptype == 3 ? "가상계좌" : ptype == 4 ? "현금" : ptype == 5 ? "복합" : ptype == 6 ? "무료" : ptype == 9 ? "위탁" : "-"; } } public int piptype { get; set; } public String itemname { get; set; } public int cshape { get; set; } public String cshapename { get { return cshape == 0 ? "온라인" : cshape == 1 ? "교육장교육" : "온라인교육"; } } /// /// pg연동여부 1:pg연동, 0:BackOffice전용수동생성데이터(PG환불 불가) /// public int ispg { get; set; } /// /// 0: 정상, 1: 미수승인, 2: 미수입금완료 /// public int isunpay { get; set; } /// /// 단체결제여부 /// public int isgroup { get; set; } public int isexam { get; set; } /// /// fkpayu users.userno 신청/결제자번호 /// public int userno { get; set; } public String username { get; set; } public String userpno { get; set; } /// /// 결제상태 0:결제시도, 1:결제완료, 21:결제대기(승인심사),22:입금대기, 41:결제취소,42:가상계좌입금대기만료,43:가상계좌입금전취소,55:대기신청" lect, examuser 등의 결제상태 sync /// public int pstatus { get; set; } public String pstatusname { get { return rstatus == 2 ? "환불" : rstatus == 1 ? "환불" : pstatus == 1 ? "결제완료" : pstatus == 22 ? "입금대기" : "결제취소"; } } public String pstatusname2 { get { return rstatus == 1 && payamt <= refundamt ? "전액환불" : (pstatusname + (isunpay == 1 ? "(미수)" : isunpay == 2 ? "(미수입금)" : "")); } } /// /// 환불상태 0:정상,1:부분환불,2:전체환불 /// public int rstatus { get; set; } public DateTime? rstatustime { get; set; } /// /// 한불요청상태여부 0:정상, 1: 환불요청건있는상태 중요, 환불요청시 1, 환불관리시점에 0건이면 0 /// public int refunding { get; set; } /// /// 가상계좌입금만료일 수강신청 또는 가상계좌유효기간 중 빠른시간 가상계좌는 발급일로부터 ?일 /// public DateTime? paylimit { get; set; } public String paylimitymd { get { return paylimit == null ? "" : paylimit.Value.ToString("yyyyMMdd"); } } /// /// 승인시간 입금/결제완료시간 /// public DateTime? payoktime { get; set; } public int? isinmoney { get; set; } /// /// 100 pg사코드 /// public String pgkey { get; set; } /// /// 부분취소 거래번호(payitem에 저장용도) /// public String cancelcode { get; set; } /// /// 부분취소 요청횟수 /// public int cancelcnt { get; set; } /// /// 정가총액 /// public int orgamt { get; set; } /// /// 할인총액 /// public int discamt { get; set; } /// /// 배송비 /// public int deliamt { get; set; } /// /// 배송비환불완료여부 /// public int isrefunddvr { get; set; } public int isrebate { get; set; } /// /// 결제총액 정가총액-할인총액+배송비 /// public int payamt { get; set; } /// /// 환불총액 /// public int refundamt { get; set; } public int newrefundamt { get; set; } public IList PIs { get; set; } public String pinoslect { get; set; } public String pinoslect2 { get; set; } public String pinosexamuser { get; set; } public String pinosexamuser2 { get; set; } public int cmno { get; set; } public String cmnos { get; set; } public Int64? fgno { get; set; } public Int64? fgno2 { get; set; } public int isdvr { get; set; } public int isdvr2 { get; set; } public String dvrcode { get; set; } public String dmemo { get; set; } public DateTime? codetime { get; set; } public PayDVR PayDVR { get; set; } public String timestamp { get; set; } public String signature { get; set; } public String oid2 { get; set; } public String acceptmethod { get; set; } public String payresult { get; set; } public String payresultmsg { get; set; } public String vactnum { get; set; } public String vactbankcode { get; set; } public String vactbankname { get; set; } public String vactname { get; set; } public String vactinname { get; set; } public String cshrrcode { get; set; } public String cshrauthno { get; set; } public String cshrtype { get; set; } public String cardquota { get; set; } public int cardquotatype { get; set; } public String cardeventcode { get; set; } public String cardnum { get; set; } public int iscardpoint { get; set; } public String cardcode { get; set; } public String cardbankcode { get; set; } public String cardprtccode { get; set; } public String checkflag { get; set; } public String ocbnum { get; set; } public String ocbappno { get; set; } public String ocbprice { get; set; } public String gsnum { get; set; } public String gsremain { get; set; } public String gsprice { get; set; } public String unum { get; set; } public String upoint { get; set; } public String uprice { get; set; } public String cancelresult { get; set; } public String rcvname { get; set; } public String post { get; set; } public String post2 { get; set; } public String address1 { get; set; } public String address2 { get; set; } public String address12 { get; set; } public String address22 { get; set; } public String mobile { get; set; } public String mobile2 { get; set; } public String telno { get; set; } public String telno2 { get; set; } public String email { get; set; } public DateTime? oktime { get; set; } public int exno { get; set; } public long rfdno { get; set; } public int iscanceled { get; set; } public int iscashrct { get; set; } public String cashrcthp { get; set; } /// /// 계산서발행여부 /// public int isbill { get; set; } public int? isaccommodation { get; set; } //public Xpay xpay { get; set; } public String mid { get; set; } /// /// 무결성 검증 필드 /// LGD_MID, LGD_TID, MertKey의 조합으로 생성된 인증문자열을 md5로 암호화한 값 /// 인증문자열 생성: LGD_MID + LGD_TID + MertKey /// md5로 인증문자열 암호화(authdata): md5(인증문자열) /// public String authdata { get; set; } /// /// 계산서요청일 /// public DateTime? taxdate { get; set; } /// /// 발행취소 /// public int? iscancel { get; set; } public Int64? taxno { get; set; } /// /// 계산서신청 type /// 0:신용카드,1:현금영수증신청완료,2:가상계좌영수증신청필요,3:계산서신청완료,4:가상계좌,신용카드제외건 /// public int taxtype { get { return ptype == 1 ? 0 : ptype == 3 ? iscashrct == 1 ? 1 : taxno == null ? 2 : 3 : 4; } } public String taxtypename { get { return taxtype == 0 ? "카드" : taxtype == 1 ? "현금영수증" : taxtype == 2 ? "신청필요" : taxtype == 3 ? "신청" : "-"; } } } public class PayItem : BaseModel { /// /// 결제상품키 /// public Int64 pino {get;set;} /// /// fkpayitempay 결제키 pay.payno /// public Int64 payno {get;set;} /// /// 상품유형 0:강좌,1:패키지,2:교재 ,3:시험, 4: 자격증강좌 /// public int ptype {get;set;} public String ptypename { get { return ptype == 1 ? "PKG":ptype == 2 ? "교재" : ptype == 3 ? "시험" : "강좌"; } } public int pptype { get; set; } public String pptypename { get { return pptype == 1 ? "신용카드" : pptype == 2 ? "계좌이체" : pptype == 3 ? "가상계좌" : pptype == 4 ? "현금" : pptype == 5 ? "복합" : pptype == 6 ? "무료" : pptype == 9 ? "위탁" : "-"; } } /// /// fkpayitemcmpc 패키지키 cmpc.pcno = cm.cmno /// public int? pcno {get;set;} /// /// 강좌, 자격시험 cm.cmno, book.bkno, exam.exno /// public Int64 itemno {get;set;} public String itemname { get; set; } public int rsno { get; set; } /// /// fkpayitemu 단체결제 수강생 users.userno /// public int? userno {get;set;} public int isrefundcall { get; set; } /// /// 결제상태 0:결제시도,1:결제완료,21:결제대기(승인심사),22:입금대기,41:결제취소,42: 가상계좌입금대기만료, 43: 가상계좌입금전취소,51:자격증강좌심사중 /// public int pstatus {get;set;} public String pstatusname { get { return rstatus == 2 ? "전액환불" : rstatus == 1 ? "부분환불" : isrefundcall == 1 ? "환불요청" : pstatus == 1 ? "결제완료" : pstatus == 21 ? "결제대기" : pstatus == 22 ? "입금대기" : "결제취소"; } } public String pstatusname2 { get { return rstatus == 1 && payamt <= refundamt ? "전액환불" : (pstatusname+(isunpay == 1 ? "(미수)":isunpay == 2 ? "(미수입금)":"")); } } public int isunpay { get; set; } /// /// 환불상태 0:정상,1:부분환불,2:전체환불 /// public int rstatus {get;set;} /// /// 수량 /// public int pcnt {get;set;} /// /// 정가 /// public int orgamt {get;set;} /// /// 할인액 /// public int discamt {get;set;} /// /// 결제액 /// public int payamt {get;set;} public int payamt2 { get; set; } /// /// 0:정상, 1:대기신청 /// public int isready { get; set; } /// /// 혼합교육 교육일정 cminningscd.cmisno /// public Int64? cmisno { get; set; } /// /// 현금결제액 현금+카드로 결제 시 /// public int payamtcash {get;set;} /// /// 카드결제액 현금+카드로 결제 시 /// public int payamtcard {get;set;} /// /// 환불액 /// public int refundamt {get;set;} /// /// 환불일자 /// public DateTime? refundtime {get;set;} /// /// 실제환불처리일자 /// public DateTime? refundtimereal {get;set;} /// /// 200 환불메모 /// public String refundinfo {get;set;} /// /// 수강/시험 취소여부 (1: 취소, 0: 정상유지) /// public int refundstatus { get; set; } /// /// 환급신청여부 환급강좌 기준 /// public int isrebate {get;set;} /// /// 환급강좌신청 훈련위탁계약서 /// public Int64? fgno { get; set; } /// /// 수강데이터 삽입 시 사용할 수강상태 /// public int status { get; set; } /// /// 수강데이터 삽입 시 사용할 패키지로 구매여부 /// public int ispc { get; set; } /// /// 수강데이터 삽입 시 사용할 회원사회원 여부 /// public int isjoin { get; set; } public String isjoinname { get{ return isjoin == 1 ? "정" : "비"; } } public Int64 lectno { get; set; } public int days { get; set; } public DateTime? rstime { get; set; } public DateTime? retime { get; set; } public int tyear { get; set; } public int tseq { get; set; } /// /// 강의유형 0: 온라인, 1: 오프라인, 2: 혼합(온+오프) /// public int cshape { get; set; } public String cshapename { get { return cshape == 0 ? "온라인" : cshape == 1 ? "교육장교육" : cshape == 2 ? "온라인교육" : "-"; } } public String cname { get; set; } public int ppstatus { get; set; } public int prstatus { get; set; } /// /// 0: 환불요청없음,1:부분환불요청,2:전체환불요청 /// public int rfdstatus { get; set; } public DateTime sstime { get; set; } public DateTime setime { get; set; } public int isgroup { get; set; } public String username { get; set; } public String userid { get; set; } public String asname { get; set; } public String ccpositionname { get; set; } public int isassignuser { get; set; } public String telno { get; set; } public String mobile { get; set; } public String telno2 { get; set; } public String mobile2 { get; set; } public String depart { get; set; } public int kfcfyear { get; set; } public String edus { get; set; } public String edusname { get { if (string.IsNullOrEmpty(edus)) { return "-"; } else { String rtn = ""; rtn += edus.Substring(0, 1) == "1" ? ", 공정거래일반" : ""; rtn += edus.Substring(1, 1) == "1" ? ", 불공정거래행위" : ""; rtn += edus.Substring(2, 1) == "1" ? ", 부당한공동행위" : ""; rtn += edus.Substring(3, 1) == "1" ? ", 하도급거래" : ""; rtn += edus.Substring(4, 1) == "1" ? ", 부당내부거래" : ""; return rtn == "" ? "" : rtn.Substring(2); } } } public String email { get; set; } public String emailhide { get { return string.IsNullOrEmpty(email) ? "-" : (((email.Split('@')[0].Length < 4 ? email.Split('@')[0] : email.Split('@')[0].Substring(0, 4)) + "****") + "@" + email.Split('@')[1]); } } public Int64 taxno { get; set; } public int ispast { get; set; } public Int64 rfdno { get; set; } public int rfdrstatus { get; set; } public DateTime? payoktime { get; set; } public String cgname { get; set; } public String pcgname { get; set; } public int isexamready { get; set; } public int ppayamt { get; set; } public String isrebatename { get { return isrebate == 1 && (ptype == 0 || ptype == 1 || ptype == 4) ? "환급" : "비환급"; } } public String payymd { get { return payoktime == null ? "-" : payoktime.Value.ToString("yy-MM-dd"); } } public String stimeymd { get { return sstime.ToString("yyyy-MM-dd") + " ~ " + setime.ToString("yyyy-MM-dd"); } } public String rbank { get; set; } public String rbankname { get; set; } public String rbankacc { get; set; } public String rbankaccnum{ get; set; } public String rbankowner { get; set; } public String tbankuser{ get; set; } public int? infee { get; set; } public int? outfee { get; set; } public int ispg { get; set; } /// /// 학습장소 /// public int studyplace { get; set; } /// /// 학습장소명 /// public String studyplacename { get; set; } /// /// 강좌교육시작일 /// public DateTime? sdate { get; set; } /// /// 강좌교육시작일(ymd) /// public String sdateymd { get { return sdate == null ? "-" : sdate.Value.ToString("yy-MM-dd"); } } /// /// 강좌교육종료일 /// public DateTime? edate { get; set; } /// /// 강좌교육종료일(ymd) /// public String edateymd { get { return edate == null ? "-" : edate.Value.ToString("yy-MM-dd"); } } /// /// 교육일정시작일(온라인혼합) /// public DateTime? cmiestart { get; set; } /// /// 교육일정시작일(온라인혼합:ymd) /// public String cmiestartymd { get { return cmiestart == null ? "-" : cmiestart.Value.ToString("yy-MM-dd"); } } /// /// 교육일정종료일(온라인혼합) /// public DateTime? cmieend { get; set; } /// /// 교육일정종료일(온라인혼합:ymd) /// public String cmieendymd { get { return cmieend == null ? "-" : cmieend.Value.ToString("yy-MM-dd"); } } /// /// 교육일정학습장소(온라인혼합) /// public int cmistudyplace { get; set; } /// /// 교육일정학습장소명(온라인혼합) /// public String cmistudyplacename { get; set; } /// /// 학습기간(상시:일) /// public int studydays { get; set; } public DateTime? estart { get; set; } public String tgname { get; set; } public String tename { get; set; } /// /// 수료여부 /// public int? iscomplete { get; set; } public String completename { get { return iscomplete == null ? "미수료" : iscomplete == 0 ? "미수료" : "수료"; } } } /// /// 배송정보 /// [Serializable] public class PayDVR : BaseModel { /// /// fkpaydvrpay 결제키 pay.payno /// public Int64 payno {get;set;} public String payresult { get; set; } public String payresultmsg { get; set; } /// /// 20 송장번호 /// public String dvrcode {get;set;} /// /// 송장발부일 /// public DateTime? codetime {get;set;} /// /// 배송방법 0:직접수령,1:택배발송 /// public int isdvr {get;set;} public String isdvrname { get { return isdvr == 1 ? "택배배송" : "직접수령"; } } /// /// 30 수령인 /// public String rcvname {get;set;} /// /// ev50 일반전화 /// public String telno {get;set;} /// /// ev50 휴대폰번호 /// public String mobile {get;set;} /// /// ev50 이메일 /// public String email{ get; set; } /// /// 6 우편번호 /// public String post {get;set;} /// /// 200 주소 /// public String address1 {get;set;} /// /// 200 상세주소 /// public String address2 {get;set;} /// /// 300 메모 /// public String dmemo {get;set;} public DateTime payoktime { get; set; } public String payoktimeymd { get { return payoktime.ToString("yyyy-MM-dd"); } } public int userno { get; set; } public String username { get; set; } public String userid { get; set; } public String bkname { get; set; } public int dvrcount { get; set; } } /// /// 장바구니 /// [Serializable] public class PayCart : BaseModel { /// /// 장바구니키 강좌/교재 별 UNIQUE하게 관리해야 함, 강좌/교재/시험 별로 장바구니 진입 시 청소(수강신청 지난 것, 폐기된 강좌, 강좌매핑교재해제 등) 자격증강좌는 장바구니 넣을 수 없다 /// public Int64 pcno { get; set; } /// /// 단체결제여부 /// public int isgroup { get; set; } /// /// 상품유형 0:강좌,2:교재,9:강좌교재 /// public int ptype { get; set; } /// /// 강좌,패키지키,자격시험 cm.cmno, book.bkno, exam.exno /// public Int64 itemno { get; set; } public String itemname { get; set; } /// /// 환급여부 사용자 환급 선택여부 /// public int isrefund { get; set; } /// /// 강좌교재의 강좌코드 cm.cmno ptype = 9 /// public Int64? cmno { get; set; } /// /// fkpaycartu 사용자 users.userno /// public int? userno { get; set; } /// /// 수량 /// public int pcnt { get; set; } /// /// 상태 1:정상,0:삭제,2:청소,3:결제완료 /// public int status { get; set; } /// /// fkpaycartfg 위탁계약서 단일파일 /// public Int64? fgno { get; set; } public String bknos { get; set; } public IList Ds { get; set; } public int cshape { get; set; } public String cshapename { get { return cshape == 0 ? "ON" : cshape == 1 ? "OFF" : cshape == 2 ? "ON" : "-"; } } public DateTime sstime { get; set; } public DateTime setime { get; set; } public int payamt { get; set; } public int orgamt { get; set; } } /// /// 가상계좌입금내역 /// [Serializable] public class PayVBankIn : BaseModel { public Int64 payno {get;set;} public String payresult { get; set; } public String payresultmsg { get; set; } /// /// 거래번호 이니시스 거래번호 입금거래번호? /// public String pgkey {get;set;} /// /// 거래발생 기관코드 계좌를 발급한 은행 코드 /// public String inbankcode {get;set;} /// /// 취급기관코드 거래 취급 기관 코드(실제 입금은행) /// public String indeal {get;set;} /// /// 거래일자 금융기관 발생 거래 일자 /// public String inymd {get;set;} /// /// 거래시각 금융기관 발생 거래 시각 /// public String inhms {get;set;} /// /// 30 전문일련번호 /// public String msgseq { get; set; } /// /// 거래일련번호 /// public String transseq { get; set; } /// /// 계좌번호 가상계좌번호 /// public String vacct {get;set;} /// /// 입금금액 입금 금액 /// public int inamt {get;set;} /// /// 미결제타점권금액 타행 자기앞수표 입금액 /// public int checkamt {get;set;} /// /// 마감구분 0:당일마감전, 1:당일마감후 /// public String isclose {get;set;} /// /// 거래구분 0200:정상, 0400:취소 /// public String typemsg {get;set;} /// /// 입금은행명 입금시도한 은행이름 /// public String frombank {get;set;} /// /// 입금자명 입금자이름또는 입금기관명 /// public String fromname {get;set;} /// /// 입금기준일자 입금기준일자 /// public String fromymd {get;set;} /// /// 정산기준일자 정산기준일자 /// public String calcymd {get;set;} /// /// 거래기준일자 거래기준일자 /// public String tranymd {get;set;} /// /// 거래구분코드 ”1100”거래구분코드 ”1100” /// public String transcode {get;set;} /// /// 한글구분코드2:KSC5601한글구분코드 /// public String korcode {get;set;} /// /// 현금영수증발급일자가상계좌 채번시 현금영수증자동발급 설정을 한 거래건에한해 전달가상계좌 입금통보 처리 페이지 2. DB 모듈 연동 Pub.Date: 2016. 2 Page 9 /// public String cshrymd {get;set;} /// /// 현금영수증발급시간가상계좌 채번시 현금영수증자동발급 설정을 한 거래건에한해 전달 /// public String cshrhms {get;set;} /// /// 현금영수증발급번호가상계좌 채번시 현금영수증자동발급 설정을 한 거래건에한해 전달 /// public String cshrcode {get;set;} /// /// 현금영수증 발급 TID 가상계좌 채번시 현금영수증자동발급 설정을 한 거래건에한해 전달 /// public String cshrpgkey {get;set;} /// /// 현금영수증 발행금액 /// public String cshramt { get; set; } } [Serializable] public class PayItemResult : BaseModel { public Int64 payno {get;set;} public Int64 itemno { get; set; } public int isgroup {get;set;} public int isexam { get; set; } public int isdvr {get;set;} public int isdvr2 { get; set; } public int deliamt { get; set; } public int tpayamt {get;set;} public DateTime paylimit {get;set;} public int ptype {get;set;} public String rcvname {get;set;} public String mobile {get;set;} public String telno {get;set;} public String email {get;set;} public String post {get;set;} public String address1 {get;set;} public String address2 { get;set;} public int ptype2 {get;set;} public int payamt {get;set;} public int pcnt {get;set;} public int cmno {get;set;} public int cshape {get;set;} public int isrebate {get;set;} public DateTime sstime {get;set;} public DateTime setime { get;set;} public int rsno {get;set;} public Int64 lectno { get; set; } public int status { get; set; } public String username {get;set;} public String ccpositionname {get;set;} public int isassignuser {get;set;} public String email2 {get;set;} public String email2name { get { return string.IsNullOrEmpty(email2) ? "-" : (((email2.Split('@')[0].Length < 4 ? email2.Split('@')[0] : email2.Split('@')[0].Substring(0, 4)) + "****") + "@" + email2.Split('@')[1]); } } public String telno2 {get;set;} public String depart {get;set;} public int kfcfyear {get;set;} public String edus {get;set;} public String edusname { get { if (string.IsNullOrEmpty(edus)) { return "-"; } else { String rtn = ""; rtn += edus.Substring(0, 1) == "1" ? ", 공정거래일반" : ""; rtn += edus.Substring(1, 1) == "1" ? ", 불공정거래행위" : ""; rtn += edus.Substring(2, 1) == "1" ? ", 부당한공동행위" : ""; rtn += edus.Substring(3, 1) == "1" ? ", 하도급거래" : ""; rtn += edus.Substring(4, 1) == "1" ? ", 부당내부거래" : ""; return rtn == "" ? "" : rtn.Substring(2); } } } public int bkno {get;set;} public String itemname {get;set;} public String cgcode { get; set; } public String vactnum { get; set; } public String vactbankname { get; set; } public String vactname { get; set; } public String pgkey { get; set; } } /// /// 세금계산서 발행/요청 /// [Serializable] public class PayTax : BaseModel { /// /// 키 /// public Int64 taxno { get; set; } /// /// fkpaytaxpay 결제키 pay.payno /// public Int64 payno {get;set;} /// /// 발행금액/요청금액 /// public int taxamt { get; set; } public int taxamtsum { get; set; } /// /// 수량(인원수) /// public int pcnt { get; set; } /// /// 50 회사명 /// public String asname {get;set;} /// /// 50 대표자 /// public String ceoname {get;set;} /// /// 10 ev50 사업자등록번호 /// public String brno {get;set;} /// /// 13 ev50 법인등록번호 /// public String grno {get;set;} /// /// 50 업태 /// public String btype {get;set;} /// /// 50 업종 /// public String bkind {get;set;} /// /// 50 담당자명 /// public String manname {get;set;} /// /// 200 ev50 연락처 /// public String telno {get;set;} /// /// 200 ev50 이메일 /// public String email {get;set;} /// /// 발행일 관리자만입력 /// public DateTime? taxdate {get;set;} public String taxdateymd { get { return taxdate == null ? "" : taxdate.Value.ToString("yyyy-MM-dd"); } } public DateTime? realtaxdate { get; set; } public String realtaxdateymd { get { return realtaxdate == null ? "" : realtaxdate.Value.ToString("yyyy-MM-dd"); } } /// /// fkpaytaxfg 첨부파일 /// public Int64? fgno {get;set;} /// /// 기재사항 /// public String taxinfo {get;set;} /// /// 사업장주소 /// public String asaddr { get; set; } public int isreceipt { get; set; } public String isreceiptname { get { return isreceipt == 0 ? "청구" : "영수"; } } public Int64 pino { get; set; } public String itemname { get; set; } public String payamt { get; set; } public int isgroup { get; set; } public int rstatus { get; set; } public int ispg { get; set; } public int ptype { get; set; } public String pinos { get; set; } public int isjoin { get; set; } public String username { get; set; } public String userid { get; set; } public int? iscancel { get; set; } /// /// 세금계산서 문서번호 예)2020-01-01-L00001 {년도-월(2자리)-일(2자리)-L발행순서 일련번호(5자리)} /// public String mgtkey { get; set; } /// /// 사업장우편번호 /// public String post { get; set; } /// /// 사업장주소 /// public String address1 { get; set; } /// /// 사업장상세주소 /// public String address2 { get; set; } /// /// 계산서날짜 /// public DateTime? taxdatereq { get; set; } public String taxdatereqymd { get { return taxdatereq == null ? "" : taxdatereq.Value.ToString("yyyy-MM-dd"); } } /// /// 세금계산서 상태코드 /// public int statecode { get; set; } /// /// 세금계산서 발행상태 /// public string status { get { string returnString = "미발행"; if (iscancel == 1) { returnString = "발행취소"; } else { switch (statecode) { case 0: returnString = "미발행"; break; case 100: returnString = "미발행"; //"임시저장"; break; case 300: returnString = "발행완료"; break; case 301: returnString = "발행완료"; //"국세청-전송전"; break; case 302: returnString = "발행완료"; //"국세청-전송대기"; break; case 303: returnString = "발행완료"; //"국세청-전송중"; break; case 304: returnString = "발행완료"; //"국세청-전송성공"; break; case 305: returnString = "발행완료"; //"국세청-전송실패"; break; case 600: returnString = "발행취소"; break; default: returnString = $"stateCode:{statecode}"; break; } } return returnString; } } public int isrefundcall { get; set; } /// /// 결제상태 0:결제시도,1:결제완료,21:결제대기(승인심사),22:입금대기,41:결제취소,42: 가상계좌입금대기만료, 43: 가상계좌입금전취소,51:자격증강좌심사중 /// public int pstatus { get; set; } /// /// 결제액 /// public int payamt2 { get; set; } /// /// 환불액 /// public int refundamt { get; set; } public int isunpay { get; set; } public String pstatusname { get { return rstatus == 2 ? "전액환불" : rstatus == 1 ? "부분환불" : isrefundcall == 1 ? "환불요청" : pstatus == 1 ? "결제완료" : pstatus == 21 ? "결제대기" : pstatus == 22 ? "입금대기" : "결제취소"; } } public String pstatusname2 { get { return rstatus == 1 && payamt2 <= refundamt ? "전액환불" : (pstatusname + (isunpay == 1 ? "(미수)" : isunpay == 2 ? "(미수입금)" : "")); } } public DateTime? payoktime { get; set; } public String payoktimeymd { get { return payoktime == null ? "-" : payoktime.Value.ToString("yyyy-MM-dd"); } } public DateTime? eend { get; set; } public String eendymd { get { return eend == null ? "-" : eend.Value.ToString("yyyy-MM-dd"); } } public String mobile { get; set; } } [Serializable] public class PayRfd : BaseModel { /// /// 환불요청키 /// public Int64 rfdno { get; set; } /// /// fkpayrfdpay 결제키 pay.payno /// public Int64 payno { get; set; } /// /// fkpayrfdpi 환불요청상품 payitem.pino /// public Int64 pino { get; set; } /// /// 500 환불요청내용 /// public String rtext { get; set; } /// /// 50 은행 /// public String bankname { get; set; } /// /// 200 ev50 계좌번호 "-"포함 /// public String bankno { get; set; } /// /// 50 예금주 /// public String bankowner { get; set; } /// /// 개인개좌여부 /// public int isowner { get; set; } /// /// 상태 0:요청(접수),1:반려,2:완료 /// public int rstatus { get; set; } public int withoutrstatus { get; set; } public String rstatusname { get { return rstatus == 0 ? "검토중" : rstatus == 1 ? "환불거절" : rstatus == 2 ? "환불완료" : rstatus == 4? "취소" :"?"; } } /// /// 상태변경일 /// public DateTime? statustime {get;set;} public int? ramt { get; set; } public String pinos { get; set; } public int isgroup { get; set; } public String itemname { get; set; } public int ptype { get; set; } public String username { get; set; } public String userid { get; set; } public String asname { get; set; } public String telno { get; set; } public String mobile{ get; set; } public int payamt { get; set; } /// /// 담당자 /// public String ruser { get; set; } /// /// 담당자 연락처 /// public String rphone { get; set; } /// /// 환불사유 /// public int? rreason { get; set; } /// /// 0:교육취소;1:과정변경;2:과입금;9:기타 /// public String rreasonname { get { return rstatus == 0 ? "교육취소" : rstatus == 1 ? "과정변경" : rstatus == 2 ? "과입금" : "기타"; } } /// /// 환불신청서 /// public long? fgnor { get; set; } /// /// 환불통장사본 /// public long? fgnob { get; set; } /// /// 환불검토의견 /// public String rback { get; set; } } //[Serializable] public class SmartRequest { public string MessageId { get; set; } // 메시지 아이디 public string Signal { get; set; } // 요청 시그널 public string RequestTime { get; set; } // 요청 시간 public string SendComRegno { get; set; } // 송신 사업자번호 public string ReceiveComRegno { get; set; } // 수신 사업자번호 public string AuthToken { get; set; } // 인증 토큰 public string ServiceCode { get; set; } // 서비스 코드 public string SystemType { get; set; } // 시스템 코드 public string[] ConversationId { get; set; } // 참조번호 public string SMTPEmail { get; set; } // SMTPEmail public string RValue { get; set; } // RValue public string CertPassword { get; set; } // 인증서 비밀번호 public string SignedXML { get; set; } // 서명원본 xml public string UnSignedXML { get; set; } // 미서명원본 xml public string AuthCode { get; set; } // 인증코드 public string SbId { get; set; } // 스마트빌 아이디 public string SbPwd { get; set; } // 스마트빌 비번 public string ExpirationDateCode { get; set; } // 인증토큰 유효기간 설정 코드 public string ExpirationDate { get; set; } // 인증토큰 만료일 public string SearchFromDate { get; set; } // 검색 시작일자 public string SearchToDate { get; set; } // 검색 종료일자 public string SearchComRegno { get; set; } // 검색 사업자번호 public string[] Email { get; set; } // 담당자 이메일 public string SearchTypeCode { get; set; } // 조회타입코드 public string RepoTypeCode { get; set; } // 보관함타입코드 public string ListTypeCode { get; set; } // 미처리함 타입코드 public string StatusSignal { get; set; } // 상태변경 시그널 public string StatusReason { get; set; } // 취소, 거부사유 public string Phone { get; set; } // 휴대전화번호 public string[] IssueId { get; set; } // 승인번호 public string SystemId { get; set; } // 수신업체SystemID public string PlatformCode { get; set; } // 허브업체 구분코드 } //[Serializable] public class SmartResult { public SmartResult() { // 생성자 MessageId = string.Empty; Signal = string.Empty; ConversationId = null; ResponseTime = string.Empty; ResultCode = string.Empty; ResultMessage = string.Empty; ResultDataSet = new System.Data.DataSet(); } public string MessageId { get; set; } // 메시지 아이디 public string Signal { get; set; } // 요청 시그널 public string[] ConversationId { get; set; } // 참조번호 public string ResponseTime { get; set; } // 송신 사업자번호 public string ResultCode { get; set; } // 전송 결과 코드 public string ResultMessage { get; set; } // 전송 결과 코드 내역 public System.Data.DataSet ResultDataSet { get; set; } // 전송 결과 DataSet } }