public async Task <PasswordDetailViewModel> EditPasswordAsync(PasswordEditInputModel par_InputModel)
        {
            string sDescrizione          = par_InputModel.Descrizione;
            bool   bPasswordNonDuplicata = await DescrizioneDuplicataAsync(sDescrizione, par_InputModel.Id);

            if (bPasswordNonDuplicata == true)
            {
                Passwords var_Password = await dbContext.Passwords.FindAsync(par_InputModel.Id);

                var_Password.ChangePassword(par_InputModel.Password);
                var_Password.Descrizione     = par_InputModel.Descrizione;
                var_Password.DataInserimento = par_InputModel.DataInserimento;
                var_Password.FkUtente        = par_InputModel.FkUtente;
                var_Password.Sito            = par_InputModel.Sito;
                var_Password.Tipo            = par_InputModel.Tipo;

                dbContext.Entry(var_Password).Property(var_Password => var_Password.RowVersion).OriginalValue = par_InputModel.RowVersion;

                if (par_InputModel.FilePassword != null)
                {
                    try
                    {
                        string sFilePath = await par_ImagePersister.SavePasswordImageAsync(par_InputModel.Id, par_InputModel.FilePassword);

                        var_Password.PathFile = sFilePath;
                    }
                    catch (System.Exception exc)
                    {
                        throw new PasswordImageInvalidException(par_InputModel.Id, exc);
                    }
                }

                try
                {
                    await dbContext.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    throw new DBConcurrencyException("Non e' possibile effettuare l'update perche un altro utente ha effettuato delle modifiche.");
                }
                PasswordDetailViewModel var_PasswordDetailViewModel = PasswordDetailViewModel.FromEntity(var_Password);
                return(var_PasswordDetailViewModel);
            }
            else
            {
                throw new PasswordDescrizioneDuplicataException(sDescrizione, new Exception("errore nella creazione della password"));
            }
        }