private void Save()
    {
        User[]      usersToSave = users.ToArray();
        RawUserData userData    = new RawUserData();

        userData.users = usersToSave;
        string userDataJsonString = JsonUtility.ToJson(userData);
        string filePath           = GetFilePath();

        File.WriteAllText(filePath, userDataJsonString);
    }
        public async Task <IActionResult> Index(IFormFile file)
        {
            var fileName = "tmp/" + getHash(DateTime.Now.ToLongTimeString());

            using (var stream = new FileStream(fileName, FileMode.Create))
            {
                //file.CopyTo(stream);
                await file.CopyToAsync(stream);
            }

            RawUserData rawUserData = new RawUserData(fileName);
            Report      report      = new Report(rawUserData);
            string      pdfFilename = report.generate();
            await Task.Delay(1000);

            return(RedirectToAction("GetPdfFile", new { filename = pdfFilename }));
        }
    private void LoadUsers()
    {
        users = new List <User> ();

        string filePath = GetFilePath();

        if (File.Exists(filePath))
        {
            string      jsonString = File.ReadAllText(filePath);
            RawUserData userData   = JsonUtility.FromJson <RawUserData> (jsonString);

            foreach (User user in userData.users)
            {
                users.Add(user);
            }
        }
        // else { just use the empty list of users }
    }