public ActionResult Confirm(int Id) { if (Session["loggedAdmin"] == null) { return(RedirectToAction("Index", "Home")); } var reservationReader = new ReservationReader(); var reservationWriter = new ReservationWriter(); var reservationConfirmedWriter = new ReservationConfirmedWriter(); string filepathPrenotazioniConfermate = Server.MapPath("~/App_Data/Confermato.txt"); string filepathPrenotazioni = Server.MapPath("~/App_Data/Prenotazioni.txt"); string fileindexPrenotazioniConfermate = Server.MapPath("~/App_Data/Confermato_Last_Id.txt"); IList <Reservation> listaPrenotazioni = reservationReader.Read(filepathPrenotazioni); var indexManager = new IndexManager(); int index = indexManager.Read(fileindexPrenotazioniConfermate); ReservationConfirmed prenoConf = listaPrenotazioni.Where(e => e.Id == Id) .Select(pre => new ReservationConfirmed() { Id = index + 1, IdReservation = pre.Id, Data = pre.Data, IdAccount = pre.IdAccount, IdProdotto = pre.IdProdotto, NomeProdotto = pre.NomeProdotto, Prezzo = pre.Prezzo, DataConferma = DateTime.Now, Evasa = false, DataEvasione = new DateTime(2000, 1, 1, 0, 0, 0) }).First(); string linea = $"{prenoConf.Id}|{prenoConf.IdReservation}|{prenoConf.Data}|{prenoConf.IdAccount}|{prenoConf.IdProdotto}|{prenoConf.NomeProdotto}|{prenoConf.Prezzo}|{prenoConf.DataConferma}|{prenoConf.Evasa}|{prenoConf.DataEvasione}"; reservationConfirmedWriter.Append(filepathPrenotazioniConfermate, linea); indexManager.Write(fileindexPrenotazioniConfermate, index + 1); listaPrenotazioni.First(e => e.Id == Id).Confermata = true; reservationWriter.Reset(filepathPrenotazioni); foreach (var pre in listaPrenotazioni) { string l = $"{pre.Id}|{pre.Data}|{pre.IdAccount}|{pre.IdProdotto}|{pre.NomeProdotto}|{pre.Prezzo}|{pre.Confermata}|{false}"; reservationWriter.Append(filepathPrenotazioni, l); } return(RedirectToAction("Index", "Reservation")); }
public ActionResult Complete(int Id) { if (Session["loggedAdmin"] == null) { return(RedirectToAction("Index", "Home")); } var reservationReader = new ReservationReader(); var reservationWriter = new ReservationWriter(); string fileReservation = Server.MapPath("~/App_Data/Prenotazioni.txt"); var reservationConfirmReader = new ReservationConfirmedReader(); var reservationConfirmWriter = new ReservationConfirmedWriter(); string fileReservationConfirmed = Server.MapPath("~/App_Data/Confermato.txt"); IList <Reservation> prenotazioni = reservationReader.Read(fileReservation); IList <ReservationConfirmed> confermate = reservationConfirmReader.Read(fileReservationConfirmed); ReservationConfirmed evasa = confermate.First(e => e.Id == Id); evasa.Evasa = true; evasa.DataEvasione = DateTime.Now; Reservation daAggiornare = prenotazioni.First(e => e.Id == evasa.IdReservation); daAggiornare.Evasa = true; reservationWriter.Reset(fileReservation); foreach (var pre in prenotazioni) { string l = $"{pre.Id}|{pre.Data}|{pre.IdAccount}|{pre.IdProdotto}|{pre.NomeProdotto}|{pre.Prezzo}|{pre.Confermata}|{pre.Evasa}"; reservationWriter.Append(fileReservation, l); } reservationConfirmWriter.Reset(fileReservationConfirmed); foreach (var prenoConf in confermate) { string linea = $"{prenoConf.Id}|{prenoConf.IdReservation}|{prenoConf.Data}|{prenoConf.IdAccount}|{prenoConf.IdProdotto}|{prenoConf.NomeProdotto}|{prenoConf.Prezzo}|{prenoConf.DataConferma}|{prenoConf.Evasa}|{prenoConf.DataEvasione}"; reservationConfirmWriter.Append(fileReservationConfirmed, linea); } return(RedirectToAction("Index", "Reservation")); }