public CategoryInfo SaveCategory(Int32 storeID, Int32 portalID, Int32 categoryID, Int32 parentID, ASPXNameValue[] formVars, string selectedItems, string userName, string culture, int categoryLargeThumbImage, int categoryMediumThumbImage, int categorySmallThumbImage) { try { CategoryInfo categoryInfo = new CategoryInfo(); FormValidation formValidation = new FormValidation(); List<CategoryAttributeInfo> listCategoryAttributes = new List<CategoryAttributeInfo>(); categoryInfo.CategoryID = categoryID; categoryInfo.ParentID = parentID; categoryInfo.IsShowInCatalog = true; categoryInfo.IsShowInMenu = true; categoryInfo.IsShowInSearch = true; categoryInfo.PortalID = portalID; categoryInfo.StoreID = storeID; categoryInfo.ActiveFrom = new DateTime(1970, 1, 1); categoryInfo.ActiveTo = new DateTime(2999, 12, 30); bool toInsertIntoDB = true; bool isFormValid = true; //int _imageCounter = 0; string _imageVar = string.Empty; int _imageCounterFirst = 0; for (int i = 0; i < formVars.Length; i++) { int inputTypeID; int validationTypeID; string attribName = formVars[i].name; string attribValue = formVars[i].value; string jsonResult = formVars[i].name.Replace('-', ' '); string[] jsonVar = jsonResult.Split('_'); CategoryAttributeInfo categoryAttribute = new CategoryAttributeInfo(); categoryAttribute.AttributeID = int.Parse(jsonVar[0]); inputTypeID = int.Parse(jsonVar[1]); validationTypeID = int.Parse(jsonVar[2]); if (inputTypeID == 1) { if (validationTypeID == 3) { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; categoryAttribute.DECIMALValue = decimal.Parse(attribValue); } else { isFormValid = false; break; } } else if (validationTypeID == 5) { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; categoryAttribute.INTValue = Int32.Parse(attribValue); } else { isFormValid = false; break; } } else { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; categoryAttribute.NVARCHARValue = attribValue; } else { isFormValid = false; break; } } } else if (inputTypeID == 2) { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; categoryAttribute.TEXTValue = attribValue; } else { isFormValid = false; break; } } else if (inputTypeID == 3) { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; if (!string.IsNullOrEmpty(attribValue)) { categoryAttribute.DATEValue = DateTime.Parse(attribValue); } } else { isFormValid = false; break; } } else if (inputTypeID == 4) { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; if (!string.IsNullOrEmpty(attribValue)) { categoryAttribute.BooleanValue = (attribValue == "1" || attribValue.ToLower() == "true") ? true : false; } else { categoryAttribute.BooleanValue = false; } } else { isFormValid = false; break; } } else if (inputTypeID == 5 || inputTypeID == 6 || inputTypeID == 9 || inputTypeID == 10 || inputTypeID == 11 || inputTypeID == 12) { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; categoryAttribute.OPTIONValues = attribValue; } else { isFormValid = false; break; } } else if (inputTypeID == 7) { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; categoryAttribute.DECIMALValue = decimal.Parse(attribValue); } else { isFormValid = false; break; } } else if (inputTypeID == 8) { if (_imageCounterFirst % 2 == 0) { toInsertIntoDB = false; if (!string.IsNullOrEmpty(attribValue) && attribValue.ToLower() != "undefined") { if (formValidation.ValidateValue(attribName, validationTypeID, attribValue)) { _imageVar = attribValue; } else { isFormValid = false; break; } } else { _imageVar = ""; } } else { toInsertIntoDB = true; categoryAttribute.InputTypeID = inputTypeID; categoryAttribute.ValidationTypeID = validationTypeID; //_imageVar = _imageVar.Replace("../", ""); if (attribValue != _imageVar) { _imageVar = _imageVar.Replace("/", "\\"); //attribValue = attribValue.Replace("../", ""); attribValue = attribValue.Replace("/", "\\"); string tempFolder = @"Upload\temp"; FileHelperController fileObj = new FileHelperController(); attribValue = fileObj.MoveFileToModuleFolder(tempFolder, attribValue, _imageVar,categoryLargeThumbImage,categoryMediumThumbImage,categorySmallThumbImage, @"Modules\ASPXCommerce\ASPXCategoryManagement\uploads\", categoryID, "cat_"); categoryAttribute.FILEValue = attribValue; } //else if (_imageVar == "") //{ // categoryAttribute.FILEValue = _imageVar; //} else { categoryAttribute.FILEValue = attribValue; } } _imageCounterFirst++; } if (toInsertIntoDB) { listCategoryAttributes.Add(categoryAttribute); } } if (isFormValid) { CategorySqlProvider categorySqlProvider = new CategorySqlProvider(); categoryInfo = categorySqlProvider.CategoryAddUpdate(categoryInfo, selectedItems, listCategoryAttributes, userName, culture); } else { throw new Exception("Form is not valid one"); } return categoryInfo; } catch (Exception ex) { throw ex; } }
public int SaveUpdateItemAndAttributes(int itemID, int itemTypeID, int attributeSetID, int storeID, int portalID, string userName, string culture, int taxClassID, string categoriesIDs, string relatedItemsIDs, string upSellItemsIDs, string crossSellItemsIDs, string downloadItemsValue, ASPXNameValue[] formVars) { bool isModified = false; bool updateFlag = false; if (itemID > 0) { isModified = true; updateFlag = true; } int itemLargeThumbNailSize = Convert.ToInt32(StoreSetting.GetStoreSettingValueByKey(StoreSetting.ItemLargeThumbnailImageSize, storeID, portalID, culture)); int itemMediumThumbNailSize = Convert.ToInt32(StoreSetting.GetStoreSettingValueByKey(StoreSetting.ItemMediumThumbnailImageSize, storeID, portalID, culture)); int itemSmallThumbNailSize = Convert.ToInt32(StoreSetting.GetStoreSettingValueByKey(StoreSetting.ItemSmallThumbnailImageSize, storeID, portalID, culture)); int _attributeID = 0; int _inputTypeID = 0; int _ValidationTypeID = 8; int _attributeSetGroupID = 0; bool _isIncludeInPriceRule = false; bool _isIncludeInPromotions = false; int _displayOrder = 0; string sku = ""; string activeFrom = ""; string activeTo = ""; string hidePrice = ""; string isHideInRSS = ""; string isHideToAnonymous = ""; bool toInsertIntoDB = true; bool isFormValid = true; string _imageVar = string.Empty; int _imageCounterFirst = 0; ItemsManagementSqlProvider obj = new ItemsManagementSqlProvider(); for (int i = 0; i < formVars.Length; i++) { string attribValue = formVars[i].value; //string jsonResult = formVars[i].name.Replace('%', '_'); string jsonResult = formVars[i].name.Replace('-', ' '); string[] jsonVar = jsonResult.Split('_'); FormValidation formValidation = new FormValidation(); if (jsonVar.Length > 1) { _attributeID = Int32.Parse(jsonVar[0]); _inputTypeID = Int32.Parse(jsonVar[1]); _ValidationTypeID = Int32.Parse(jsonVar[2]); _attributeSetGroupID = Int32.Parse(jsonVar[4]); _isIncludeInPriceRule = bool.Parse(jsonVar[5]); _isIncludeInPromotions = bool.Parse(jsonVar[6]); _displayOrder = Int32.Parse(jsonVar[7]); //Save To Database 1. [aspx_Items] 2. Others if (_attributeID == 4) { sku = formVars[i].value; } else if (_attributeID == 22) { activeFrom = formVars[i].value; } else if (_attributeID == 23) { activeTo = formVars[i].value; } else if (_attributeID == 26) { hidePrice = formVars[i].value; } else if (_attributeID == 27) { isHideInRSS = formVars[i].value; } else if (_attributeID == 28) { isHideToAnonymous = formVars[i].value; } if (itemID == 0 && updateFlag == false) { itemID = obj.AddItem(itemID, itemTypeID, attributeSetID, taxClassID, storeID, portalID, userName, culture, true, isModified, sku, activeFrom, activeTo, hidePrice, isHideInRSS, isHideToAnonymous, categoriesIDs, relatedItemsIDs, upSellItemsIDs, crossSellItemsIDs, downloadItemsValue, updateFlag); } else if (itemID > 0 && i == formVars.Length - 1) { itemID = obj.AddItem(itemID, itemTypeID, attributeSetID, taxClassID, storeID, portalID, userName, culture, true, isModified, sku, activeFrom, activeTo, hidePrice, isHideInRSS, isHideToAnonymous, categoriesIDs, relatedItemsIDs, upSellItemsIDs, crossSellItemsIDs, downloadItemsValue, updateFlag); } if (itemID > 0) { if (_inputTypeID == 1) { if (_ValidationTypeID == 3) { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { attribValue = formVars[i].value; } else { isFormValid = false; break; } } else if (_ValidationTypeID == 5) { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { attribValue = formVars[i].value; } else { isFormValid = false; break; } } else { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { attribValue = formVars[i].value; } else { isFormValid = false; break; } } } else if (_inputTypeID == 2) { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { attribValue = formVars[i].value; } else { isFormValid = false; break; } } else if (_inputTypeID == 3) { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { if (!string.IsNullOrEmpty(formVars[i].value)) { attribValue = formVars[i].value; } } else { isFormValid = false; break; } } else if (_inputTypeID == 4) { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { if (!string.IsNullOrEmpty(formVars[i].value)) { attribValue = formVars[i].value; } } else { isFormValid = false; break; } } else if (_inputTypeID == 5 || _inputTypeID == 6 || _inputTypeID == 9 || _inputTypeID == 10 || _inputTypeID == 11 || _inputTypeID == 12) { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { attribValue = formVars[i].value; } else { isFormValid = false; break; } } else if (_inputTypeID == 7) { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { attribValue = formVars[i].value; } else { isFormValid = false; break; } } else if (_inputTypeID == 8) { if (_imageCounterFirst % 2 == 0) { toInsertIntoDB = false; if (!string.IsNullOrEmpty(formVars[i].value) && formVars[i].value.ToLower() != "undefined") { if (formValidation.ValidateValue(formVars[i].name, _ValidationTypeID, formVars[i].value)) { _imageVar = attribValue; } else { isFormValid = false; break; } } else { _imageVar = ""; } } else { toInsertIntoDB = true; if (attribValue != _imageVar) { //_imageVar = _imageVar.Replace("../", ""); _imageVar = _imageVar.Replace("/", "\\"); //attribValue = attribValue.Replace("../", ""); attribValue = attribValue.Replace("/", "\\"); string tempFolder = @"Upload\temp"; FileHelperController fileObj = new FileHelperController(); attribValue = fileObj.MoveFileToModuleFolder(tempFolder, attribValue, _imageVar, itemLargeThumbNailSize, itemMediumThumbNailSize, itemSmallThumbNailSize, @"Modules\ASPXCommerce\ASPXItemsManagement\uploads\", itemID, "item_"); } } _imageCounterFirst++; } } if (isFormValid && toInsertIntoDB) { obj.SaveUpdateItemAttributes(itemID, attributeSetID, storeID, portalID, userName, culture, true, isModified, attribValue, _attributeID, _inputTypeID, _ValidationTypeID, _attributeSetGroupID, _isIncludeInPriceRule, _isIncludeInPromotions, _displayOrder); } } } return itemID; }