public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            [FileReaderBinding(Location = "C:\\Windows\\win.ini")] FileReaderModel file,
            [FileReaderBinding(Location = "C:\\Windows\\system.ini")] FileReaderModel file2,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string name = req.Query["name"];

            string  requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data        = JsonConvert.DeserializeObject(requestBody);

            name = name ?? data?.name;

            string responseMessage = string.IsNullOrEmpty(name)
                ? "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."
                : $"Hello, {name}. This HTTP triggered function executed successfully.";

            return(new OkObjectResult(responseMessage));
        }
Пример #2
0
        public async Task <ActionResult> Upload(UploadModel files)
        {
            ViewBag.Msg = "";
            SkillsMatrixDB database = HttpContext.RequestServices.GetService(typeof(SkillsMatrix.Models.SkillsMatrixDB)) as SkillsMatrixDB;

            int           filesProcessed   = 0;
            List <string> distUnknownUsers = null;
            List <string> ppmUnknownUsers  = null;

            // process the manager report
            var filename = files.MgrReportFilename;

            if (filename != null && filename.Length > 0)
            {
                filesProcessed++;
                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", Path.GetFileName(filename.FileName));
                using (var stream = new FileStream(path, FileMode.Create))
                {
                    await filename.CopyToAsync(stream);
                }

                FileReaderModel reader = new FileReaderModel();
                FileReaderModel.FileReaderResults dbResult = reader.AddManagerSkillsReport(database, path);
                if (dbResult == FileReaderModel.FileReaderResults.FileReaderSuccess)
                {
                    ViewBag.Msg = "Uploaded " + Path.GetFileName(filename.FileName) + " Successfuly";
                }
                else
                {
                    ViewBag.Msg = "Upload of " + Path.GetFileName(filename.FileName) + " failed " + getErrorString(dbResult);
                }
                System.IO.File.Delete(path);
            }

            // now process the PPM report

            filename = files.PpmFilename;
            if (filename != null && filename.Length > 0)
            {
                filesProcessed++;

                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", Path.GetFileName(filename.FileName));
                using (var stream = new FileStream(path, FileMode.Create))
                {
                    await filename.CopyToAsync(stream);
                }

                FileReaderModel reader = new FileReaderModel();
                if (filesProcessed > 1)
                {
                    ViewBag.Msg += "<br/>";
                }



                FileReaderModel.FileReaderResults dbResult = reader.AddPpmReport(database, path, out ppmUnknownUsers);

                if (dbResult == FileReaderModel.FileReaderResults.FileReaderSuccess)
                {
                    ViewBag.Msg += "Uploaded " + Path.GetFileName(filename.FileName) + " Successfuly";
                }
                else
                {
                    ViewBag.Msg += "Upload of " + Path.GetFileName(filename.FileName) + " failed " + getErrorString(dbResult);
                }
                System.IO.File.Delete(path);
            }

            // now process the distribution report

            filename = files.DistFilename;
            if (filename != null && filename.Length > 0)
            {
                filesProcessed++;

                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", Path.GetFileName(filename.FileName));
                using (var stream = new FileStream(path, FileMode.Create))
                {
                    await filename.CopyToAsync(stream);
                }

                FileReaderModel reader = new FileReaderModel();
                if (filesProcessed > 1)
                {
                    ViewBag.Msg += "<br/>";
                }

                FileReaderModel.FileReaderResults dbResult = reader.AddDistReport(database, path, out distUnknownUsers);

                if (dbResult == FileReaderModel.FileReaderResults.FileReaderSuccess)
                {
                    ViewBag.Msg += "Uploaded " + Path.GetFileName(filename.FileName) + " Successfuly";
                }
                else
                {
                    ViewBag.Msg += "Upload of " + Path.GetFileName(filename.FileName) + " failed " + getErrorString(dbResult);
                }
                System.IO.File.Delete(path);
            }
            ViewModel viewModel = new ViewModel();

            viewModel.Upload = new UploadModel();

            if (ppmUnknownUsers != null)
            {
                viewModel.Upload.PpmUnknownUsers = ppmUnknownUsers;
            }
            else
            {
                viewModel.Upload.PpmUnknownUsers = new List <string>();
            }
            if (distUnknownUsers != null)
            {
                viewModel.Upload.DistUnknownUsers = distUnknownUsers;
            }
            else
            {
                viewModel.Upload.DistUnknownUsers = new List <string>();
            }
            return(View(viewModel));
        }