public IEnumerable <ValidationResult> Validate(SetMezzoPrenotatoCommand command) { var listaCodiciMezzi = new List <string> { command.MezzoPrenotato.CodiceMezzo }; if (command.MezzoPrenotato.SbloccaMezzo && _getMezziById.Get(listaCodiciMezzi, command.MezzoPrenotato.CodiceSede) == null) { yield return(new ValidationResult(Costanti.MezzoNonPresente)); } }
public void Set(SetMezzoPrenotatoCommand command) { var mezzi = _getStatoMezzi.Get(command.MezzoPrenotato.CodiceSede, command.MezzoPrenotato.CodiceMezzo); var mezzoFromOra = _getMezziByCodice.Get(new List <string> { command.MezzoPrenotato.CodiceMezzo }, command.MezzoPrenotato.CodiceSede).Result.Find(x => x.Codice.Equals(command.MezzoPrenotato.CodiceMezzo)); command.MezzoPrenotato.CodiceSede = mezzoFromOra.Distaccamento.Codice; if (mezzi != null && command.MezzoPrenotato.SbloccaMezzo) { _dbContext.StatoMezzoCollection.FindOneAndDelete(Builders <StatoOperativoMezzo> .Filter.Eq(s => s.CodiceMezzo, command.MezzoPrenotato.CodiceMezzo)); } else if (!command.MezzoPrenotato.SbloccaMezzo) { _dbContext.StatoMezzoCollection.InsertOne(command.MezzoPrenotato); } }