Ejemplo n.º 1
0
        public async Task <bool> PatchTerminal(string samNumber, [FromBody] TerminalPatch terminal)
        {
            if (terminal == null)
            {
                throw new ArgumentNullException("patch");
            }

            var data = await _service.GetAsync(samNumber);

            if (data != null)
            {
                return(await _service.PatchAsync(samNumber, _mapper.Map <S.TerminalPatch>(terminal)));
            }
            return(false);
        }
Ejemplo n.º 2
0
        public async Task <bool> PatchAsync(string samNumber, TerminalPatch patch)
        {
            var update  = Builders <Terminal> .Update;
            var updates = new List <UpdateDefinition <Terminal> >();

            if (patch.LeftNeighborSamNumber != null)
            {
                updates.Add(update.Set(terminal => terminal.LeftNeighborSamNumber, patch.LeftNeighborSamNumber));
            }
            if (patch.RightNeighborSamNumber != null)
            {
                updates.Add(update.Set(terminal => terminal.RightNeighborSamNumber, patch.RightNeighborSamNumber));
            }

            updates.Add(update.Set(terminal => terminal.InUse, patch.Available));

            var result = await _terminals.UpdateOneAsync(t => t.SamNumber == samNumber, update.Combine(updates));

            return(result.IsAcknowledged);
        }