public IActionResult New(NewMeetingViewModel vm, [FromServices] IWebHostEnvironment env) { if (ModelState.IsValid) { // https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-5.0 // https://stackoverflow.com/questions/35379309/how-to-upload-files-in-asp-net-core string fileName = null; if (vm.Photo != null && vm.Photo.Length > 0) { fileName = vm.Photo.GenerateFileName(); var savePath = Path.Combine(env.WebRootPath, "img", fileName); // fs nesnesi bulunduğu scope'tan çıkılırken dispose edilir (using sayesinde) using FileStream fs = new FileStream(savePath, FileMode.Create); vm.Photo.CopyTo(fs); } var meeting = new Meeting() { Title = vm.Title, Description = vm.Description, MeetingTime = vm.MeetingTime, Place = vm.Place, PhotoPath = fileName }; _db.Meetings.Add(meeting); _db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
public IActionResult New(NewMeetingViewModel vm, [FromServices] IWebHostEnvironment env) { if (ModelState.IsValid) { string fileName = null; if (vm.PhotoFile != null && vm.PhotoFile.Length > 0) { fileName = vm.PhotoFile.GenerateFileName(); var savePath = Path.Combine(env.WebRootPath, "img", fileName); using FileStream fs = new FileStream(savePath, FileMode.Create); vm.PhotoFile.CopyTo(fs); } var meeting = new Meeting() { Title = vm.Title, Description = vm.Description, MeetingTime = vm.MeetingTime, Place = vm.Place, Photo = fileName }; _db.Add(meeting); _db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
public async Task <IActionResult> CreateMeeting([FromForm] NewMeetingViewModel model) { var channel = await _meetingService.CreateOrGetChannelInfo(model.ChannelId, model.TeamId); var meeting = await _meetingService.InitializeMeeting( model.Subject, model.TeamId, channel, model.Start, model.Agendas.ToArray()); await _meetingService.SetupMeetingEvent( model.Subject, model.Start, model.End, meeting, channel, model.Attachments?.ToArray(), model.Attendees?.ToArray()); return(Ok()); }
public IActionResult New(NewMeetingViewModel vm, [FromServices] IWebHostEnvironment env) { if (ModelState.IsValid) { //https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-5.0 //https://stackoverflow.com/questions/35379309/how-to-upload-files-in-asp-net-core string fileName = null; if (vm.Photo != null && vm.Photo.Length > 0) { fileName = vm.Photo.GenerateFileName(); //filename kendisi üretsin aynı isimde foto çalışması olmasın diye. var savePath = Path.Combine(env.WebRootPath, "img", fileName); // fs nesnesi bulunduğu scope'tan çıkılırken dispose edilir (using sayesinde); using FileStream fs = new FileStream(savePath, FileMode.Create); vm.Photo.CopyTo(fs); //img'yi iwebhost ile dinamik olarak çağırıyoruz. dosya yoluyla versek her bilgiayarda doğru çalışmayacak haliyle dinamik vermek doğru olan. //WebrootPath kendisi dosya yolunu veriyor zaten.(wwwroot'ta buluyor.) //combine ise bu bilgilerin hepsini birleştiriyor böylce tam bir dosya yolu ortaya çıkıyor. //vm.photo.copyto... ile de kaydediyor. } var meeting = new Meeting() { Title = vm.Title, Description = vm.Description, MeetingTime = vm.MeetingTime, Place = vm.Place, PhotoPath = fileName }; _db.Meetings.Add(meeting); _db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
public async Task <ActionResult> CreateMeeting(NewMeetingViewModel model) { //var meeting = await GraphHelper.GetMeetingAsync(model); return(View()); }