public ActionResult Remove(int Id) { if (Session["logged"] == null) { return(RedirectToAction("Index", "Home")); } var User = (Account)Session["user"]; string filePath = Server.MapPath(@"/App_Data/Prenotazioni.txt"); var reader = new ReservationReader(); IList <Reservation> listaPrenotazioni = reader.Read(filePath); var daEliminare = listaPrenotazioni.FirstOrDefault(e => e.Id == Id); if (daEliminare != null) { var writer = new ReservationWriter(); listaPrenotazioni.Remove(daEliminare); writer.Reset(filePath); if (listaPrenotazioni.Count > 0) { foreach (var preno in listaPrenotazioni) { string linea = $"{preno.Id}|{preno.Data}|{preno.IdAccount}|{preno.IdProdotto}|{preno.NomeProdotto}|{preno.Prezzo}|{preno.Confermata}|{preno.Evasa}"; writer.Append(filePath, linea); } } else { writer.Reset(filePath); } } return(RedirectToAction("Detail", "Account")); }
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 Detail() { if (Session["logged"] == null) { return(RedirectToAction("Index", "Home")); } var User = (Account)Session["user"]; string filePath = Server.MapPath(@"/App_Data/Prenotazioni.txt"); var reader = new ReservationReader(); IList <Reservation> listaPrenotazioni = reader.Read(filePath); IList <AccountReservationViewModel> listaPrenotazioniAccount = listaPrenotazioni.Where(e => e.IdAccount == User.Id) .Select(res => new AccountReservationViewModel() { IdPrenotazione = res.Id, IdProdotto = res.IdProdotto, NomeProdotto = res.NomeProdotto, Prezzo = res.Prezzo, Confermata = res.Confermata, Evasa = res.Evasa }).ToList(); var riepilogoPrenotazioni = new AccountReservationResumeViewModel() { NProdotti = listaPrenotazioniAccount.Count, Totale = listaPrenotazioniAccount.Sum(e => e.Prezzo), ListaPrenotazioni = listaPrenotazioniAccount }; var AccountDetail = new AccountDetailViewModel() { Account = new AccountViewModel() { Nome = User.Nome, Cognome = User.Cognome, Email = User.Email, TipoAccount = (User.Tipo == Account.tipo.Normal)?"Normale":"Premium" }, RiepilogoPrenotazioni = riepilogoPrenotazioni }; return(View(AccountDetail)); }
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)); }