public async Task <IActionResult> PutTravelOrderDocumentItem(long id, TravelOrderDocumentItem travelOrderDocumentItem) { if (id != travelOrderDocumentItem.Id) { return(BadRequest()); } _context.Entry(travelOrderDocumentItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TravelOrderDocumentItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <TravelOrderDocumentItem> > PostTravelOrderDocumentItem(TravelOrderDocumentItem travelOrderDocumentItem) { _context.TravelOrderDocumentItems.Add(travelOrderDocumentItem); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTravelOrderDocumentItem", new { id = travelOrderDocumentItem.Id }, travelOrderDocumentItem)); }
public List <TravelOrderDocumentItem> GenerateDocumentsFromData() { List <TravelOrderDocumentItem> travelOrderDocumentItems = new List <TravelOrderDocumentItem>(); using (var mainDoc = WordprocessingDocument.Open(_documentTemplatePath, false)) { foreach (var travelOrderDataItem in _travelOrderDataItems) { var newDocumentPath = Path.Combine(_generatedDocumentsPath, _listId.ToString(), travelOrderDataItem.FileName); Directory.CreateDirectory(Path.GetDirectoryName(newDocumentPath)); using var generatedDocument = WordprocessingDocument.Create(newDocumentPath, WordprocessingDocumentType.Document); // copy parts from source document to new document foreach (var part in mainDoc.Parts) { generatedDocument.AddPart(part.OpenXmlPart, part.RelationshipId); } IDictionary <String, BookmarkStart> bookmarkMap = new Dictionary <String, BookmarkStart>(); foreach (BookmarkStart bookmarkStart in generatedDocument.MainDocumentPart.RootElement.Descendants <BookmarkStart>()) { bookmarkMap[bookmarkStart.Name] = bookmarkStart; } foreach (BookmarkStart bookmarkStart in bookmarkMap.Values) { OpenXmlElement elem = bookmarkStart.NextSibling(); while (elem != null && !(elem is BookmarkEnd)) { OpenXmlElement nextElem = elem.NextSibling(); elem.Remove(); elem = nextElem; } switch (bookmarkStart.Name.Value) { case "Zaposleni": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.Employee)), bookmarkStart); break; case "Skracenica": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.InitialsShorthand)), bookmarkStart); break; case "RedniBroj": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.OrderNumber)), bookmarkStart); break; case "RadnoMesto": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.Role)), bookmarkStart); break; case "Mesto": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.City)), bookmarkStart); break; case "DateStart": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.DateStart)), bookmarkStart); break; case "DateEnd": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.DateEnd)), bookmarkStart); break; case "DatePaid": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.DatePaid)), bookmarkStart); break; case "NumberOfDays": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.NumberOfDays)), bookmarkStart); break; case "AmountPerDay": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.AmountPerDay)), bookmarkStart); break; case "AmountSumForDays": bookmarkStart.Parent.InsertAfter <Run>(new Run(new Text(travelOrderDataItem.AmountSumForDays)), bookmarkStart); break; } } var travelOrderDocumentItem = new TravelOrderDocumentItem { ListId = _listId, Name = travelOrderDataItem.FileName, Path = newDocumentPath }; travelOrderDocumentItems.Add(travelOrderDocumentItem); } } return(travelOrderDocumentItems); }