public async Task <SocioRinnovoDetailViewModel> CreateSocioRinnovoAsync(SocioRinnovoCreateInputModel inputModel)
        {
            var socioRinnovo = new SocioRinnovo();

            socioRinnovo.ChangeSocioId(inputModel.SocioId);
            socioRinnovo.ChangeAnno(inputModel.Anno);
            socioRinnovo.ChangeQuota(inputModel.Quota);
            socioRinnovo.ChangeDataRinnovo(inputModel.DataRinnovo);

            dbContext.Add(socioRinnovo);
            await dbContext.SaveChangesAsync();

            return(socioRinnovo.ToSocioRinnovoDetailViewModel());
        }
        public async Task <SocioRinnovoDetailViewModel> EditSocioRinnovoAsync(SocioRinnovoEditInputModel inputModel)
        {
            SocioRinnovo socioRinnovo = await dbContext.SociRinnovi.FindAsync(inputModel.Id);

            if (socioRinnovo == null)
            {
                logger.LogWarning("Rinnovo {id} del socio non trovato", inputModel.Id);
                throw new SocioRinnovoNotFoundException(inputModel.Id);
            }

            socioRinnovo.ChangeSocioId(inputModel.SocioId);
            socioRinnovo.ChangeAnno(inputModel.Anno);
            socioRinnovo.ChangeQuota(inputModel.Quota);
            socioRinnovo.ChangeDataRinnovo(inputModel.DataRinnovo);

            await dbContext.SaveChangesAsync();

            return(socioRinnovo.ToSocioRinnovoDetailViewModel());
        }