Exemple #1
0
        //Function to create Lease and save to database
        private void CreateLease_Click(object sender, EventArgs e)
        {
            if (CheckOrderIsGood() == false)
            {
                return;
            }

            DelpinCore.Lease lease = GetLeaseFromForm();

            string leaseSuccess = controller.CreateLease(lease);

            if (leaseSuccess.Contains("Success"))
            {
                string leaseNumber = Regex.Match(leaseSuccess, @"^[^;]+").ToString();
                this.leaseNumber.Text = leaseNumber;
                AddOpenStatusesToComboBox();

                createLease.Enabled  = false;
                updateLease.Enabled  = true;
                deleteLease.Enabled  = true;
                updateStatus.Enabled = true;
                writeInvoice.Enabled = true;
                MessageBox.Show($"Ordren blev oprettet med ordrenummer {leaseNumber}");
            }
            else
            {
                string errorMessage = Regex.Match(leaseSuccess, @"[^;]+$").ToString();
                MessageBox.Show($"Der opstod en fejl ved oprettelsen af ordren:\n" + errorMessage);
            }
        }
Exemple #2
0
        private void buttonUpdateOrder_Click(object sender, EventArgs e)
        {
            DelpinCore.Lease lease = GetLeaseFromForm();
            lease.SetLeaseID(Convert.ToInt32(leaseNumber.Text));
            string isUpdateSuccess = controller.UpdateLease(lease);

            MessageBox.Show(isUpdateSuccess);
        }
Exemple #3
0
        private void FillFormWithLease(DelpinCore.Lease lease)
        {
            string debtorID = lease.debtorID;

            if (debtorID.Length == 10)
            {
                personalRadioButton.Checked = true;
            }
            else
            {
                businessRadioButton.Checked = true;
            }

            debtorIDTextBox.Text = debtorID;
            GetDebtoryByID(debtorID);

            contactFirstName.Text = lease.contactFirstName;
            contactLastName.Text  = lease.contactLastName;
            contactPhone.Text     = lease.contactPhone;
            leaseNumber.Text      = lease.leaseID.ToString();

            if (lease.active == true)
            {
                AddOpenStatusesToComboBox();
                FillStatus(lease.status);
            }
            else
            {
                AddClosedStatusesToComboBox();
            }

            foreach (LeaseOrder leaseOrder in lease.GetLeaseOrders())
            {
                leaseOrders.Rows.Add();
                int lastRow = leaseOrders.Rows.GetLastRow(DataGridViewElementStates.Visible);
                leaseOrders.Rows[lastRow].Cells["ResurseID"].Value     = leaseOrder.resourceID;
                leaseOrders.Rows[lastRow].Cells["Resurse"].Value       = leaseOrder.modelName;
                leaseOrders.Rows[lastRow].Cells["Leveringsdato"].Value = leaseOrder.startDate.ToString("yyyy/MM/dd");
                leaseOrders.Rows[lastRow].Cells["Slutdato"].Value      = leaseOrder.endDate.ToString("yyyy/MM/dd");
                leaseOrders.Rows[lastRow].Cells["Dagspris"].Value      = leaseOrder.leasePrice.ToString("N2");
                leaseOrders.Rows[lastRow].Cells["Levering"].Value      = leaseOrder.deliveryPrice.ToString("N2");

                leaseOrders.Rows[lastRow].Cells["Gade"].Value     = leaseOrder.deliveryStreet;
                leaseOrders.Rows[lastRow].Cells["Postkode"].Value = leaseOrder.deliveryPostalCode.ToString();
                leaseOrders.Rows[lastRow].Cells["By"].Value       = leaseOrder.deliveryCity;
            }
        }
Exemple #4
0
        private DelpinCore.Lease GetLeaseFromForm()
        {
            bool active = false;

            if (leaseStatus.SelectedText != "Slettet")
            {
                active = true;
            }

            DelpinCore.Lease lease = new DelpinCore.Lease(debtorIDTextBox.Text, Utility.BranchID, active);

            lease.SetContactDetails(contactFirstName.Text, contactLastName.Text, contactPhone.Text);

            foreach (DataGridViewRow row in leaseOrders.Rows)
            {
                if (row.Cells["ResurseID"].Value == null)
                {
                    continue;
                }
                int      resouceID     = Convert.ToInt32(row.Cells["ResurseID"].Value.ToString());
                DateTime deliveryDate  = Convert.ToDateTime(row.Cells["Leveringsdato"].Value.ToString());
                DateTime returnDate    = Convert.ToDateTime(row.Cells["Slutdato"].Value.ToString());
                decimal  price         = Convert.ToDecimal(row.Cells["Dagspris"].Value.ToString());
                decimal  deliveryPrice = Convert.ToDecimal(row.Cells["Levering"].Value.ToString());

                string deliveryAddrress = row.Cells["Gade"].Value.ToString();

                int deliveryPostCode = 0;
                try
                {
                    deliveryPostCode = Convert.ToInt32(row.Cells["Postkode"].Value.ToString());
                }
                catch { }
                string deliveryCity = row.Cells["By"].Value.ToString();

                LeaseOrder leaseOrder = new LeaseOrder(deliveryDate, returnDate, price, resouceID);
                leaseOrder.SetDeliveryAddress(deliveryAddrress, deliveryPostCode, deliveryCity, deliveryPrice);
                lease.SetStatus("Åben");

                lease.AddLeaseOrder(leaseOrder);
            }

            return(lease);
        }
Exemple #5
0
        private void GetLeaseByLeaseID(int leaseID)
        {
            DelpinCore.Lease lease = controller.ReadLeaseByLeaseID(leaseID);

            if (lease.debtorID == "-1")
            {
                MessageBox.Show("Ordren blev ikke fundet, prøv at indtaste ordrenummeret igen.");
                return;
            }

            ClearAllTextBoxes();

            FillFormWithLease(lease);

            createLease.Enabled  = false;
            updateLease.Enabled  = true;
            deleteLease.Enabled  = true;
            updateStatus.Enabled = true;
            writeInvoice.Enabled = true;
        }
Exemple #6
0
        private string UpdateLeaseOrdersOnLease(Lease lease)
        {
            string deleteLeaseOrders = $"delete from LeaseOrder where LeaseID = {lease.leaseID}";

            string isDeleteSuccess = DatabaseManager.CreateUpdateDeleteInDatabase(deleteLeaseOrders);

            if (isDeleteSuccess != "Success")
            {
                return(isDeleteSuccess);
            }

            if (lease.GetLeaseOrders().Count == 0)
            {
                return("Success");
            }

            string insertLeaseOrder = GetLeaseOrderInsertString(lease);

            string isInsertSuccess = DatabaseManager.CreateUpdateDeleteInDatabase(insertLeaseOrder);

            return(isInsertSuccess);
        }
Exemple #7
0
        public string UpdateLease(Lease lease)
        {
            string isUpdateSuccess = leaseManager.UpdateLease(lease);

            return(isUpdateSuccess);
        }
Exemple #8
0
        public string CreateLease(Lease lease)
        {
            string leaseSuccess = leaseManager.CreateLease(lease);

            return(leaseSuccess);
        }
Exemple #9
0
        //------------------------------------------------------------------------------------------------------------------------------------------------------------------

        //Lease
        public Lease ReadLeaseByLeaseID(int leaseID)
        {
            Lease lease = leaseManager.ReadLeaseByLeaseID(leaseID);

            return(lease);
        }
Exemple #10
0
        public string MakePDF(Lease lease, Business business)
        {
            // Her bruges classen pdfDocument.
            PdfDocument document = new PdfDocument();

            // Her laver jeg et pdf dokument og kalder det Faktura
            document.Info.Title = "Faktura";

            // Her laves en side
            PdfPage page = document.AddPage();

            // Get an XGraphics object for drawing
            XGraphics gfx = XGraphics.FromPdfPage(page);

            // Opret skrift størelse og sill
            XFont companyAndDebtor = new XFont("Calibri", 10, XFontStyle.Regular);
            XFont fakture          = new XFont("Calibri", 20, XFontStyle.Bold);
            XFont smallHeadLine    = new XFont("Calibri", 10, XFontStyle.Bold);
            XFont priceFat         = new XFont("Calibri", 10, XFontStyle.Bold);

            // Draw the text. Dette er hvad der skal være på teksten, og hvor det skal være. Der kan laves lige så mange som man vil
            //Kunde Oplysninger------------------------------------------------------------------------------------------------------------------------------

            gfx.DrawString($"{business.companyName}", companyAndDebtor, XBrushes.Black,
                           new XRect(80, -270, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString($"{business.street}", companyAndDebtor, XBrushes.Black,
                           new XRect(80, -260, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString($"{business.postalCode} {business.city}", companyAndDebtor, XBrushes.Black,
                           new XRect(80, -250, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString($"Kunde Nr: {lease.debtorID}", companyAndDebtor, XBrushes.Black,
                           new XRect(80, -230, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //FAKTURA---------------------------------------------------------------------------------------------------------------------------------------
            gfx.DrawString("FAKTURA", fakture, XBrushes.Black,
                           new XRect(80, -170, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //Billede af Delpin----------------------------------------------------------------------------------------------------------------------------
            var image = DelpinCore.Properties.Resources.Delpinlogo;

            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            image.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);

            XImage xImage = XImage.FromStream(stream);

            gfx.DrawImage(xImage, 405, 35);

            //Firma informationer----------------------------------------------------------------------------------------------------------------------------
            gfx.DrawString("Nordvesthavnsvej 60 ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -300, page.Width, page.Height),
                           XStringFormats.CenterRight);

            gfx.DrawString("6400 Sønderborg ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -290, page.Width, page.Height),
                           XStringFormats.CenterRight);

            gfx.DrawString("Tlf 74 48 88 88 ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -280, page.Width, page.Height),
                           XStringFormats.CenterRight);

            //BankOplysninger------------------------------------------------------------------------------------------------------------------------------
            gfx.DrawString("Bank ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -250, page.Width, page.Height),
                           XStringFormats.CenterRight);

            gfx.DrawString("Reg. Nr:9735 ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -240, page.Width, page.Height),
                           XStringFormats.CenterRight);

            gfx.DrawString("Konto Nr:4571973602842330 ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -230, page.Width, page.Height),
                           XStringFormats.CenterRight);

            //Fakture Nr dato og betalings dato------------------------------------------------------------------------------------------------------------
            gfx.DrawString($"Faktura Nr.{lease.leaseID} ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -180, page.Width, page.Height),
                           XStringFormats.CenterRight);

            gfx.DrawString($"{lease.dateCreated.ToShortDateString()} ", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -170, page.Width, page.Height),
                           XStringFormats.CenterRight);

            //Headlines Resurce Antal Pris Beløb-----------------------------------------------------------------------------------------------------------
            gfx.DrawString("Vare ", smallHeadLine, XBrushes.Black,
                           new XRect(80, -130, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString("Antal Dage ", smallHeadLine, XBrushes.Black,
                           new XRect(0, -130, page.Width, page.Height),
                           XStringFormats.Center);

            gfx.DrawString("Daglig Lejepris ", smallHeadLine, XBrushes.Black,
                           new XRect(80, -130, page.Width, page.Height),
                           XStringFormats.Center);

            gfx.DrawString("Levering ", smallHeadLine, XBrushes.Black,
                           new XRect(150, -130, page.Width, page.Height),
                           XStringFormats.Center);

            gfx.DrawString("Beløb ", smallHeadLine, XBrushes.Black,
                           new XRect(-60, -130, page.Width, page.Height),
                           XStringFormats.CenterRight);

            //Navn på vare antal pris beløb-------------------------------------------------------------------------------------------------------------
            gfx.DrawString("___________________________________________________________________________________________ ", smallHeadLine, XBrushes.Black,
                           new XRect(80, -125, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //Her oprettes en variabel som sættes til 0
            int lineSpace = 0;

            for (int i = 0; i < lease.GetLeaseOrders().Count; i++)
            {
                //Her bliver Variablen sat til 15. så hver gange der bliver kørt GetLeaseOrders(tilføjet en ny vare linje bliver der pludset 15 til y aksens position)
                lineSpace = 15 * i;

                gfx.DrawString($"{lease.GetLeaseOrders()[i].modelName}", companyAndDebtor, XBrushes.Black,
                               new XRect(80, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString($"{lease.GetLeaseOrders()[i].GetDaysRented()}", companyAndDebtor, XBrushes.Black,
                               new XRect(0, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);

                gfx.DrawString($"Kr. {lease.GetLeaseOrders()[i].leasePrice} ", companyAndDebtor, XBrushes.Black,
                               new XRect(80, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);

                gfx.DrawString($"Kr. {lease.GetLeaseOrders()[i].deliveryPrice}", companyAndDebtor, XBrushes.Black,
                               new XRect(150, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);

                gfx.DrawString($"Kr. {lease.GetLeaseOrders()[i].GetTotalPrice()}", companyAndDebtor, XBrushes.Black,
                               new XRect(-60, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterRight);
            }

            gfx.DrawString("___________________________________________________________________________________________ ", smallHeadLine, XBrushes.Black,
                           new XRect(80, -100 + lineSpace, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //Hvis det er erhvers person
            if (business.CVR.Length == 8)
            {
                gfx.DrawString("Total: ", priceFat, XBrushes.Black,
                               new XRect(400, -20 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString($"Kr. {lease.GetTotalPrice()} ", companyAndDebtor, XBrushes.Black,
                               new XRect(-60, -20 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterRight);

                gfx.DrawString("___________________________ ", smallHeadLine, XBrushes.Black,
                               new XRect(400, -15 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);
            }

            //Hvis det er Privat person
            else
            {
                gfx.DrawString("Netto: ", companyAndDebtor, XBrushes.Black,
                               new XRect(400, -20 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString("Moms (25%): ", companyAndDebtor, XBrushes.Black,
                               new XRect(400, -5 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString("Total: ", priceFat, XBrushes.Black,
                               new XRect(400, 10 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString($"Kr. {lease.GetTotalPrice()} ", companyAndDebtor, XBrushes.Black,
                               new XRect(-60, -20 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterRight);

                gfx.DrawString($"Kr. {Moms(lease.GetTotalPrice())} ", companyAndDebtor, XBrushes.Black,
                               new XRect(-60, -5 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterRight);

                gfx.DrawString($"Kr. {endPrice(Moms(lease.GetTotalPrice()), lease.GetTotalPrice())} ", priceFat, XBrushes.Black,
                               new XRect(-60, 10 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterRight);

                gfx.DrawString("___________________________ ", smallHeadLine, XBrushes.Black,
                               new XRect(400, 15 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);
            }

            //Her Laves navnet på filen
            string filename = $"Faktura{lease.leaseID}.pdf";

            try
            {
                //Dette er til at gemme pdf
                document.Save(filename);
            }
            catch (Exception)
            {
                return("Filen kan ikke gemmes");
            }

            //Dette er til at vise PDF
            Process.Start(filename);
            return("Success");
        }