示例#1
0
        public async Task <IActionResult> PostEquipmentType(EquipmentTypeCreateRequest request)
        {
            var identityClaimNum = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            var dto = _mapper.Map <EquipmentTypeCreateDTO>(request);

            if (await _manager.CreateEquipmentType(dto))
            {
                return(StatusCode(201));
            }

            throw new Exception();
        }
        public async Task <OneObjectResponse <EquipmentTypeView> > Post([FromBody] EquipmentTypeCreateRequest request)
        {
            var equipmentType = mapper.Map <EquipmentType>(request);

            if (request.ParentId.HasValue)
            {
                var parent = await dbContext
                             .EquipmentTypes
                             .SingleOrDefaultAsync(et => et.Id == request.ParentId)
                             ?? throw NotFoundMyApi();

                equipmentType.Deep   = parent.Deep + 1;
                equipmentType.RootId = parent.RootId ?? parent.Id;
            }
            var added = await dbContext.EquipmentTypes.AddAsync(equipmentType);

            await dbContext.SaveChangesAsync();

            return(mapper.Map <EquipmentTypeView>(added.Entity));
        }