public HttpResponseMessage Update([FromBody] UpdateFurnitureDto furnitureDto)
 {
     return(Request.ExecuteProtectedAndWrapResult <UpdateFurnitureDto, FurnitureItemModel>(
                dto => FurnitureService.UpdateFurnitureItem(dto),
                ModelState, furnitureDto
                ));
 }
Пример #2
0
        public FurnitureItemModel UpdateFurnitureItem(UpdateFurnitureDto dto)
        {
            return(ProtectedExecute <UpdateFurnitureDto, FurnitureItemModel>(furnitureDto =>
            {
                AdminService.CheckActiveAdmin(furnitureDto.AdminSession);

                FurnitureItemModel model = Mapper.Map <UpdateFurnitureDto, FurnitureItemModel>(furnitureDto);
                IEnumerable <UsedPartModel> partsToAdd = furnitureDto.UsedPartsToAdd.Aggregate(
                    new List <UsedPartModel>(),
                    (acc, parts) => acc.Concat(Enumerable.Repeat(new UsedPartModel(parts.PartId.GetValueOrDefault()), parts.Count.GetValueOrDefault())).ToList()
                    );

                return FurnitureRepo.Update(model.Id, model, furnitureDto.UsedPartsToRemove, partsToAdd);
            }, dto));
        }