コード例 #1
0
        public void Can_save_and_load_stateProvince()
        {
            var stateProvince = new StateProvince
            {
                Name = "California",
                Abbreviation = "CA",
                Published = true,
                DisplayOrder = 1,
                Country = new Country()
                               {
                                   Name = "United States",
                                   AllowsBilling = true,
                                   AllowsShipping = true,
                                   TwoLetterIsoCode = "US",
                                   ThreeLetterIsoCode = "USA",
                                   NumericIsoCode = 1,
                                   SubjectToVat = true,
                                   Published = true,
                                   DisplayOrder = 1,
                               }
            };

            var fromDb = SaveAndLoadEntity(stateProvince);
            fromDb.ShouldNotBeNull();
            fromDb.Name.ShouldEqual("California");
            fromDb.Abbreviation.ShouldEqual("CA");
            fromDb.Published.ShouldEqual(true);
            fromDb.DisplayOrder.ShouldEqual(1);

            fromDb.Country.ShouldNotBeNull();
            fromDb.Country.Name.ShouldEqual("United States");
        }
コード例 #2
0
 protected void UpdateLocales(StateProvince stateProvince, StateProvinceModel model)
 {
     foreach (var localized in model.Locales)
     {
         _localizedEntityService.SaveLocalizedValue(stateProvince,
                                                        x => x.Name,
                                                        localized.Name,
                                                        localized.LanguageId);
     }
 }
コード例 #3
0
        /// <summary>
        /// Deletes a state/province
        /// </summary>
        /// <param name="stateProvince">The state/province</param>
        public virtual void DeleteStateProvince(StateProvince stateProvince)
        {
            if (stateProvince == null)
                throw new ArgumentNullException("stateProvince");

            _stateProvinceRepository.Delete(stateProvince);

            _cacheManager.RemoveByPattern(STATEPROVINCES_PATTERN_KEY);

            //event notification
            _eventPublisher.EntityDeleted(stateProvince);
        }
コード例 #4
0
ファイル: ImportManager.cs プロジェクト: grandnode/grandnode
        /// <summary>
        /// Import states from TXT file
        /// </summary>
        /// <param name="stream">Stream</param>
        /// <returns>Number of imported states</returns>
        public virtual int ImportStatesFromTxt(Stream stream)
        {
            int count = 0;
            using (var reader = new StreamReader(stream))
            {
                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();
                    if (String.IsNullOrWhiteSpace(line))
                        continue;
                    string[] tmp = line.Split(',');

                    if (tmp.Length != 5)
                        throw new NopException("Wrong file format");

                    //parse
                    var countryTwoLetterIsoCode = tmp[0].Trim();
                    var name = tmp[1].Trim();
                    var abbreviation = tmp[2].Trim();
                    bool published = Boolean.Parse(tmp[3].Trim());
                    int displayOrder = Int32.Parse(tmp[4].Trim());

                    var country = _countryService.GetCountryByTwoLetterIsoCode(countryTwoLetterIsoCode);
                    if (country == null)
                    {
                        //country cannot be loaded. skip
                        continue;
                    }

                    //import
                    var states = _stateProvinceService.GetStateProvincesByCountryId(country.Id, showHidden: true);
                    var state = states.FirstOrDefault(x => x.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase));

                    if (state != null)
                    {
                        state.Abbreviation = abbreviation;
                        state.Published = published;
                        state.DisplayOrder = displayOrder;
                        _stateProvinceService.UpdateStateProvince(state);
                    }
                    else
                    {
                        state = new StateProvince
                        {
                            CountryId = country.Id,
                            Name = name,
                            Abbreviation = abbreviation,
                            Published = published,
                            DisplayOrder = displayOrder,
                        };
                        _stateProvinceService.InsertStateProvince(state);
                    }
                    count++;
                }
            }

            return count;
        }
コード例 #5
0
 public static StateProvince ToEntity(this StateProvinceModel model, StateProvince destination)
 {
     return Mapper.Map(model, destination);
 }
コード例 #6
0
        protected virtual List<LocalizedProperty> UpdateLocales(StateProvince stateProvince, StateProvinceModel model)
        {
            List<LocalizedProperty> localized = new List<LocalizedProperty>();
            foreach (var local in model.Locales)
            {

                localized.Add(new LocalizedProperty()
                {
                    LanguageId = local.LanguageId,
                    LocaleKey = "Name",
                    LocaleValue = local.Name
                });
            }
            return localized;
        }
コード例 #7
0
        public ActionResult CityList(DataSourceRequest command, int productId)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts))
                return AccessDeniedView();

            var product = _productService.GetProductById(productId);
            if (product == null)
                throw new ArgumentException("No product found with the specified id");

            //a vendor should have access only to his products
            if (_workContext.CurrentVendor != null && product.VendorId != _workContext.CurrentVendor.Id)
                return Content("This is not your product");
            var Cities = _productCitiesService.GetProductsCitiesByProductId(productId);
            List<ProductModel.CityModel> citymodel = new List<ProductModel.CityModel>();
            foreach (var c in Cities)
            {
                if (c != null)
                {
                    ProductModel.CityModel city = new ProductModel.CityModel();
                    string countryName;
                    var state = new StateProvince();
                    var country = new Country();
                    var cty = new City();
                    if (c.CityID > 0)
                    {
                        cty = _cityService.GetCityById(c.CityID);
                        state = _stateProvinceService.GetStateProvinceById(cty.StateID);
                        country = _countryService.GetCountryById(state.Id);
                        countryName = country != null ? country.Name : "Deleted";
                    }
                    else
                    {
                        countryName = _localizationService.GetResource("Admin.Catalog.Products.City.Fields.Country.All");
                    }

                    city.Id = c.Id;
                    city.CityId = c.CityID;
                    city.City = cty.CityName;
                    city.CountryId = country != null ? country.Id : 0;
                    city.Country = country != null ? country.Name : "Deleted";
                    city.StateId = state != null ? state.Id : 0;
                    city.State = state != null ? state.Name : "Deleted";
                    city.ProductId = c.ProductID;
                    citymodel.Add(city);
                }
            }
            var gridModel = new DataSourceResult
            {
                Data = citymodel,
                Total = citymodel.Count
            };
            return Json(gridModel);
        }