public static ProductGBSModel GetGBSShippingCategory(int pID, string tableName) { ProductGBSModel productgbsModel = new ProductGBSModel(); DataManager dbmanager = new DataManager(); Dictionary <string, string> paramDic = new Dictionary <string, string>(); paramDic.Add("@ProductID", pID.ToString()); string select = "Select ProductID, shippingCategoryA, shippingCategoryB from " + tableName + " where ProductID = " + pID + ""; DataView dView = dbmanager.GetParameterizedDataView(select, paramDic); if (dView == null) { return(productgbsModel); } if (dView.Count > 0) { productgbsModel.ProductID = int.Parse(dView[0][0].ToString()); productgbsModel.ShippingCategoryA = dView[0][1].ToString(); productgbsModel.ShippingCategoryB = dView[0][2].ToString(); return(productgbsModel); } else { productgbsModel.ProductID = 0; productgbsModel.ShippingCategoryB = null; productgbsModel.ShippingCategoryA = null; return(productgbsModel); //"Row Not Found"; } }
//protected override void Initialize(System.Web.Routing.RequestContext requestContext) //{ // //little hack here // //always set culture to 'en-US' (Telerik has a bug related to editing decimal values in other cultures). Like currently it's done for admin area in Global.asax.cs // CommonHelper.SetTelerikCulture(); // base.Initialize(requestContext); //} public string AdminTab(int id, IHtmlHelper helper) { _TableName = _localizationService.GetLocaleStringResourceByName("Plugins.Shipping.GBS.Product.Table.Name").ResourceValue.ToString(); ProductGBSModel model = new ProductGBSModel(); var product = _productService.GetProductById(id); // Get the value from Database using Web API if (product != null && _TableName != null) { // Get values from GBS Product TBL in nop model = DataManager.GetGBSShippingCategory(id, _TableName); model.ShippingCategoryA = model.ShippingCategoryA == null ? "" : model.ShippingCategoryA.Trim(); model.ShippingCategoryB = model.ShippingCategoryB == null ? "" : model.ShippingCategoryB.Trim(); var _flag = model.ProductID == 0 ? "True" : "False"; // Save value to the Nop Attribute for later use, so we don't have to make another call to DB var genericAttributeService = EngineContext.Current.Resolve <IGenericAttributeService>(); genericAttributeService.SaveAttribute(product, "NewItemFlag", _flag); //Get value from NOP Arributes, which stored data in nop table :: For furture reference //product.GetAttribute<string>("ShippingClass"); } var contents = ""; contents = helper.Partial("~/Plugins/Shipping.GBS/Views/ExtendedFields/ProductExtendedFields.cshtml", model).RenderHtmlContent(); contents = JavaScriptEncoder.Default.Encode(contents); return(contents); }
public string UpdateShippingCategory(ProductGBSModel ProductModel) { var _webapiurl = _localizationService.GetLocaleStringResourceByName("Plugins.Shipping.GBS.Product.Update.Shipping.Category.WebApi.Url"); var _parameterName = _localizationService.GetLocaleStringResourceByName("Plugins.Shipping.GBS.Product.Update.Shipping.Category.Parameter.Name"); var request = new RestRequest(_webapiurl.ResourceValue, Method.PUT) { RequestFormat = DataFormat.Json }; //Product /{ id} request.AddParameter(_parameterName.ResourceValue, ProductModel.ProductID, ParameterType.UrlSegment); //id request.AddBody(ProductModel); var response = _client.Execute <ProductGBSModel>(request); //if (response.StatusCode == HttpStatusCode.NotFound) // throw new Exception(response.ErrorMessage); return(response.StatusCode.ToString()); }
public static string UpdateGBSShippingCategory(ProductGBSModel productgbsModel, string tableName) { DataManager dbmanager = new DataManager(); Dictionary <string, string> paramDic = new Dictionary <string, string>(); paramDic.Add("@ProductID", productgbsModel.ProductID.ToString()); paramDic.Add("@ShippingCategoryA", productgbsModel.ShippingCategoryA.ToString()); paramDic.Add("@ShippingCategoryB", productgbsModel.ShippingCategoryB.ToString()); string select = "UPDATE " + tableName + " SET ProductID = @ProductID, ShippingCategoryA = @ShippingCategoryA , ShippingCategoryB = @ShippingCategoryB WHERE ProductID = " + int.Parse(productgbsModel.ProductID.ToString()) + ""; DataView dView = dbmanager.GetParameterizedDataView(select, paramDic); if (dView != null) { return("Success"); } else { return("Fail"); //"NO Row Updated"; } }
public static string AddGBSShippingCategory(ProductGBSModel productgbsModel, string tableName) { ProductGBSModel productModel = new ProductGBSModel(); DataManager dbmanager = new DataManager(); Dictionary <string, string> paramDic = new Dictionary <string, string>(); paramDic.Add("@ProductID", productgbsModel.ProductID.ToString()); paramDic.Add("@ShippingCategoryA", productgbsModel.ShippingCategoryA.ToString()); paramDic.Add("@ShippingCategoryB", productgbsModel.ShippingCategoryB.ToString()); string select = "INSERT INTO " + tableName + "(ProductID, shippingCategoryA,shippingCategoryB) VALUES ( @ProductID , @ShippingCategoryA , @ShippingCategoryB )"; DataView dView = dbmanager.GetParameterizedDataView(select, paramDic); //dbmanager.GetDataView(select); if (dView != null) { return("Success"); } else { return("Fail"); //"No Row Inserted"; } }
public JsonResult SaveShippingCategories(string ShippingCategoryA, string ShippingCategoryB, string ProductID) { int productID = int.Parse(ProductID); ProductGBSModel _nopProductModel = new ProductGBSModel { ProductID = productID, ShippingCategoryA = ShippingCategoryA, ShippingCategoryB = ShippingCategoryB }; string status = ""; var product = EngineContext.Current.Resolve <IProductService>().GetProductById(_nopProductModel.ProductID); var Tproduct = EngineContext.Current.Resolve <IProductService>().GetProductById(1); //Save value for the shipping class if (product != null) { var _flag = product.GetAttribute <string>("NewItemFlag"); _TableName = Tproduct.GetAttribute <string>("TableName"); status = _flag == "True" ? Add(_nopProductModel) : Update(_nopProductModel); } return(Json(status)); }
public override void OnActionExecuted(ActionExecutedContext filterContext) { //_TableName = _localizationService.GetLocaleStringResourceByName("Plugins.Shipping.GBS.Product.Table.Name").ResourceValue.ToString(); ProductGBSModel _nopProductModel = new ProductGBSModel(); _nopProductModel.ProductID = int.Parse(filterContext.HttpContext.Request.Form["Id"]); // Get value from nop form _nopProductModel.ShippingCategoryA = filterContext.HttpContext.Request.Form["ShippingCategoryA"]; _nopProductModel.ShippingCategoryB = filterContext.HttpContext.Request.Form["ShippingCategoryB"]; var product = EngineContext.Current.Resolve <IProductService>().GetProductById(_nopProductModel.ProductID); var Tproduct = EngineContext.Current.Resolve <IProductService>().GetProductById(1); //Save value for the shipping class if (product != null) { var _flag = product.GetAttribute <string>("NewItemFlag"); _TableName = Tproduct.GetAttribute <string>("TableName"); var res = _flag == "True" ? Add(_nopProductModel) : Update(_nopProductModel); } }
public string Update(ProductGBSModel ProductgbsModel) { return(DataManager.UpdateGBSShippingCategory(ProductgbsModel, _TableName)); }
public string Add(ProductGBSModel ProductgbsModel) { DataManager.AddGBSShippingCategory(ProductgbsModel, _TableName); return(""); }
/// <summary> /// Gets available shipping options /// </summary> /// <param name="getShippingOptionRequest">A request for getting shipping options</param> /// <returns>Represents a response of getting shipping rate options</returns> public GetShippingOptionResponse GetShippingOptions(GetShippingOptionRequest getShippingOptionRequest) { _TableName = _localizationService.GetLocaleStringResourceByName("Plugins.Shipping.GBS.Product.Table.Name").ResourceValue.ToString(); if (getShippingOptionRequest == null) { throw new ArgumentNullException("getShippingOptionRequest"); } var response = new GetShippingOptionResponse(); if (getShippingOptionRequest.Items == null || !getShippingOptionRequest.Items.Any()) { response.AddError("No shipment items"); return(response); } int?restrictByCountryId = (getShippingOptionRequest.ShippingAddress != null && getShippingOptionRequest.ShippingAddress.Country != null) ? (int?)getShippingOptionRequest.ShippingAddress.Country.Id : null; var shippingMethods = this._shippingService.GetAllShippingMethods(restrictByCountryId); IEnumerable <int> productId = getShippingOptionRequest.Items.Select(x => x.ShoppingCartItem.ProductId).Distinct(); ShippingRateConversionModels _lstOfProduct = new ShippingRateConversionModels(); foreach (var pID in productId) { ProductGBSModel _prodModel = DataManager.GetGBSShippingCategory(pID, _TableName); ShippingRateConversionModels.ProductGBSModel _productGBSModel = new ShippingRateConversionModels.ProductGBSModel(); _productGBSModel.ProductID = _prodModel.ProductID.ToString(); _productGBSModel.ShippingCategoryA = _prodModel.ShippingCategoryA; _productGBSModel.ShippingCategoryB = _prodModel.ShippingCategoryB; _lstOfProduct.productGBSModels.Add(_productGBSModel); } // Get ZipCode and Product/s ID/S var zipCode = (getShippingOptionRequest.ShippingAddress != null && !String.IsNullOrEmpty(getShippingOptionRequest.ShippingAddress.ZipPostalCode)) ? getShippingOptionRequest.ShippingAddress.ZipPostalCode.Substring(0, 3) : String.Empty; // Get Categorized Value from String Resources _lstOfProduct.zipCode = zipCode; // Call Web Service to get the Shipping rate GBSShippingServiceClient myShippingRateSrv = new GBSShippingServiceClient(); //check for Flat Rate string _FixedRate = String.Empty; if (_gbsShippingSetting.UseFlatRate) { _FixedRate = _gbsShippingSetting.FlatRateAmount.ToString(); } else { _FixedRate = myShippingRateSrv.GetShippingRate(_gbsShippingSetting.GBSShippingWebServiceAddress, _gbsShippingSetting.LoginId, _gbsShippingSetting.Password, _lstOfProduct); } // Build response with custom shipping option try { //see if we have a parsable string decimal parsedRate = decimal.Parse(_FixedRate); } catch (Exception e) { _FixedRate = "0.00"; } decimal?maxRate = decimal.Parse(_FixedRate); var shippingOption = new ShippingOption(); var shipOpName = _localizationService.GetResource("Plugins.Shipping.GBS.Product.ShippingOption.Description.Name"); shippingOption.Name = shipOpName.ToString(); shippingOption.Rate = maxRate.HasValue == true ? maxRate.Value : 0; var shipOpDesError = _localizationService.GetResource("Plugins.Shipping.GBS.Product.ShippingOption.Description.Error"); var shipOpDesSuccess = _localizationService.GetResource("Plugins.Shipping.GBS.Product.ShippingOption.Description.Success"); shippingOption.Description = shippingOption.Rate == 0 ? shipOpDesError : shipOpDesSuccess; response.ShippingOptions.Add(shippingOption); return(response); }