public ActionResult Order(IFormCollection form) { var files = form.Files; int cnt9 = 1, cnt13 = 1, cnt15 = 1, cnt20 = 1; var now = DateTime.Now; int total = Convert.ToInt32(form["Amount9"]) + Convert.ToInt32(form["Amount13"]) + Convert.ToInt32(form["Amount15"]) + Convert.ToInt32(form["Amount20"]); ClearVariables(form); string login = $"{now.Month:00}-{now.Day:00}_{now.Hour}-{now.Minute}-{now.Second:00}_{form["Nazwisko"]}_{form["Imie"]}".Replace(" ", "_"); string DirPath = $"Content/Zamówienia/{login}"; string errorPath = "Content/errorlog.txt"; try { string filePath = DirPath + $"/{login}.txt"; for (int i = 0; i < files.Count; i++) { ClearVariables(form); if (form[$"{i + 1}-Rozmiar"] != "default") { Rozmiar = form[$"{i + 1}-Rozmiar"]; } if (form[$"{i + 1}-Powierzchnia"] != "default") { Powierzchnia = form[$"{i + 1}-Powierzchnia"]; } if (form[$"{i + 1}-Wypelnienie"] != "default") { Wypelnienie = form[$"{i + 1}-Wypelnienie"]; } if (form[$"{i + 1}-Sepia"] != "default") { Sepia = form[$"{i + 1}-Sepia"]; } if (form[$"{i + 1}-Ramka"] != "default") { Ramka = form[$"{i + 1}-Ramka"]; } if (form[$"{i + 1}-Ilosc"] != "1" && form[$"{i + 1}-Ilosc"] != "") { Ilosc = form[$"{i + 1}-Ilosc"]; } var path = DirPath + $"/{Rozmiar}_{Powierzchnia}_{Wypelnienie}_{Sepia}_{Ramka + Ilosc.ToString()}szt"; Directory.CreateDirectory(path); IFormFile file = files[i]; var ext = file.FileName.Split('.').Last(); if (!AcceptableExtensions.Contains(ext.ToLower())) { continue; } switch (Rozmiar) { case "9x13": case "10x15": file.CopyTo(new FileStream($"{path}/{Ilosc}szt_{Rozmiar}_{Powierzchnia}_{Wypelnienie}_{Sepia}_{Ramka + cnt9}.{ext}", FileMode.Create)); cnt9++; break; case "13x18": file.CopyTo(new FileStream($"{path}/{Ilosc}szt_{Rozmiar}_{Powierzchnia}_{Wypelnienie}_{Sepia}_{Ramka + cnt13}.{ext}", FileMode.Create)); cnt13++; break; case "15x21": file.CopyTo(new FileStream($"{path}/{Ilosc}szt_{Rozmiar}_{Powierzchnia}_{Wypelnienie}_{Sepia}_{Ramka + cnt15}.{ext}", FileMode.Create)); cnt15++; break; case "20x30": file.CopyTo(new FileStream($"{path}/{Ilosc}szt_{Rozmiar}_{Powierzchnia}_{Wypelnienie}_{Sepia}_{Ramka + cnt20}.{ext}", FileMode.Create)); cnt20++; break; default: ViewData.Add("ErrorMessage", "Błędny rozmiar odbitki!"); return(RedirectToAction("Index")); } } service.RenameDirectories(DirPath); using (var sr = new StreamWriter(new FileStream(filePath, FileMode.Append))) { sr.WriteLine("Login:"******"Dane uzupełniające:"); sr.WriteLine(form["Email"]); sr.WriteLine(form["NrTel"]); sr.WriteLine(); sr.WriteLine("Zamówienie:"); sr.WriteLine($"Ilość odbitek: {total}"); sr.WriteLine($"Do zapłaty: {form["Cena"]}"); } TempData.Add("Message", "Zamówienie zostało złożone!"); return(RedirectToAction("Index")); } catch (Exception ex) { var ew = new StreamWriter(new FileStream(errorPath, FileMode.Append)); ew.WriteLine("Message: "); ew.WriteLine(ex.Message); TempData.Add("ErrorMessage", $"{ex}!"); return(RedirectToAction("Index")); } }