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); }
/// <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); }
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) }); }
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); }
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); }
public async Task <ActionResult <Project> > AddProjectAsync([FromBody] ProjectDetailsDto projectDetails) { return(Ok(await _projectService.AddProjectAsync(projectDetails))); }