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)); }
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)); }
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)); }
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)); }