Пример #1
0
        public IPayload SaveGateway(SaveGatewayDto saveGatewayDto)
        {
            Gateway gateway = _mapper.Map <Gateway>(saveGatewayDto);

            var isCreated = _context.Gateways.Select(
                gat =>
                new
            {
                ValueForAvoidDuplicate = gat.Name + gat.Ipv4
            }
                )
                            .Any(keys => keys.ValueForAvoidDuplicate.Equals(saveGatewayDto.ValueToAvoidDuplicate()));

            if (!isCreated)
            {
                var result = _context.Gateways.Add(gateway);
                _context.SaveChanges();

                var factory = new SingleObjectPayloadFactory <GatewayDto>(_mapper.Map <GatewayDto>(result.Entity));
                return(factory.GetPayload());
            }
            else
            {
                throw new AlreadyExistException("The same Gateway was created before");
            }
        }
Пример #2
0
        public async Task <ActionResult> PostAsync([FromBody] SaveGatewayDto resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var toSave = _mapper.Map <SaveGatewayDto, Gateway>(resource);

            var result = await _gatewayService.SaveAsync(toSave);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var created = _mapper.Map <Gateway, GatewayDto>(result.Gateway);

            return(Ok(created));
        }
Пример #3
0
        public IActionResult Save(SaveGatewayDto saveGatewayDto)
        {
            var gatewayDto = _service.SaveGateway(saveGatewayDto);

            return(new PayloadResult(gatewayDto, HttpStatusCode.Created));
        }