예제 #1
0
        public async Task <ActionResult <UnitResource> > Post([FromBody] SaveUnitResource saveUnitResource)
        {
            var validator        = new SaveUnitResourceValidator();
            var validationResult = await validator.ValidateAsync(saveUnitResource);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors));
            }

            var parentUnit = await _unitService.GetAsync(saveUnitResource.ParentId);

            if (parentUnit == null)
            {
                return(BadRequest());
            }

            var unitToCreate = _mapper.Map <SaveUnitResource, Unit>(saveUnitResource);

            var newUnit = await _unitService.AddAsync(unitToCreate);

            var unit = await _unitService.GetAsync(newUnit.Id);

            var unitResource = _mapper.Map <Unit, UnitResource>(unit);

            return(CreatedAtRoute("GetUnit", new { id = unit.Id }, unitResource));
        }
예제 #2
0
        public async Task <IActionResult> Create([Bind("Name")] Unit unit)
        {
            if (ModelState.IsValid)
            {
                await _unitService.AddAsync(unit);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(unit));
        }