public async Task <IActionResult> ArchiveDrawing(Guid?id, DrawingArchiveType archiveType)
        {
            if (id == null)
            {
                return(NotFound());
            }
            SetUIDs();
            var partInfo = await _repo.GetStaticPartInfo(id);

            if (archiveType == DrawingArchiveType.BlankDrawingArchive)
            {
                BlankDrawingArchive archive = new()
                {
                    DrawingArchiveId    = Guid.NewGuid(),
                    TimeStamp           = DateTime.Now,
                    StaticPartInfoId    = (Guid)id,
                    DrawingArchiveBytes = partInfo.BlankDrawingPdfBytes
                };
                await _repo.AddBlankDrawingArchive(archive);
            }
            else if (archiveType == DrawingArchiveType.FinishDrawingArchive)
            {
                FinishDrawingArchive archive = new()
                {
                    DrawingArchiveId    = Guid.NewGuid(),
                    TimeStamp           = DateTime.Now,
                    StaticPartInfoId    = (Guid)id,
                    DrawingArchiveBytes = partInfo.FinishDrawingPdfBytes
                };
                await _repo.AddFinishDrawingArchive(archive);
            }

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> ArchiveDrawing(Guid id, DrawingArchiveType archiveType)
        {
            ViewBag.ArchiveType = archiveType;
            DrawingArchiveViewModel vm = new()
            {
                StaticPartInfo = await _repo.GetStaticPartInfo(id)
            };

            if (archiveType == DrawingArchiveType.BlankDrawingArchive)
            {
                vm.DrawingArchives = await _repo.GetAllBlankDrawingArchivesForPart(id);
            }
            else if (archiveType == DrawingArchiveType.FinishDrawingArchive)
            {
                vm.DrawingArchives = await _repo.GetAllFinishDrawingArchivesForPart(id);
            }
            return(View(vm));
        }
        public async Task <IActionResult> SetArchiveName([Bind("StaticPartInfoId,ArchiveName")] DrawingArchive drawing, DrawingArchiveType archiveType)
        {
            if (ModelState.IsValid)
            {
                drawing.TimeStamp        = DateTime.Now;
                drawing.DrawingArchiveId = Guid.NewGuid();
                var staticPartInfo = await _repo.GetStaticPartInfo(drawing.StaticPartInfoId);

                SetUIDs();

                if (archiveType == DrawingArchiveType.BlankDrawingArchive)
                {
                    drawing.DrawingArchiveBytes = staticPartInfo.BlankDrawingPdfBytes;
                    await _repo.AddBlankDrawingArchive(BlankDrawingArchive.CastDrawingArchiveToBlank(drawing)); return(Json(new { isValid = true, html = Helper.RenderRazorViewToString(this, "_DrawingArchives", await _repo.GetAllBlankDrawingArchivesForPart(drawing.StaticPartInfoId)) }));
                }
                else if (archiveType == DrawingArchiveType.FinishDrawingArchive)
                {
                    drawing.DrawingArchiveBytes = staticPartInfo.FinishDrawingPdfBytes;
                    await _repo.AddFinishDrawingArchive(FinishDrawingArchive.CastDrawingArchiveToFinish(drawing));

                    return(Json(new { isValid = true, html = Helper.RenderRazorViewToString(this, "_DrawingArchives", await _repo.GetAllFinishDrawingArchivesForPart(drawing.StaticPartInfoId)) }));
                }
            }
            return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "SetArchiveName", drawing) }));
        }
 public IActionResult SetArchiveName(Guid staticPartInfoId, DrawingArchiveType archiveType)
 {
     ViewBag.ArchiveType      = archiveType;
     ViewBag.StaticPartInfoId = staticPartInfoId;
     return(View());
 }