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")); }
public ActionResult Index() { if (Session["loggedAdmin"] == null) { return(RedirectToAction("Index", "Home")); } var reservationReader = new ReservationReader(); string filepathPrenotazioni = Server.MapPath("~/App_Data/Prenotazioni.txt"); IList <Reservation> listaPrenotazioni = reservationReader.Read(filepathPrenotazioni); string filepathAccount = Server.MapPath("~/App_Data/Utenti.txt"); var accountReader = new UserReader(); IList <Account> listaAccount = accountReader.Read(filepathAccount); string filepathConfermato = Server.MapPath("~/App_Data/Confermato.txt"); var confirmedReader = new ReservationConfirmedReader(); IList <ReservationConfirmed> prenotazioniConfermate = confirmedReader.Read(filepathConfermato); IList <ReservationViewModel> listaPrenotazioneViewModel = listaPrenotazioni.Where(k => k.Confermata == false) .Select(pre => new ReservationViewModel() { Id = pre.Id, Data = pre.Data, NomeProdotto = pre.NomeProdotto, Cliente = $"{listaAccount.First(e => e.Id == pre.IdAccount).Nome} {listaAccount.First(e => e.Id == pre.IdAccount).Cognome}", Prezzo = pre.Prezzo, Confermata = pre.Confermata }).ToList(); IList <ReservationConfirmedViewModel> prenotazioniConfermateViewModel = prenotazioniConfermate.Where(e => e.Evasa == false) .Select(pre => new ReservationConfirmedViewModel() { Id = pre.Id, Data = pre.Data, IdReservation = pre.IdReservation, Cliente = $"{listaAccount.First(e => e.Id == pre.IdAccount).Nome} {listaAccount.First(e => e.Id == pre.IdAccount).Cognome}", NomeProdotto = pre.NomeProdotto, Prezzo = pre.Prezzo, DataConferma = pre.DataConferma }).ToList(); IList <ReservationConfirmedViewModel> prenotazioniEvaseViewModel = prenotazioniConfermate.Where(e => e.Evasa == true) .Select(pre => new ReservationConfirmedViewModel() { Id = pre.Id, IdReservation = pre.IdReservation, Data = pre.Data, Cliente = $"{listaAccount.First(e => e.Id == pre.IdAccount).Nome} {listaAccount.First(e => e.Id == pre.IdAccount).Cognome}", NomeProdotto = pre.NomeProdotto, Prezzo = pre.Prezzo, Evasa = pre.Evasa, DataEvasione = pre.DataEvasione }).ToList(); var reservationResume = new ReservationResumeViewModel(); reservationResume.listaPrenotazioniAttive = listaPrenotazioneViewModel; reservationResume.listaPrenotazioniConfermate = prenotazioniConfermateViewModel; reservationResume.listaPrenotazioniEvase = prenotazioniEvaseViewModel; return(View(reservationResume)); }