Exemplo n.º 1
0
        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.");
                }
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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
        }
Exemplo n.º 4
0
        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.");
                }
            }
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 8
0
        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!");
         }
     }
 }
Exemplo n.º 11
0
        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 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 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.");
                }
            }
        }
Exemplo n.º 14
0
 public void SkrivUtBokningsID(Bokning bokning)
 {
     bokningSkapadMeddelande.Text = "Din bokning är skapad med bokningsID: " + bokning.BokningsNummer;
 }