public virtual ManufacturerDto InsertManufacturer(ManufacturerDto model)
        {
            var manufacturer = model.ToEntity();

            manufacturer.CreatedOnUtc = DateTime.UtcNow;
            manufacturer.UpdatedOnUtc = DateTime.UtcNow;
            _manufacturerService.InsertManufacturer(manufacturer);
            model.SeName        = manufacturer.ValidateSeName(model.SeName, manufacturer.Name, true);
            manufacturer.SeName = model.SeName;
            _manufacturerService.UpdateManufacturer(manufacturer);
            _urlRecordService.SaveSlug(manufacturer, model.SeName, "");

            //activity log
            _customerActivityService.InsertActivity("AddNewManufacturer", manufacturer.Id, _localizationService.GetResource("ActivityLog.AddNewManufacturer"), manufacturer.Name);

            return(manufacturer.ToModel());
        }
        public virtual async Task <ManufacturerDto> UpdateManufacturer(ManufacturerDto model)
        {
            var manufacturer = await _manufacturerService.GetManufacturerById(model.Id);

            string prevPictureId = manufacturer.PictureId;

            manufacturer = model.ToEntity(manufacturer);
            manufacturer.UpdatedOnUtc = DateTime.UtcNow;
            model.SeName = await manufacturer.ValidateSeName(model.SeName, manufacturer.Name, true, _seoSettings, _urlRecordService, _languageService);

            manufacturer.SeName = model.SeName;
            await _manufacturerService.UpdateManufacturer(manufacturer);

            //search engine name
            await _urlRecordService.SaveSlug(manufacturer, model.SeName, "");

            await _manufacturerService.UpdateManufacturer(manufacturer);

            //delete an old picture (if deleted or updated)
            if (!String.IsNullOrEmpty(prevPictureId) && prevPictureId != manufacturer.PictureId)
            {
                var prevPicture = await _pictureService.GetPictureById(prevPictureId);

                if (prevPicture != null)
                {
                    await _pictureService.DeletePicture(prevPicture);
                }
            }
            //update picture seo file name
            if (!string.IsNullOrEmpty(manufacturer.PictureId))
            {
                var picture = await _pictureService.GetPictureById(manufacturer.PictureId);

                if (picture != null)
                {
                    await _pictureService.SetSeoFilename(picture.Id, _pictureService.GetPictureSeName(manufacturer.Name));
                }
            }
            //activity log
            await _customerActivityService.InsertActivity("EditManufacturer", manufacturer.Id, _localizationService.GetResource("ActivityLog.EditManufacturer"), manufacturer.Name);

            return(manufacturer.ToModel());
        }
        public virtual async Task <ManufacturerDto> InsertManufacturer(ManufacturerDto model)
        {
            var manufacturer = model.ToEntity();

            manufacturer.CreatedOnUtc = DateTime.UtcNow;
            manufacturer.UpdatedOnUtc = DateTime.UtcNow;
            await _manufacturerService.InsertManufacturer(manufacturer);

            model.SeName = await manufacturer.ValidateSeName(model.SeName, manufacturer.Name, true, _seoSettings, _urlRecordService, _languageService);

            manufacturer.SeName = model.SeName;
            await _manufacturerService.UpdateManufacturer(manufacturer);

            await _urlRecordService.SaveSlug(manufacturer, model.SeName, "");

            //activity log
            await _customerActivityService.InsertActivity("AddNewManufacturer", manufacturer.Id, _localizationService.GetResource("ActivityLog.AddNewManufacturer"), manufacturer.Name);

            return(manufacturer.ToModel());
        }