/// <summary>
        /// Method procced order to shiprocket
        /// </summary>
        /// <param name="order"></param>
        /// <param name="ShipRocketToken"></param>
        /// <param name="ShipRocketBaseUrl"></param>
        /// <param name="nopshiprocket"></param>
        /// <param name="Iscod"></param>
        public void ProccedShiprocket(Order order, string ShipRocketToken, string ShipRocketBaseUrl, NopShiprocketOrder nopshiprocket, bool Iscod = false)
        {
            try
            {
                var storeScope         = _storeContext.ActiveStoreScopeConfiguration;
                var ShipRocketSettings = _settingService.LoadSetting <ShipRocketSetting>(storeScope);

                ShipRocketApiConfiguration rocket = new ShipRocketApiConfiguration();
                var dimention = GetProductDimentions(order);

                var Shippingcharge = Convert.ToInt32(order.OrderShippingInclTax);

                var discount = (order.OrderDiscount > 0)? Convert.ToInt32(order.OrderDiscount) : Convert.ToInt32(order.OrderSubTotalDiscountInclTax);

                var OrderBillingAddress  = _addressService.GetAddressById(order.BillingAddressId);
                var billingCountry       = _countryService.GetCountryById((OrderBillingAddress.CountryId.HasValue) ? (int)OrderBillingAddress.CountryId : 0);
                var BillingStateProvince = _stateProvinceService.GetStateProvinceById((OrderBillingAddress.StateProvinceId.HasValue) ? (int)OrderBillingAddress.StateProvinceId : 0);

                var OrderShippingAddress = _addressService.GetAddressById((order.ShippingAddressId.HasValue) ? (int)order.ShippingAddressId : 0);
                var shippingCountry      = _countryService.GetCountryById((OrderBillingAddress.CountryId.HasValue) ? (int)OrderShippingAddress.CountryId : 0);
                var ShipingStateProvince = _stateProvinceService.GetStateProvinceById((OrderShippingAddress.StateProvinceId.HasValue) ? (int)OrderShippingAddress.StateProvinceId : 0);

                var ShiprockerOrder = new ShipRocketOrderJsonNoEway
                {
                    order_id               = "Nop Order " + order.Id,
                    order_date             = Convert.ToString(order.CreatedOnUtc),
                    pickup_location        = ShipRocketSettings.PickUpLocation,
                    channel_id             = Convert.ToString(ShipRocketSettings.ChannelId),
                    billing_customer_name  = OrderBillingAddress == null ? "" : OrderBillingAddress.FirstName,
                    billing_last_name      = OrderBillingAddress == null ? "" : OrderBillingAddress.LastName,
                    billing_address        = OrderBillingAddress == null ? "" : OrderBillingAddress.Address1,
                    billing_address_2      = OrderBillingAddress == null ? "" : OrderBillingAddress.Address2,
                    billing_city           = OrderBillingAddress == null ? "" : OrderBillingAddress.City,
                    billing_pincode        = OrderBillingAddress == null ? "" : OrderBillingAddress.ZipPostalCode,
                    billing_state          = OrderBillingAddress == null ? "" : BillingStateProvince == null ? "India" : BillingStateProvince.Name,
                    billing_country        = OrderBillingAddress == null ? "" : billingCountry.Name,
                    billing_email          = OrderBillingAddress == null ? "" : OrderBillingAddress.Email,
                    billing_phone          = OrderBillingAddress == null ? "" : OrderBillingAddress.PhoneNumber,
                    shipping_is_billing    = true,
                    shipping_customer_name = OrderShippingAddress == null ? "" : OrderShippingAddress.FirstName,
                    shipping_last_name     = OrderShippingAddress == null ? "" : OrderShippingAddress.LastName,
                    shipping_address       = OrderShippingAddress == null ? "" : OrderShippingAddress.Address1,
                    shipping_address_2     = OrderShippingAddress == null ? "" : OrderShippingAddress.Address2,
                    shipping_city          = OrderShippingAddress == null ? "" : OrderShippingAddress.City,
                    shipping_pincode       = OrderShippingAddress == null ? "" : OrderShippingAddress.ZipPostalCode,
                    shipping_country       = OrderShippingAddress == null ? "" : shippingCountry.Name,
                    shipping_state         = OrderShippingAddress == null ? "" : ShipingStateProvince == null ? "India" : ShipingStateProvince.Name,
                    shipping_email         = OrderShippingAddress == null ? "" : OrderShippingAddress.Email,
                    shipping_phone         = OrderShippingAddress == null ? "" : OrderShippingAddress.PhoneNumber,

                    order_items = GetOrderItemFromOrder(order),

                    payment_method      = Iscod == true ? "COD" : "Prepaid",
                    shipping_charges    = Shippingcharge,
                    giftwrap_charges    = 0,
                    transaction_charges = Convert.ToInt32(order.PaymentMethodAdditionalFeeInclTax),
                    total_discount      = discount,
                    sub_total           = Convert.ToInt32(order.OrderSubtotalInclTax),
                    length  = dimention.length,
                    breadth = dimention.breadth,
                    height  = dimention.height,
                    weight  = dimention.weight
                };

                var result = rocket.createShiprocketOrdernoeway(ShipRocketToken, ShipRocketBaseUrl, ShiprockerOrder);

                if (!string.IsNullOrEmpty(result))
                {
                    if (!result.Contains("message"))
                    {
                        ShipRocketOrderResponse Responses = JsonConvert.DeserializeObject <ShipRocketOrderResponse>(result);

                        if (Responses.order_id > 0 && Responses.shipment_id > 0)
                        {
                            var OrderNote = (from a in _orderNoteRepository.Table
                                             where a.OrderId.Equals(order.Id)
                                             select a).FirstOrDefault();
                            if (OrderNote != null)
                            {
                                OrderNote.CreatedOnUtc = DateTime.UtcNow;
                                OrderNote.Note         = "Ship Rocket Order Id-" + Responses.order_id + "Ship Rocket shipment Id-" + Responses.shipment_id;
                                OrderNote.OrderId      = order.Id;
                                _orderNoteRepository.Update(OrderNote);
                            }

                            nopshiprocket.ShiprocketOrderId = Convert.ToString(Responses.order_id);
                            nopshiprocket.ShiprocketStatues = true;
                            _ShipRocketService.UpdateShiprocketOrder(nopshiprocket);
                        }
                    }
                    else
                    {
                        _LoggerService.InsertLog(LogLevel.Error, "Error log while creating shiprocket order for order no: " + order.Id, result);
                        nopshiprocket.ErrorResponse = result;
                        _ShipRocketService.UpdateShiprocketOrder(nopshiprocket);
                        _ShipRocketMessageService.SendOrderShiprocketErrorStoreOwnerNotification(order, workContext.WorkingLanguage.Id, nopshiprocket);
                    }
                }
            }
            catch (Exception Exe)
            {
                _LoggerService.InsertLog(LogLevel.Error, "Error log while executing order paid event :-" + order.Id, Exe.Message + Exe.InnerException);
            }
        }