public ActionResult Index(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var SousEvent = db.FindSousEvenement((int)id); ViewBag.SousEvent = SousEvent; if (SousEvent.tblSalle != null) { ViewBag.Salle = SousEvent.tblSalle; } else { ViewBag.Salle = new tblSalle(); //Envoie d'une salle vide pour empêcher l'envoie d'une erreur } ViewBag.Forfait = SousEvent.tblForfait.Where(f => f.dateSupprime == null); ViewBag.Calcul = db.ReturnCalculateur((int)id) ?? new tblCalculateur(); return(View()); }
public ActionResult RapportCalculateur(int?id) { var reportQueryCalculateur = (from s in db.ReturnListCalculateur().Where(c => c.noSousEvenement == id) select new { s.noSousEvenement, s.billet, s.billetVIP, s.prixBillet, s.prixBilletVIP, s.souperSpectacle, s.prixSouper, s.jeunePourcent, s.adultePourcent, s.ainePourcent, s.jeuneRatio, s.adulteRatio, s.aineRatio, s.promo, s.prevente, s.customBillet1, s.customBillet2, s.customPrix1, s.customPrix2, s.customNom1, s.customNom2, }).ToList(); var reportQuerySSEvent = (from s in db.ToutSousEvenement().Where(sse => sse.noSousEvenement == id) select new { s.noSousEvenement, s.nom, s.description, s.noEvenement, s.noSalle, }).ToList(); var reportQuerySalle = (from s in db.ReturnListSalle().Where(a => a.noSalle == db.FindSousEvenement((int)id).noSalle) select new { s.noSalle, s.nomSalle, s.prix, s.billet, s.billetVIP, s.photoSalle, s.dateSupprime, s.urlGoogleMap }).ToList(); var reportQueryNomEvent = (from s in db.ToutEvenement().Where(a => a.noEvenement == db.ReturnEvenement((reportQuerySSEvent.FirstOrDefault().noEvenement)).noEvenement) select new { s.noEvenement, s.nom, }).ToList(); LocalReport u = new LocalReport(); u.ReportPath = "Rapport/ReportCalculateur.rdlc"; u.SetParameters(new ReportParameter("auteur", db.ReturnUtilisateur(AbpSession.UserId.Value).UserName)); u.DataSources.Clear(); ReportDataSource datasourceCalcul = new ReportDataSource("DataSetCalculateur", reportQueryCalculateur); ReportDataSource datasourceSSEvent = new ReportDataSource("DataSetSousEvent", reportQuerySSEvent); ReportDataSource datasourceSalle = new ReportDataSource("DataSetSalle", reportQuerySalle); ReportDataSource datasourceNomEvent = new ReportDataSource("DataNomEvent", reportQueryNomEvent); u.DataSources.Add(datasourceCalcul); u.DataSources.Add(datasourceSSEvent); u.DataSources.Add(datasourceSalle); u.DataSources.Add(datasourceNomEvent); //ReportParameter p = new ReportParameter("DeptID", deptID.ToString()); //u.SetParameters(new[] { p }); var cd = new System.Net.Mime.ContentDisposition { // for example foo.bak FileName = "Rapport_Calculateur.pdf", // always prompt the user for downloading, set to true if you want // the browser to try to show the file inline Inline = true, }; Warning[] warnings; string[] streamids; string mimeType; string encoding; string filenameExtension; byte[] bytes = u.Render( "PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings); Response.AppendHeader("Content-Disposition", cd.ToString()); return(File(bytes, "application/pdf")); }
public ActionResult Detail(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (IsGranted(PermissionNames.GererSousEvenement)) { var serviceAAjouter = Request.Form["service"] ?? Request.Form["service_delete_salle"]; //ajouter le service requis if (serviceAAjouter != null) { db.InsertServiceRequis((int)id, int.Parse(serviceAAjouter)); } //supprimer un service requis var serviceASupprimer = Request.Form["service_suppr"]; if (serviceASupprimer != null) { db.SupprimerServiceRequis((int)id, int.Parse(serviceASupprimer)); } //ajouter le forfait sélectionné var forfaitAAjouter = Request.Form["forfait"]; if (forfaitAAjouter != null) { db.LierForfait((int)id, int.Parse(forfaitAAjouter)); } //supprimer le forfait sélectionné var forfaitASupprimer = Request.Form["forfait_suppr"]; if (forfaitASupprimer != null) { db.DelierForfait((int)id, int.Parse(forfaitASupprimer)); } //ajouter la salle sélectionnée var salleAAjouter = Request.Form["salle"]; if (salleAAjouter != null) { db.LierSalle((int)id, int.Parse(salleAAjouter)); } //supprimer la salle sélectionnée ou si le service ajouté est de trop if (Request.Form["salle_suppr"] != null || Request.Form["service_delete_salle"] != null) { if (Request.Form["service_delete_salle"] != null) { var SousEvenement = db.FindSousEvenement((int)id); var nom_salle = SousEvenement.tblSalle.nomSalle; var nom_sous_evenement = SousEvenement.nom; db.CreerMemo((int)AbpSession.UserId.Value, (int)AbpSession.UserId.Value, string.Format("La salle «{0}» a été retirée du sous-événement «{1}» car un service requis n'y sétait pas offert", nom_salle, nom_sous_evenement), Request.RawUrl); } db.DelierSalle((int)id); } //ajouter l'engagement sélectionné var engagementAAjouter = Request.Form["engagement"]; if (engagementAAjouter != null) { db.LierEngagement((int)id, int.Parse(engagementAAjouter)); } //supprimer l'engagement sélectionné var engagementASupprimer = Request.Form["engagement_suppr"]; if (engagementASupprimer != null) { db.DelierEngagement((int)id, int.Parse(engagementASupprimer)); } } var SousEvenementCourrant = db.FindSousEvenement((int)id); if (SousEvenementCourrant.tblSalle != null) { ViewBag.ServicesOfferts = SousEvenementCourrant.tblSalle.tblService; } if (SousEvenementCourrant == null) { return(HttpNotFound()); } var service = db.ToutService().Except(SousEvenementCourrant.tblService).ToList(); //sortir seulement les salles n'étant pas celle sélectionnée (peu probable, car la view ne permet pas de choisir une salle lorsqu'il y en a déjà une de sélectionnée) //et sortir seulement les salles offrant au minimum les services requis. var salle = db.ToutSalle().Except(new List <tblSalle> { SousEvenementCourrant.tblSalle }) .Where(Salle => //Services requis par le sous-evenement sont tous (All) dans la liste des services offerts de la salle SousEvenementCourrant.tblService.All(ServiceRequis => Salle.tblService.Contains(ServiceRequis) ) ).ToList(); var forfait = db.ToutForfait().Except(SousEvenementCourrant.tblForfait).ToList(); var engagement = db.ToutEngagement().Except(SousEvenementCourrant.tblEngagement).ToList(); ViewBag.listTuple = new Tuple <tblSousEvenement, List <tblService>, List <tblSalle>, List <tblForfait>, List <tblEngagement> >(SousEvenementCourrant, service, salle, forfait, engagement); ViewBag.UtilisateurCourrant = (long)AbpSession.UserId; GetPermissions(); return(View()); }