示例#1
0
        public eBayCancelT GetSampleCancelIntoT(int flag)
        {
            eBayCancelT ebayCancelT = new eBayCancelT();
            ebayCancelT.DisputeId = new Random().Next(1000000).ToString();
            ebayCancelT.DisputeCreatedTime = DateTime.Now;
            ebayCancelT.DisputeModifiedTime = DateTime.Now;
            ebayCancelT.DisputeReason = "테스트 중...";

            if (flag == 0)
            {
                ebayCancelT.DisputeExplanation = "취소 접수 입니다.";
                ebayCancelT.DisputeRecordType = DisputeRecordTypeEnum.Cancel;
                ebayCancelT.Status = DisputeStatusEnum.Request;
            }
            else if (flag == 1)
            {
                ebayCancelT.DisputeExplanation = "취소 완료 입니다.";
                ebayCancelT.DisputeRecordType = DisputeRecordTypeEnum.Cancel;
                ebayCancelT.Status = DisputeStatusEnum.Complete;
            }
            else if (flag == 2)
            {
                ebayCancelT.DisputeExplanation = "반품 접수 입니다.";
                ebayCancelT.DisputeRecordType = DisputeRecordTypeEnum.Return;
                ebayCancelT.Status = DisputeStatusEnum.Request;
            }
            else if (flag == 3)
            {
                ebayCancelT.DisputeExplanation = "반품 완료 입니다.";
                ebayCancelT.DisputeRecordType = DisputeRecordTypeEnum.Return;
                ebayCancelT.Status = DisputeStatusEnum.Complete;
            }

            return ebayCancelT;
        }
示例#2
0
        public eBayResultT insertCancel(eBayCancelT ebayCancelT)
        {
            eBayResultT resultT = null;

            try
            {
                eBayOrderInfoT ebayOrderInfoT = GeteBayOrderInfo(ebayCancelT.Order.TransactionId, ebayCancelT.Order.ItemId);

                if (ebayOrderInfoT == null)
                {
                    throw new GEPBizException(-1002, string.Format("eBay TransactionID : {0} , ItemID : {1} 주문이 없습니다.", ebayCancelT.Order.TransactionId, ebayCancelT.Order.ItemId));
                }

                eBayCancelT existCancleT = GeteBayCancelInfo(ebayCancelT.Order.TransactionId, ebayCancelT.Order.ItemId);

                if (existCancleT != null)
                {
                    // 취소/반품 진행 상태 변경
                    resultT = new eBayResultT();
                    resultT.RetCode = RetCodeEnum.True;
                    resultT.RetMessage = "Update : " + ebayCancelT.ToString();

                    IMongoQuery query = Query.And(Query.EQ("Order.TransactionId", ebayCancelT.Order.TransactionId), Query.EQ("Order.ItemId", ebayCancelT.Order.ItemId));
                    IMongoUpdate update = Update.Set("Status", BsonValue.Create(EnumHelper.GetDBCode(ebayCancelT.Status).ToString()))
                                                .Set("DisputeModifiedTime", BsonValue.Create(ebayCancelT.DisputeModifiedTime))
                                                .Set("UpdateDt", BsonValue.Create(DateTime.Now))
                                                .SetWrapped<eBayResultT>("ReturnMsg", resultT);

                    new eBayOrderDac().UpdateeBayCancel(query, update);

                    if (ebayOrderInfoT.Order.PaymentStatus == EBayPaymentStatusEnum.Paid)
                    {
                        // gep_cancle_list 취소/반품 진행 상태 변경
                        new GEPOrderBiz().UpdateGEPCancelStatus(ebayCancelT.Order.TransactionId.ToString(), ebayCancelT.Order.ItemId.ToString(), ebayCancelT.Status, ebayCancelT.DisputeModifiedTime.Value);
                    }
                }
                else
                {
                    // 취소/반품 최초 등록
                    ebayCancelT.Order = ebayOrderInfoT.Order;
                    ebayCancelT.Item = ebayOrderInfoT.Item;
                    ebayCancelT.CreateDt = DateTime.Now;

                    ebayCancelT.ReturnMsg = new eBayResultT();
                    ebayCancelT.ReturnMsg.RetCode = RetCodeEnum.True;
                    ebayCancelT.ReturnMsg.RetMessage = "Update : " + ebayCancelT.ToString();

                    resultT = ebayCancelT.ReturnMsg;

                    new eBayOrderDac().InserteBayCancel(ebayCancelT);

                    //eBay_order_list 에 취소/반품 상태 변경
                    IMongoQuery query = Query.And(Query.EQ("Order.TransactionId", ebayCancelT.Order.TransactionId), Query.EQ("Order.ItemId", ebayCancelT.Order.ItemId));
                    IMongoUpdate update = Update.Set("Status", BsonValue.Create(EnumHelper.GetDBCode(GepOrderStatus.Cancel).ToString()))
                                                .Set("UpdateDt", BsonValue.Create(DateTime.Now));

                    new eBayOrderDac().UpdateBayOrderInfo(query, update);

                    if (ebayOrderInfoT.Order.PaymentStatus == EBayPaymentStatusEnum.Paid)
                    {
                        // 결제 완료 상태일 경우
                        // GEP_ORDER에 취소/반품 상태 변경
                        new GEPOrderBiz().UpdateGEPOrderStatus(ebayCancelT.Order.TransactionId.ToString(), ebayCancelT.Order.ItemId.ToString(), GepOrderStatus.Cancel);

                        // GEP_CANCEL에 취소/반품 추가
                        GEPOrderInfoT gepOrderInfoT = new GEPOrderBiz().GetGEPOrderInfo(ebayCancelT.Order.TransactionId.ToString(), ebayCancelT.Order.ItemId.ToString());
                        GEPCancelInfoT gepCancelInfoT = new GEPCancelInfoT();
                        gepCancelInfoT.ExportSite = GetExportSiteInfo();
                        gepCancelInfoT.ExportSiteCancel = ebayCancelT;
                        gepCancelInfoT.GEPCancel = ConvertToGEPCancel(ebayCancelT);
                        gepCancelInfoT.GEPOrder = gepOrderInfoT.GEPOrder;
                        gepCancelInfoT.GEPOrderNo = gepOrderInfoT.GEPOrderNo;
                        gepCancelInfoT.GMKTOrder = gepOrderInfoT.GMKTOrder;
                        gepCancelInfoT.Item = gepOrderInfoT.Item;
                        gepCancelInfoT.TaId = gepOrderInfoT.TaId;
                        gepCancelInfoT.CreateDt = DateTime.Now;

                        new GEPOrderBiz().InsertGEPCancel(gepCancelInfoT);
                    }
                }
            }
            catch (Exception ex)
            {
                resultT = new eBayResultT();
                resultT.RetCode = RetCodeEnum.False;
                resultT.RetMessage = "Fail : " + ex.ToString();

                throw ex;
            }
            finally
            {
                eBayHistoryT history = new eBayHistoryT();
                history.ReceiveMsg = ebayCancelT;
                history.ReturnMsg = resultT;
                history.CreateDt = DateTime.Now;

                new eBayOrderDac().InserteBayHistory(history);
            }

            return resultT;
        }
示例#3
0
        private GEPCancelT ConvertToGEPCancel(eBayCancelT ebayCancelT)
        {
            GEPCancelT gepCancelT = new GEPCancelT();
            gepCancelT.DisputeCreatedTime = ebayCancelT.DisputeCreatedTime;
            gepCancelT.DisputeModifiedTime = ebayCancelT.DisputeModifiedTime;
            gepCancelT.DisputeExplanation = ebayCancelT.DisputeExplanation;
            gepCancelT.DisputeRecordType = ebayCancelT.DisputeRecordType;
            gepCancelT.Reason = ebayCancelT.DisputeReason;
            gepCancelT.Status = ebayCancelT.Status;

            return gepCancelT;
        }
示例#4
0
 internal void InserteBayCancel(eBayCancelT ebayCancelT)
 {
     new MongoDacHelper(GepMongoEnv.ConfigSection.GEP, GepMongoEnv.Database.GEP_EBAY, GepMongoEnv.Collection.EBAY_CANCEL)
         .Insert<eBayCancelT>(ebayCancelT, SafeMode.True);
 }