예제 #1
0
        public async Task <ActionResult <Lasku> > PostLasku([FromForm] Lasku lasku)
        {
            _context.Laskut.Add(lasku);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetLasku", new { id = lasku.LaskuId }, lasku));
        }
예제 #2
0
        public async Task <IActionResult> PutLasku(int id, [FromForm] Lasku lasku)
        {
            if (id != lasku.LaskuId)
            {
                return(BadRequest());
            }

            _context.Entry(lasku).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LaskuExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #3
0
        public void BillTest()
        {
            Lasku lasku    = new Lasku();
            float expected = (0.75f * 3) + (0.90f * 4) + 3.95f + 1.20f;

            lasku.Tuotteet.Add(new Product("Makkara", 0.75f), 3);
            lasku.Tuotteet.Add(new Product("Kalja", 0.90f), 4);
            lasku.Tuotteet.Add(new Product("Kahvi", 3.95f), 1);
            lasku.Tuotteet.Add(new Product("Sipsi", 1.20f), 1);
            lasku.Bill();

            float actual = lasku.Kokonaishinta;

            Assert.AreEqual(expected, actual);
        }
예제 #4
0
        // 3.3 Laskutuksen koodi. Laskuun ilmestyy automaattisesti asiakkaan tiedot valitusta varauksesta
        public Laskutus(Primary p, Lasku l)
        {
            InitializeComponent();
            this.p = p;
            this.l = l;
            if (this.l.Varaus.Vahvistus_pvm.Equals(DateTime.Parse("1970-01-01 00:00:00")))
            {
                btnVarmenna.Enabled = true;
            }
            TByht.Text     = l.Summa.ToString();
            TBAsiakas.Text = l.Varaus.Asiakas.ToString();
            TBnum.Text     = l.Lasku_id.ToString();
            TBerapvm.Text  = l.Erapaiva.ToString("dd-MM-yyyy");
            TBpvm.Text     = DateTime.Now.ToString("dd-MM-yyyy");
            string lisatiedot = l.Varaus.Mokki.Kuvaus + "\r\n" + l.Varaus.Mokki.Varustelu + "\r\n";
            string summat     = l.Varaus.Alkupvm_varaus.ToString("yyyy-MM-dd") + " - " + l.Varaus.Loppupvm_varaus.ToString("yyyy-MM-dd") + "\r\n";

            if (l.Varaus.Alkupvm_varaus == l.Varaus.Loppupvm_varaus)
            {
                summat += 1 + " päivä(ä), " + l.Varaus.Mokki.Hinta * 1 + "€";
            }
            else
            {
                summat += (l.Varaus.Loppupvm_varaus - l.Varaus.Alkupvm_varaus).TotalDays.ToString() + " päivä(ä), " +
                          l.Varaus.Mokki.Hinta * (l.Varaus.Loppupvm_varaus - l.Varaus.Alkupvm_varaus).TotalDays + "€";
            }

            foreach (KeyValuePair <int, int> item in l.Varaus.Varauksenpalvelut)
            {
                Palvelu pa = this.p.Palvelut.Find(i => i.Palvelu_id == item.Key);
                lisatiedot += "\r\n" + pa.Nimi + pa.Hinta.ToString() + " €/kpl\r\nx" + item.Value;
                summat     += "\r\nx" + item.Value + " * " + pa.Hinta.ToString() + "€" + " = " + (item.Value * pa.Hinta) + "€";
            }
            TBlisatiedot.Text = lisatiedot;
            summat           += "\r\nSumma (ilman ALV):" + l.SummaEiAlv + "€";
            summat           += "\r\nALV (24%):" + l.Alv + "€";
            TBLaskutus.Text   = summat;
        }
예제 #5
0
        private void luoLaskuBtn_Click(object sender, EventArgs e)
        {
            bool voikoLuoda = true;
            //Luodaan asiakas ja laitetaan asiakkaalle tiedot
            Asiakas asiakas = new Asiakas();

            asiakas.Sukunimi = sukunimiCBox.Text;
            asiakas.Etunimi  = etunimiCBox.Text;
            asiakas          = handler.HaeAsiakasNimellä(asiakas);

            //Luodaan yritys ja haetaan sille tiedot
            Yritys yritys = new Yritys();

            yritys = handler.HaeYritys(id);


            DateTime dateAndTime = DateTime.Now;
            DateTime eräpäivä    = dateAndTime.AddDays(14);

            //Luodaan lasku ja laitetaan laskulle tiedot
            Lasku lasku = new Lasku();
            int   laskunID;

            lasku.Päivämäärä = dateAndTime;
            lasku.Eräpäivä   = eräpäivä;
            lasku.AsiakasID  = asiakas.Id;
            try
            {
                lasku.Laskutuskausi = laskutusCbox.SelectedItem.ToString();
            }
            catch (Exception)
            {
                MessageBox.Show("Et valinnut laskutuskautta", "!Huom");
                voikoLuoda = false;
            }

            if (voikoLuoda == true)
            {
                laskunID = handler.TallennaLasku(lasku);

                string viitenumero;
                viitenumero = Viitenumero(asiakas, laskunID);

                // luodaan pdf tiedosto ja sille olennaiset ominaisuudet
                PdfLoadedDocument loadedDocument = new PdfLoadedDocument(Properties.Resources.laskupohja);
                PdfLoadedForm     loadedForm     = loadedDocument.Form;
                PdfLoadedPage     loadedPage     = loadedDocument.Pages[0] as PdfLoadedPage;
                PdfTemplate       template       = loadedPage.CreateTemplate();
                PdfDocument       document       = new PdfDocument();
                document.PageSettings.SetMargins(2);
                PdfPage     page     = document.Pages.Add();
                PdfGraphics graphics = page.Graphics;
                graphics.DrawPdfTemplate(template, PointF.Empty, new SizeF(page.Size.Width, page.Size.Height));
                PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);

                float veroYhteensä, määrä, verotonHinta, hinta, yhteensä;

                float.TryParse(hintaTbox.Text, out hinta);
                float.TryParse(määräTbox.Text, out määrä);
                verotonHinta = hinta * määrä;
                veroYhteensä = verotonHinta * 1.24f - verotonHinta;
                yhteensä     = verotonHinta + veroYhteensä;

                //Viedään tietoa dokumenttiin
                (loadedForm.Fields[0] as PdfLoadedTextBoxField).Text  = dateAndTime.ToString("dd/MM/yyyy");
                (loadedForm.Fields[1] as PdfLoadedTextBoxField).Text  = "7%";                            //Viivästyskorko
                (loadedForm.Fields[2] as PdfLoadedTextBoxField).Text  = laskunID.ToString();             //Laskunumero
                (loadedForm.Fields[3] as PdfLoadedTextBoxField).Text  = asiakas.YTunnus;                 // Asiakkaan Y-Tunnus
                (loadedForm.Fields[4] as PdfLoadedTextBoxField).Text  = maksuehtoTbox.Text;              // Maksuehto
                (loadedForm.Fields[5] as PdfLoadedTextBoxField).Text  = "";                              // Viitteemme
                (loadedForm.Fields[6] as PdfLoadedTextBoxField).Text  = eräpäivä.ToString("dd/MM/yyyy"); // Eräpäivä
                (loadedForm.Fields[7] as PdfLoadedTextBoxField).Text  = "";                              // Viittenne
                (loadedForm.Fields[8] as PdfLoadedTextBoxField).Text  = toimitusehtoTbox.Text;           // Toimitusehto
                (loadedForm.Fields[63] as PdfLoadedTextBoxField).Text = verotonHinta.ToString();         // Veroton yhteensä
                (loadedForm.Fields[64] as PdfLoadedTextBoxField).Text = veroYhteensä.ToString();         // ALV yhteensä
                (loadedForm.Fields[65] as PdfLoadedTextBoxField).Text = yhteensä.ToString();             // Verollinen yhteensä
                (loadedForm.Fields[70] as PdfLoadedTextBoxField).Text = yhteensä.ToString();             // Yhteensä
                (loadedForm.Fields[71] as PdfLoadedTextBoxField).Text = EtunimiLbl.Text + " "
                                                                        + sukunimiLbl.Text + "\n" + osoiteLbl.Text + "\n" + postinumeroLbl.Text + " "
                                                                        + postitoimipaikkaLbl.Text;                      // Asiakkaan tiedot
                (loadedForm.Fields[68] as PdfLoadedTextBoxField).Text = eräpäivä.ToString("dd/MM/yyyy");                 // Eräpäivä
                (loadedForm.Fields[75] as PdfLoadedTextBoxField).Text = yritys.Nimi + "\n" + yritys.Osoite + "\n"        // Laskun lähettäjän tiedot
                                                                        + yritys.Postinumero + " " + yritys.Postiosoite; // Laskun lähettäjän tiedot
                (loadedForm.Fields[66] as PdfLoadedTextBoxField).Text = yritys.Iban;                                     // IBAN
                (loadedForm.Fields[67] as PdfLoadedTextBoxField).Text = yritys.Bicswift;                                 // BIC/SWIFT = 67
                (loadedForm.Fields[69] as PdfLoadedTextBoxField).Text = viitenumero;                                     // Viitenumero = 69
                (loadedForm.Fields[9] as PdfLoadedTextBoxField).Text  = nimikeTbox.Text;                                 // Nimike
                (loadedForm.Fields[10] as PdfLoadedTextBoxField).Text = määräTbox.Text;                                  // Määrä
                (loadedForm.Fields[11] as PdfLoadedTextBoxField).Text = "kpl";                                           // Yks.
                (loadedForm.Fields[12] as PdfLoadedTextBoxField).Text = hintaTbox.Text;                                  // hinta
                (loadedForm.Fields[13] as PdfLoadedTextBoxField).Text = "24%";                                           // Alv %
                (loadedForm.Fields[14] as PdfLoadedTextBoxField).Text = yhteensä.ToString();                             // Verollinen yhteensä

                //Tällä luupilla voi katsoa missä kohdassa mikäkin field on.
                //for (int i = 0; i < 76; i++)
                //{
                //    (loadedForm.Fields[i] as PdfLoadedTextBoxField).Text = i.ToString();
                //}

                // tallenetaan dokumentti
                loadedDocument.Save("Lasku.pdf");
                document.Save("UusiLasku.pdf");
                loadedDocument.Close(true);
                document.Close(true);
                Process.Start("Lasku.pdf");

                // Tarkistetaan onko laskun tiedot saatu tallennettua
                if (laskunID != 0)
                {
                    MessageBox.Show("Laskun tiedot tallennettiin tietokantaan", "Huom");
                }
                else
                {
                    MessageBox.Show("Laskun tietoja ei saatu tallennettua", "Huom");
                }
            }
        }
예제 #6
0
 public int TallennaLasku(Lasku lasku)
 {
     return(dbController.TallennaLasku(lasku));
 }