public IActionResult Create([FromForm] ApplicationTransfer model) { Response.Headers.Add("Access-Control-Allow-Origin", "http://localhost:8080"); Response.Headers.Add("Access-Control-Allow-Credentials", "true"); // do other validations on your model as needed if (model.PositionId != 0 && model.CV != null && model.Motivational != null) { _applicationService.AddApplication(model); //to do : Save uniqueFileName to your db table } // to do : Return something return(Ok()); }
public Application AddApplication(ApplicationTransfer model) { var uniqueCVFileName = GetUniqueFileName(model.CV.FileName); var uniqueMotivationalFileName = GetUniqueFileName(model.Motivational.FileName); var uniqueAdditionalInfoName = GetUniqueFileName("AdditionalInfo") + ".txt"; var uploads = Path.Combine(hostingEnvironment.ContentRootPath, "uploads"); Directory.CreateDirectory(uploads); var cvFilePath = Path.Combine(uploads, uniqueCVFileName); var motivationalFilePath = Path.Combine(uploads, uniqueMotivationalFileName); var additionalFilePath = Path.Combine(uploads, uniqueAdditionalInfoName); model.CV.CopyTo(new FileStream(cvFilePath, FileMode.Create)); model.Motivational.CopyTo(new FileStream(motivationalFilePath, FileMode.Create)); using (StreamWriter outputFile = new StreamWriter(additionalFilePath)) { outputFile.WriteLine(model.AdditionalInfo); } var user = _context.Users.FirstOrDefault(x => x.Id == model.UserId); var pos = _context.Positions.FirstOrDefault(x => x.Id == model.PositionId); var applic = new Application { UserId = model.UserId, PositionId = model.PositionId, Status = "Applied" }; if (user != null && pos != null) { _context.Applications.Add(applic); _context.SaveChanges(); } return(applic); }