public void UpdateBokning(Bokning bokning) { using (var conn = CreateConnection()) { try { //Skapar ett SQl objekt som används för att exekvera en lagrade procedur. var cmd = new SqlCommand("appSchema.usp_UpdateBooking", conn); cmd.CommandType = CommandType.StoredProcedure; //Lägger till de parametrar som behövs. cmd.Parameters.Add("@BokningID", SqlDbType.Int, 4).Value = bokning.BokningID; cmd.Parameters.Add("@BåtplID", SqlDbType.Int, 4).Value = bokning.BåtplID; cmd.Parameters.Add("@Start", SqlDbType.DateTime).Value = bokning.StartDatum; cmd.Parameters.Add("@S**t", SqlDbType.DateTime).Value = bokning.SlutDatum; //Öppnar anslutningen. conn.Open(); //Exekverar den lagrade proceduren. Vi kan använda denna metoden då inga poster returneras. cmd.ExecuteNonQuery(); } catch { throw new ArgumentException("Error in BokningDAL UpdateBokning."); } } }
public async Task <IActionResult> Edit(int id, [Bind("Id,Incheckning,Utcheckning,GästId,RumId")] Bokning bokning) { if (id != bokning.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(bokning); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BokningExists(bokning.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["GästId"] = new SelectList(_context.Gäster, "Id", "Id", bokning.GästId); ViewData["RumId"] = new SelectList(_context.Rum, "Id", "Id", bokning.RumId); return(View(bokning)); }
public void BokaValdaBöcker() { //böckerna List <Bok> valdaBöcker = new List <Bok>(); foreach (Bok bok in LedigaBöckerListBox.SelectedItems) { valdaBöcker.Add(bok); } //medlemmen Medlem valdMedlem = (Medlem)MedlemComboBox.SelectedItem; //startdatum DateTime valtStartDatum = BokningsDatumVäljare.Value; //ta med expedit //bokningsnummer string nyttBokningsnummer = //båda till bokning Bokning nyBokning = new Bokning(); //räkna ner antalkopior }
public void InsertBokning(Bokning bokning, int ID) { using (var conn = CreateConnection()) { try { //Skapar ett SQl objekt som används för att exekvera en lagrade procedur. var cmd = new SqlCommand("appSchema.usp_AddBooking", conn); cmd.CommandType = CommandType.StoredProcedure; //Lägger till de parametrar som behövs. cmd.Parameters.Add("@KundID", SqlDbType.Int, 4).Value = ID; cmd.Parameters.Add("@BåtplID", SqlDbType.Int, 4).Value = bokning.BåtplID; cmd.Parameters.Add("@Start", SqlDbType.DateTime).Value = bokning.StartDatum; cmd.Parameters.Add("@S**t", SqlDbType.DateTime).Value = bokning.SlutDatum; //Speciell parameter som hämtas efter proceduren har exekverats. cmd.Parameters.Add("@BokningID", SqlDbType.Int, 4).Direction = ParameterDirection.Output; //Öppnar anslutningen. conn.Open(); //Exekverar den lagrade proceduren. Vi kan använda denna metoden då inga poster returneras. cmd.ExecuteNonQuery(); //Lägger till parametern som hämtades till kund objektet. bokning.BokningID = (int)cmd.Parameters["@BokningID"].Value; } catch { throw new ArgumentException("Error in BokningDAL InsertBokning."); } } }
private void AvslutaBokning_Click(object sender, EventArgs e) { //Knapp för att avsluta en bokning och skapar då en fakruta Bokning B = null; if (BokningsNrBox.Text == "") { } else { B = BusinessManager.BoknRepo.GetBokning(int.Parse(BokningsNrBox.Text)); } if (B == null) { MessageBox.Show("Den angivna bokningen existerar inte", "Error"); } else { Faktura F = BusinessManager.skapaFaktura(B.BokningsNr); MessageBox.Show($"Bokningen varade mellan {F.startDate} och {F.endDate}\nPriset blir {F.Pris}Kr", "Bokningen har avbrutits"); Uppdatera(); } }
public void UppdateraBoklistor(List <Bok> återlämnadeBöcker, Bokning valdBokning) { foreach (Bok bok in återlämnadeBöcker) { valdBokning.ÅterlämnadeBöcker.Add(bok); } IEnumerable <Bok> nyaLånadeBöcker = (valdBokning.LånadeBöcker).Except(återlämnadeBöcker).ToList(); valdBokning.LånadeBöcker = (List <Bok>)nyaLånadeBöcker; }
public Bokning Skapa(string resursid, DateTime startTid, DateTime slutTid, int kundnr) { var bokning = new Bokning(resursid, startTid, slutTid, kundnr); if (_DataStore.TryAddBokning(bokning)) { return(bokning); } else { return(null); } }
public async Task <IActionResult> Create([Bind("Incheckning,Utcheckning,GästId,RumId")] Bokning bokning) { if (ModelState.IsValid) //kommer inte in här när jag försöker skapa. Nått med relationen i db som är fuckad { _context.Add(bokning); //här kanske det måste uppdateras i Gästen också await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["GästId"] = new SelectList(_context.Gäster, "Id", "Id", bokning.GästId); ViewData["RumId"] = new SelectList(_context.Rum, "Id", "Id", bokning.RumId); return(View(bokning)); }
//SKAPAR BOKNINGEN public async Task <IActionResult> ConfirmTheBooking(DateTime _BookFrom, DateTime _BookTo, int _NoOfMembers, int _RoomId, int _nätter, double _kostnad, bool _ExtraBed) { if (User.Identity.IsAuthenticated) { var usergäst = new Gäst(); var user = await _userManager.GetUserAsync(User); var gäst = _context.Gäster.Where(x => x.Förnamn == user.Namn).Select(x => x).ToList(); usergäst = gäst[0]; var nybokning = new Bokning { Gäst = usergäst, Incheckning = _BookFrom, Utcheckning = _BookTo, RumId = _RoomId }; await _context.Bokningar.AddAsync(nybokning); await _context.SaveChangesAsync(); var gästbookning = _context.Gäster.Where(x => x.Förnamn == usergäst.Förnamn).Select(x => x.BokningId); var nyorder = new Order { Pris = _kostnad, GästId = usergäst.Id, Produkt = "Hotellnätter" }; await _context.Ordrar.AddAsync(nyorder); await _context.SaveChangesAsync(); var nätter = (_BookTo - _BookFrom).TotalDays; //ViewBag.namn = user.Namn.ToString(); ViewBag.från = _BookFrom; ViewBag.till = _BookTo; ViewBag.mail = user.Email; //ViewBag.rum = _Room.Namn.ToString(); ViewBag.antalnätter = _nätter; ViewBag.antGäster = _NoOfMembers; ViewBag.kostnad1 = _kostnad; ViewBag.ExtraBed = _ExtraBed; return(View()); } else { return(RedirectToAction("CheckFreeRooms", "Boknings")); } }
public void BokningFormView_InsertItem(Bokning bokning) { if (ModelState.IsValid) { try { Service.SaveBokning(bokning, ID); Status = "Bokningen skapades!"; Response.RedirectToRoute("Bokningar", null); Context.ApplicationInstance.CompleteRequest(); } catch { ModelState.AddModelError(String.Empty, "Fel när bokningen skulle updateras. Klicka på Bokningar och se till att det inte är en dubbelbokning och att båtplatsen finns!"); } } }
private void SkapaBokninKnapp_Click(object sender, EventArgs e) { //Knapp för att skapa en bokning Anställd A = BusinessManager.GetAnställd(BusinessManager.AnstRepo.inloggad); int MNr = int.Parse(MedlemsIdBox.Text); //Skapar en lista med böckerna som är valda List <Bok> B = new List <Bok>(); foreach (Bok b in ListboxBöcker.SelectedItems) { B.Add(b); } Bokning Bokn = A.skapaBokning(MNr, B, BusinessManager.AnstRepo.inloggad, BusinessManager); //En box för att se så informationen stämmer DialogResult Svar; Svar = MessageBox.Show($"Medlem: {Bokn.medlem.namn}\nAnställd: {Bokn.anställd.namn}", "stämmer detta?", MessageBoxButtons.YesNo); if (Svar == DialogResult.No) { Close(); } else if (Svar == DialogResult.Yes) { BusinessManager.BoknRepo.AddBokning(Bokn); MessageBox.Show($"{Bokn.BokningsNr}", "Ditt boknings nummer är"); BokadeBöckerlista.Items.Add(B); Uppdatera(); } }
public void SkrivUtBokningsID(Bokning bokning) { bokningSkapadMeddelande.Text = "Din bokning är skapad med bokningsID: " + bokning.BokningsNummer; }