Example #1
0
        public async Task GetProjectByIdAsync_WhenFoundById_ShouldReturnMappedProjectDtoResponse()
        {
            var id = Guid.NewGuid();
            ProjectDetailsDto modelAfterMap = new ProjectDetailsDto();

            MockFor <IProjectRepository>().Setup(e => e.GetByIdAsync(id))
            .ReturnsAsync(new Project());
            MockFor <IModelMapper <Project, ProjectDetailsDto> >().Setup(e => e.MapToModel(It.IsAny <Project>()))
            .Returns(modelAfterMap);

            var response = await ClassUnderTest.GetProjectByIdAsync(id);

            response.VerifySuccessResponseWithData(modelAfterMap);
        }
Example #2
0
        /// <summary>
        /// this method is used to add skill into database
        /// </summary>
        /// <param name="project">new project object contains name only</param>
        /// <returns>return newly created skill object</returns>
        public async Task <Project> AddProjectAsync(ProjectDetailsDto project)
        {
            //check if project exists or not

            var existingProject = await _projectRepository.GetProjectByNameAsync(project.Name);

            if (existingProject != null)
            {
                throw new Exception("Project already exists!!");
            }
            var newProject = _mapper.Map <Project>(project);

            newProject.CreatedAt = DateTime.UtcNow;
            _projectRepository.AddProject(newProject);
            await _projectRepository.SaveChangesAsync();

            return(newProject);
        }
Example #3
0
 public static ProjectDto Map(ProjectDetailsDto project)
 {
     return(new ProjectDto
     {
         Id = project.Id,
         Active = project.Active,
         Description = project.Description,
         EndDate = project.EndDate,
         IsAccepted = project.IsAccepted,
         IsDone = project.IsDone,
         IsFixedPrice = project.IsFixedPrice,
         Price = project.Price,
         StartDate = project.StartDate,
         ESTdriving = project.ESTdriving,
         Rowversion = project.Rowversion,
         CustomerId = project.CustomerId,
         //UsedItemsDtos = ProjectMapper.Map(project.UsedItems).ToList()
         //7ProjectDetailsMapper = ProjectDetailsMapper.Map(project.ProjectDto).ToList(),
         //CustomerDto = CustomerMapper.Map(project.Customer)
     });
 }
Example #4
0
        public string CreatePDF(ProjectDetailsDto project)
        {
            // Her bruges classen pdfDocument.
            PdfDocument document = new PdfDocument();

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

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

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

            // Opret skrift størelse og stil
            XFont companyAndDebtor = new XFont("Calibri", 10, XFontStyle.Regular);
            XFont tilbud           = new XFont("Calibri", 15, XFontStyle.Bold);
            XFont beskrivelse      = new XFont("Calibri", 15, XFontStyle.Bold);
            XFont smallHeadLine    = 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------------------------------------------------------------------------------------------------------------------------------
            if (project == null)
            {
            }
            else
            {
                gfx.DrawString(project.Customer.Name, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -270, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString(project.Customer.Address, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -260, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString(project.Customer.Email, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -250, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString(project.Customer.Phone, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -230, page.Width, page.Height),
                               XStringFormats.CenterLeft);
            }
            gfx.DrawString(("Dato: " + DateTime.Now.ToShortDateString()), companyAndDebtor, XBrushes.Black,
                           new XRect(80, -200, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //FAKTURA---------------------------------------------------------------------------------------------------------------------------------------


            gfx.DrawString((project.Description.ToString()), smallHeadLine, XBrushes.Black,
                           new XRect(80, -150, page.Width, page.Height),
                           XStringFormats.CenterLeft);

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

            gfx.DrawString("Karetmagervej 10b", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -290, page.Width, page.Height),
                           XStringFormats.CenterRight);

            gfx.DrawString("7100 Vejle", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -280, page.Width, page.Height),
                           XStringFormats.CenterRight);

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

            gfx.DrawString("Startdato: " + (project.StartDate.ToShortDateString()), companyAndDebtor, XBrushes.Black,
                           new XRect(80, -115, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString("Slutdato: " + (project.EndDate.ToShortDateString()), companyAndDebtor, XBrushes.Black,
                           new XRect(80, -105, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //Materialer

            gfx.DrawString("Materialer", smallHeadLine, XBrushes.Black,
                           new XRect(80, -90, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString("Vare", companyAndDebtor, XBrushes.Black,
                           new XRect(80, -80, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //Antal
            gfx.DrawString("Antal", companyAndDebtor, XBrushes.Black,
                           new XRect(-80, -80, page.Width, page.Height),
                           XStringFormats.Center);

            //Stykpris
            gfx.DrawString("Stykpris i kr", companyAndDebtor, XBrushes.Black,
                           new XRect(60, -80, page.Width, page.Height),
                           XStringFormats.Center);

            //Stykpris
            gfx.DrawString("Rabat", companyAndDebtor, XBrushes.Black,
                           new XRect(130, -80, page.Width, page.Height),
                           XStringFormats.Center);

            //I alt
            //gfx.DrawString("I alt", companyAndDebtor, XBrushes.Black,
            //   new XRect(200, -90, page.Width, page.Height),
            //   XStringFormats.Center);



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

            int lineSpace = 0;
            int counter   = 0;

            for (int i = 0; i < project.AssignedItems.Count; i++)
            {
                counter++;
                //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;

                //varens navn
                gfx.DrawString(project.AssignedItems[i].Item.Name, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -65 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                //Antal
                gfx.DrawString(project.AssignedItems[i].Amount.ToString(), companyAndDebtor, XBrushes.Black,
                               new XRect(-80, -65 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);



                //Stykpris
                gfx.DrawString((project.AssignedItems[i].Price.ToString()), companyAndDebtor, XBrushes.Black,
                               new XRect(60, -65 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);

                //rabat

                gfx.DrawString((calculateDiscount(project.AssignedItems[i]).ToString()), companyAndDebtor, XBrushes.Black,
                               new XRect(130, -65 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);


                //I alt
            }
            decimal priceSum = project.TotalAssignedItems;

            gfx.DrawString(("Ialt " + priceSum.ToString() + " Kr"), companyAndDebtor, XBrushes.Black,
                           new XRect(200, -55 + lineSpace, page.Width, page.Height),
                           XStringFormats.Center);



            //Timer



            gfx.DrawString("Timer", smallHeadLine, XBrushes.Black,
                           new XRect(80, 15 * counter - 50, page.Width, page.Height),
                           XStringFormats.CenterLeft);



            gfx.DrawString("Antal timer", companyAndDebtor, XBrushes.Black,
                           new XRect(80, 15 * counter - 40, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString("___________________________________________________________________________________________ ", smallHeadLine, XBrushes.Black,
                           new XRect(80, 15 * counter - 35, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            gfx.DrawString((calculateHours(project.ProjectEmployees).ToString()), companyAndDebtor, XBrushes.Black,
                           new XRect(80, 15 * counter - 20, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //gfx.DrawString("Pris ialt", companyAndDebtor, XBrushes.Black,
            //    new XRect(200, -40, page.Width, page.Height),
            //    XStringFormats.CenterLeft);



            decimal HoursSum = project.TotalAssignedHours;

            gfx.DrawString(("Ialt " + HoursSum.ToString() + " Kr"), companyAndDebtor, XBrushes.Black,
                           new XRect(200, 15 + lineSpace - 10, page.Width, page.Height),
                           XStringFormats.Center);


            gfx.DrawString(("Samlet pris " + (HoursSum + priceSum) + " Kr"), companyAndDebtor, XBrushes.Black,
                           new XRect(185, 15 + lineSpace + 20, page.Width, page.Height),
                           XStringFormats.Center);



            //Her Laves navnet på filen
            string filename = "Tilbud" + project.Id.ToString() + DateTime.Now.ToString("yyyy-MM-dd") + ".pdf";


            //Dette er til at gemme pdf

            document.Save(filename);
            System.Threading.Thread.Sleep(500);
            return(filename);
        }
Example #5
0
        public void CreatePDF(ProjectDetailsDto project)
        {
            // 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 stil
            XFont companyAndDebtor = new XFont("Calibri", 10, XFontStyle.Regular);
            XFont tilbud           = 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------------------------------------------------------------------------------------------------------------------------------
            if (project == null)
            {
            }
            else
            {
                gfx.DrawString(project.Customer.Name, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -270, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString(project.Customer.Address, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -260, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString(project.Customer.Email, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -250, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                gfx.DrawString(project.Customer.Phone, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -230, page.Width, page.Height),
                               XStringFormats.CenterLeft);
            }

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

            //Billede af Firmallogo---------------------------------------------------------------------------------------
            //Mangler


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

            gfx.DrawString("Karetmagervej 10b", companyAndDebtor, XBrushes.Black,
                           new XRect(-60, -290, page.Width, page.Height),
                           XStringFormats.CenterRight);

            gfx.DrawString("7100 Vejle", 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:3141", companyAndDebtor, XBrushes.Black,
            //    new XRect(-60, -240, page.Width, page.Height),
            //    XStringFormats.CenterRight);

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

            //gfx.DrawString("Ordrenummer "+sale.saleID.ToString(), companyAndDebtor, XBrushes.Black,
            //   new XRect(-60, -180, page.Width, page.Height),
            //   XStringFormats.CenterRight);

            //gfx.DrawString("Dato " + sale.salesDay.ToString("dd-MM-yyyy"), companyAndDebtor, XBrushes.Black,
            //  new XRect(-60, -170, page.Width, page.Height),
            //  XStringFormats.CenterRight);

            //Navn på vare antal pris beløb-------------------------------------------------------------------------------------------------------------
            //varens navn
            gfx.DrawString("Vare", companyAndDebtor, XBrushes.Black,
                           new XRect(80, -130, page.Width, page.Height),
                           XStringFormats.CenterLeft);

            //Antal
            gfx.DrawString("Antal", companyAndDebtor, XBrushes.Black,
                           new XRect(-80, -130, page.Width, page.Height),
                           XStringFormats.Center);

            //Stykpris
            gfx.DrawString("Stykpris", companyAndDebtor, XBrushes.Black,
                           new XRect(90, -130, page.Width, page.Height),
                           XStringFormats.Center);

            //I alt
            gfx.DrawString("I alt", companyAndDebtor, XBrushes.Black,
                           new XRect(200, -130, page.Width, page.Height),
                           XStringFormats.Center);

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

            int lineSpace = 0;

            for (int i = 0; i < project.AssignedItems.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;

                //varens navn
                gfx.DrawString(project.AssignedItems[i].Item.Name, companyAndDebtor, XBrushes.Black,
                               new XRect(80, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.CenterLeft);

                //Antal
                gfx.DrawString(project.AssignedItems[i].Amount.ToString(), companyAndDebtor, XBrushes.Black,
                               new XRect(-80, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);

                //Stykpris
                gfx.DrawString((project.AssignedItems[i].Price.ToString() + " Kr"), companyAndDebtor, XBrushes.Black,
                               new XRect(90, -110 + lineSpace, page.Width, page.Height),
                               XStringFormats.Center);

                ////I alt
                //decimal priceSum = project.AssignedItems.();
                //gfx.DrawString((priceSum.ToString() + " Kr"), companyAndDebtor, XBrushes.Black,
                //   new XRect(200, -110 + lineSpace, page.Width, page.Height),
                //   XStringFormats.Center);
            }

            ////Hvis det er erhvers person
            //if (sale.customer!=null)
            //{
            //    if (sale.customer.GetType() == typeof(BusinessCustomer))
            //    {
            //        gfx.DrawString("Total: ", priceFat, XBrushes.Black,
            //            new XRect(400, -20 + lineSpace, page.Width, page.Height),
            //            XStringFormats.CenterLeft);



            //        gfx.DrawString(sale.Price() + " Kr", 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);
            //    }

            //    else
            //    {
            //        decimal momsPrice = sale.Moms();
            //        decimal totalPriceInkMoms = sale.TotalPriceInkMoms();

            //        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 ink. Moms: ", priceFat, XBrushes.Black,
            //            new XRect(400, 10 + lineSpace, page.Width, page.Height),
            //            XStringFormats.CenterLeft);

            //        //Viser den totate nettopris
            //        gfx.DrawString(sale.Price() + " Kr", companyAndDebtor, XBrushes.Black,
            //            new XRect(-60, -20 + lineSpace, page.Width, page.Height),
            //            XStringFormats.CenterRight);

            //        //Viser prisen på momsen
            //        gfx.DrawString(momsPrice.ToString() + " Kr", companyAndDebtor, XBrushes.Black,
            //            new XRect(-60, -5 + lineSpace, page.Width, page.Height),
            //            XStringFormats.CenterRight);


            //        //viser den totale pris ink moms
            //        gfx.DrawString(totalPriceInkMoms.ToString() + " Kr", 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);
            //    }
            //}
            //else
            //{
            //    decimal momsPrice = sale.Moms();
            //    decimal totalPriceInkMoms = sale.TotalPriceInkMoms();

            //    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 ink. Moms: ", priceFat, XBrushes.Black,
            //        new XRect(400, 10 + lineSpace, page.Width, page.Height),
            //        XStringFormats.CenterLeft);

            //    //Viser den totate nettopris
            //    gfx.DrawString(sale.Price() + " Kr", companyAndDebtor, XBrushes.Black,
            //        new XRect(-60, -20 + lineSpace, page.Width, page.Height),
            //        XStringFormats.CenterRight);

            //    //Viser prisen på momsen
            //    gfx.DrawString(momsPrice.ToString() + " Kr", companyAndDebtor, XBrushes.Black,
            //        new XRect(-60, -5 + lineSpace, page.Width, page.Height),
            //        XStringFormats.CenterRight);


            //    //viser den totale pris ink moms
            //    gfx.DrawString(totalPriceInkMoms.ToString() + " Kr", 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);
            //}

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

            //Her Laves navnet på filen
            string filename = "Tilbud" + project.Id.ToString() + ".pdf";

            //Dette er til at gemme pdf
            document.Save(filename);
        }
Example #6
0
 public async Task <ActionResult <Project> > AddProjectAsync([FromBody] ProjectDetailsDto projectDetails)
 {
     return(Ok(await _projectService.AddProjectAsync(projectDetails)));
 }