public void SaveGatewayIntraction(GatewayInteraction GT)
 {
     DbContext.GatewayInteractions.Add(GT);
     DbContext.Commit();
 }
예제 #2
0
        private OrderDetail GenerateLinkThruRESTAPI(OrderDetail ord, Site site, User user)
        {
            try
            {
                WBSSLStore.Gateways.RestAPIModels.Response.OrderResponse   objLink   = new WBSSLStore.Gateways.RestAPIModels.Response.OrderResponse();
                WBSSLStore.Gateways.RestAPIModels.Request.TinyOrderRequest inviteReq = new Gateways.RestAPIModels.Request.TinyOrderRequest();
                inviteReq.AuthRequest             = new Gateways.RestAPIModels.Request.AuthRequest();
                inviteReq.AuthRequest.AuthToken   = site.APIAuthToken;
                inviteReq.AuthRequest.PartnerCode = site.APIPartnerCode;
                inviteReq.AuthRequest.UserAgent   = site.Alias;
                inviteReq.AuthRequest.ReplayToken = DateTime.Now.ToLongDateString();
                inviteReq.ExtraSAN               = ord.CertificateRequest.AdditionalDomains;
                inviteReq.ProductCode            = ord.Product.InternalProductCode;
                inviteReq.RequestorEmail         = user.Email;
                inviteReq.ServerCount            = ord.CertificateRequest.NumberOfServers == 0 ? 1 : ord.CertificateRequest.NumberOfServers;
                inviteReq.ValidityPeriod         = ord.NumberOfMonths;
                inviteReq.AddInstallationSupport = false;
                inviteReq.CustomOrderID          = string.Empty;
                inviteReq.EmailLanguageCode      = "en";
                inviteReq.ExtraProductCode       = string.Empty;
                inviteReq.PreferVendorLink       = false;

                objLink = WBSSLStore.Gateways.RestAPIModels.Services.OrderService.InviteOrderRequest(inviteReq);
                if (objLink != null)
                {
                    GatewayInteraction GTSSLAPI = new GatewayInteraction();



                    if (!objLink.AuthResponse.isError)
                    {
                        ord.ExternalOrderID      = objLink.TheSSLStoreOrderID;
                        ord.Cost                 = 0;
                        GTSSLAPI.GatewayAuthCode = objLink.TinyOrderLink;
                        GTSSLAPI.isSuccess       = true;
                    }
                    else
                    {
                        ord.ExternalOrderID      = string.Empty;
                        GTSSLAPI.GatewayAuthCode = string.Empty;
                        GTSSLAPI.isSuccess       = false;
                    }

                    //GTSSLAPI.GatewayRequest = objLink.;
                    GTSSLAPI.GatewayResponse = objLink.AuthResponse.isError ? objLink.AuthResponse.Message[0] : objLink.AuthResponse.ToString();
                    //GTSSLAPI.GatewayErrorCode = objLink.AuthResponse.isError ? objLink.AuthResponse. : string.Empty;
                    GTSSLAPI.isPaymentTransaction = false;
                    GTSSLAPI.SiteID = site.ID;

                    GTSSLAPI.AuditDetails                = new Audit();
                    GTSSLAPI.AuditDetails.ByUserID       = user.ID;
                    GTSSLAPI.AuditDetails.DateCreated    = System.DateTimeWithZone.Now;
                    GTSSLAPI.AuditDetails.DateModified   = System.DateTimeWithZone.Now;
                    GTSSLAPI.AuditDetails.HttpHeaderDump = HttpUtility.UrlDecode(Request.Headers.ToString());
                    GTSSLAPI.AuditDetails.IP             = Request.UserHostAddress;

                    ord.StoreAPIInteraction = GTSSLAPI;

                    _repository.Update(ord);
                    _unitOfWork.Commit();
                }
            }
            catch
            {
            }
            return(ord);
        }