示例#1
0
        public async Task <IActionResult> GetManufacturers(ManufacturersParametersModel parameters)
        {
            if (parameters.Limit < Constants.Configurations.MinLimit || parameters.Limit > Constants.Configurations.MaxLimit)
            {
                return(Error(HttpStatusCode.BadRequest, "limit", "Invalid limit parameter"));
            }

            if (parameters.Page < Constants.Configurations.DefaultPageValue)
            {
                return(Error(HttpStatusCode.BadRequest, "page", "Invalid page parameter"));
            }

            var allManufacturers = _manufacturerApiService.GetManufacturers(parameters.Ids, parameters.CreatedAtMin, parameters.CreatedAtMax,
                                                                            parameters.UpdatedAtMin, parameters.UpdatedAtMax,
                                                                            parameters.Limit, parameters.Page, parameters.SinceId,
                                                                            parameters.ProductId, parameters.PublishedStatus, parameters.LanguageId)
                                   .WhereAwait(async c => await StoreMappingService.AuthorizeAsync(c));

            IList <ManufacturerDto> manufacturersAsDtos = await allManufacturers.SelectAwait(async manufacturer => await _dtoHelper.PrepareManufacturerDtoAsync(manufacturer)).ToListAsync();

            var manufacturersRootObject = new ManufacturersRootObject
            {
                Manufacturers = manufacturersAsDtos
            };

            var json = JsonFieldsSerializer.Serialize(manufacturersRootObject, parameters.Fields);

            return(new RawJsonActionResult(json));
        }
示例#2
0
        public async Task <IActionResult> CreateManufacturer(
            [ModelBinder(typeof(JsonModelBinder <ManufacturerDto>))]
            Delta <ManufacturerDto> manufacturerDelta)
        {
            // Here we display the errors if the validation has failed at some point.
            if (!ModelState.IsValid)
            {
                return(Error());
            }

            //If the validation has passed the manufacturerDelta object won't be null for sure so we don't need to check for this.

            Picture insertedPicture = null;

            // We need to insert the picture before the manufacturer so we can obtain the picture id and map it to the manufacturer.
            if (manufacturerDelta.Dto.Image?.Binary != null)
            {
                insertedPicture = await PictureService.InsertPictureAsync(manufacturerDelta.Dto.Image.Binary, manufacturerDelta.Dto.Image.MimeType, string.Empty);
            }

            // Inserting the new manufacturer
            var manufacturer = await _factory.InitializeAsync();

            manufacturerDelta.Merge(manufacturer);

            if (insertedPicture != null)
            {
                manufacturer.PictureId = insertedPicture.Id;
            }

            await _manufacturerService.InsertManufacturerAsync(manufacturer);


            await UpdateAclRolesAsync(manufacturer, manufacturerDelta.Dto.RoleIds);

            await UpdateDiscountsAsync(manufacturer, manufacturerDelta.Dto.DiscountIds);

            await UpdateStoreMappingsAsync(manufacturer, manufacturerDelta.Dto.StoreIds);

            //search engine name
            if (manufacturerDelta.Dto.SeName != null)
            {
                var seName = await _urlRecordService.ValidateSeNameAsync(manufacturer, manufacturerDelta.Dto.SeName, manufacturer.Name, true);

                await _urlRecordService.SaveSlugAsync(manufacturer, seName, 0);
            }

            await CustomerActivityService.InsertActivityAsync("AddNewManufacturer", await LocalizationService.GetResourceAsync("ActivityLog.AddNewManufacturer"), manufacturer);

            // Preparing the result dto of the new manufacturer
            var newManufacturerDto = await _dtoHelper.PrepareManufacturerDtoAsync(manufacturer);

            var manufacturersRootObject = new ManufacturersRootObject();

            manufacturersRootObject.Manufacturers.Add(newManufacturerDto);

            var json = JsonFieldsSerializer.Serialize(manufacturersRootObject, string.Empty);

            return(new RawJsonActionResult(json));
        }
示例#3
0
        public async Task <IActionResult> UpdateManufacturer(
            [ModelBinder(typeof(JsonModelBinder <ManufacturerDto>))]
            Delta <ManufacturerDto> manufacturerDelta)
        {
            // Here we display the errors if the validation has failed at some point.
            if (!ModelState.IsValid)
            {
                return(Error());
            }

            var manufacturer = _manufacturerApiService.GetManufacturerById(manufacturerDelta.Dto.Id);

            if (manufacturer == null)
            {
                return(Error(HttpStatusCode.NotFound, "manufacturer", "manufacturer not found"));
            }

            manufacturerDelta.Merge(manufacturer);

            manufacturer.UpdatedOnUtc = DateTime.UtcNow;

            await _manufacturerService.UpdateManufacturerAsync(manufacturer);

            await UpdatePictureAsync(manufacturer, manufacturerDelta.Dto.Image);

            await UpdateAclRolesAsync(manufacturer, manufacturerDelta.Dto.RoleIds);

            await UpdateDiscountsAsync(manufacturer, manufacturerDelta.Dto.DiscountIds);

            await UpdateStoreMappingsAsync(manufacturer, manufacturerDelta.Dto.StoreIds);

            //search engine name
            if (manufacturerDelta.Dto.SeName != null)
            {
                var seName = await _urlRecordService.ValidateSeNameAsync(manufacturer, manufacturerDelta.Dto.SeName, manufacturer.Name, true);

                await _urlRecordService.SaveSlugAsync(manufacturer, seName, 0);
            }

            await _manufacturerService.UpdateManufacturerAsync(manufacturer);

            await CustomerActivityService.InsertActivityAsync("UpdateManufacturer", await LocalizationService.GetResourceAsync("ActivityLog.UpdateManufacturer"), manufacturer);

            var manufacturerDto = await _dtoHelper.PrepareManufacturerDtoAsync(manufacturer);

            var manufacturersRootObject = new ManufacturersRootObject();

            manufacturersRootObject.Manufacturers.Add(manufacturerDto);

            var json = JsonFieldsSerializer.Serialize(manufacturersRootObject, string.Empty);

            return(new RawJsonActionResult(json));
        }
        public IActionResult GetManufacturers()
        {
            var allManufacturers = _manufacturerApiService.GetManufacturers();

            IList <ManufacturerDto> manufacturersAsDtos = allManufacturers.Select(manufacturer =>
            {
                return(_dtoHelper.PrepareManufacturerDTO(manufacturer));
            }).ToList();

            var manufacturersRootObject = new ManufacturersRootObject()
            {
                Manufacturers = manufacturersAsDtos
            };

            var json = JsonFieldsSerializer.Serialize(manufacturersRootObject, null);

            return(new RawJsonActionResult(json));
        }
示例#5
0
        public async Task <IActionResult> GetManufacturerById(int id, string fields = "")
        {
            if (id <= 0)
            {
                return(Error(HttpStatusCode.BadRequest, "id", "invalid id"));
            }

            var manufacturer = _manufacturerApiService.GetManufacturerById(id);

            if (manufacturer == null)
            {
                return(Error(HttpStatusCode.NotFound, "manufacturer", "manufacturer not found"));
            }

            var manufacturerDto = await _dtoHelper.PrepareManufacturerDtoAsync(manufacturer);

            var manufacturersRootObject = new ManufacturersRootObject();

            manufacturersRootObject.Manufacturers.Add(manufacturerDto);

            var json = JsonFieldsSerializer.Serialize(manufacturersRootObject, fields);

            return(new RawJsonActionResult(json));
        }
        public IActionResult CreateManufacturer([ModelBinder(typeof(JsonModelBinder <ManufacturerDto>))] Delta <ManufacturerDto> manufacturerDelta)
        {
            // Here we display the errors if the validation has failed at some point.
            if (!ModelState.IsValid)
            {
                return(Error());
            }

            // Inserting the new category
            var manufacturer = _factory.Initialize();

            manufacturerDelta.Merge(manufacturer);
            _manufacturerService.InsertManufacturer(manufacturer);

            // Preparing the result dto of the new category
            var newManufacturerDto      = _dtoHelper.PrepareManufacturerDTO(manufacturer);
            var manufacturersRootObject = new ManufacturersRootObject();

            manufacturersRootObject.Manufacturers.Add(newManufacturerDto);

            var json = JsonFieldsSerializer.Serialize(manufacturersRootObject, string.Empty);

            return(new RawJsonActionResult(json));
        }