public ActionResult DetailMovement(int?id) { var detailMovements = _context.DetailPrograms.Where(a => a.ProgramId == id).ToList(); var viewmodel = new ProgramDetailViewModel { detailProg = detailMovements }; ViewBag.ProgId = id; return(View("/Views/Movement/MovementDetail.cshtml", viewmodel)); }
private void Modal_ProgramUploadEvent(ProgramDetailViewModel obj) { currentProgramDetail = obj; RealReadWriterEvent?.Invoke(new HubReadWriterModel() { ProxyName = "ProgramTransferInOut", Action = "UploadProgramToCNC", Id = "uploadProgramToCNC", Data = new object[] { lpViewModel.SelectedProgramViewModel?.FillName, obj.SelectedProgramFolders.Folder } }); }
public void SetSelectProgramDetail(ProgramDetailViewModel pds) { upLoadProViewModel.ProgramDetail = pds; if (!string.IsNullOrEmpty(pds.Material)) { upLoadProViewModel.SelectedMaterialId = (int)upLoadProViewModel.MaterialTypeList.FirstOrDefault(n => n.Name_CN == pds.Material)?.Code; } if (!string.IsNullOrEmpty(pds.NozzleKind)) { upLoadProViewModel.SelectedNozzleKindCode = (int)upLoadProViewModel.NozzleKindList.FirstOrDefault(n => n.Name_CN == pds.NozzleKind)?.Code; } }
public async Task <IActionResult> Edit(int id) { try { PageTitle = "Edit Program"; var site = await GetCurrentSiteAsync(); var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var program = await _siteService.GetProgramByIdAsync(id); var dailyLiteracyTipList = await _dailyLiteracyTipService.GetListAsync(); var pointTranslationList = await _pointTranslationService.GetListAsync(); var viewModel = new ProgramDetailViewModel() { Program = program, Action = nameof(Edit), AgeValues = Convert.ToInt32(program.AskAge) + Convert.ToInt32(program.AgeRequired), SchoolValues = Convert.ToInt32(program.AskSchool) + Convert.ToInt32(program.SchoolRequired), BadgeMakerUrl = GetBadgeMakerUrl(siteUrl, site.FromEmailAddress), UseBadgeMaker = true, DailyLiteracyTipList = new SelectList(dailyLiteracyTipList, "Id", "Name"), PointTranslationList = new SelectList(pointTranslationList, "Id", "TranslationName") }; if (program.JoinBadgeId.HasValue) { var badge = await _badgeService.GetByIdAsync(program.JoinBadgeId.Value); if (badge != null) { viewModel.BadgePath = _pathResolver.ResolveContentPath(badge.Filename); viewModel.BadgeAltText = badge.AltText; } } return(View("Detail", viewModel)); } catch (GraException gex) { ShowAlertDanger("Unable to view program :", gex); return(RedirectToAction(nameof(Index))); } }
public async Task <IActionResult> Create() { PageTitle = "Create Program"; var site = await GetCurrentSiteAsync(); var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var dailyLiteracyTipList = await _dailyLiteracyTipService.GetListAsync(); var pointTranslationList = await _pointTranslationService.GetListAsync(); var viewModel = new ProgramDetailViewModel() { Action = nameof(Create), BadgeMakerUrl = GetBadgeMakerUrl(siteUrl, site.FromEmailAddress), UseBadgeMaker = true, DailyLiteracyTipList = new SelectList(dailyLiteracyTipList, "Id", "Name"), PointTranslationList = new SelectList(pointTranslationList, "Id", "TranslationName") }; return(View("Detail", viewModel)); }
public async Task <IActionResult> Edit(ProgramDetailViewModel model) { var currentProgram = await _siteService.GetProgramByIdAsync(model.Program.Id); if (string.IsNullOrWhiteSpace(model.Program.JoinBadgeName) && (!string.IsNullOrWhiteSpace(model.BadgeMakerImage) || model.BadgeUploadImage != null || currentProgram.JoinBadgeId.HasValue)) { ModelState.AddModelError("Program.JoinBadgeName", "Please provide a name for the badge"); } if (!string.IsNullOrWhiteSpace(model.Program.JoinBadgeName) && string.IsNullOrWhiteSpace(model.BadgeMakerImage) && model.BadgeUploadImage == null && currentProgram.JoinBadgeId.HasValue == false) { ModelState.AddModelError("BadgemakerImage", "Please provide an image for the badge."); } if (model.BadgeUploadImage != null && (string.IsNullOrWhiteSpace(model.BadgeMakerImage) || !model.UseBadgeMaker) && (Path.GetExtension(model.BadgeUploadImage.FileName).ToLower() != ".jpg" && Path.GetExtension(model.BadgeUploadImage.FileName).ToLower() != ".jpeg" && Path.GetExtension(model.BadgeUploadImage.FileName).ToLower() != ".png")) { ModelState.AddModelError("BadgeUploadImage", "Please use a .jpg or .png image."); } if (model.Program.AgeMaximum < model.Program.AgeMinimum) { ModelState.AddModelError("Program.AgeMaximum", "The maximum age cannot be lower than the minimum age."); } if (ModelState.IsValid) { try { if (model.BadgeUploadImage != null || !string.IsNullOrWhiteSpace(model.BadgeMakerImage)) { byte[] badgeBytes; string filename; if (!string.IsNullOrWhiteSpace(model.BadgeMakerImage) && (model.BadgeUploadImage == null || model.UseBadgeMaker)) { var badgeString = model.BadgeMakerImage.Split(',').Last(); badgeBytes = Convert.FromBase64String(badgeString); filename = "badge.png"; } else { using (var fileStream = model.BadgeUploadImage.OpenReadStream()) { using (var ms = new MemoryStream()) { fileStream.CopyTo(ms); badgeBytes = ms.ToArray(); } } filename = Path.GetFileName(model.BadgeUploadImage.FileName); } if (model.Program.JoinBadgeId.HasValue) { var existing = await _badgeService .GetByIdAsync(model.Program.JoinBadgeId.Value); existing.Filename = Path.GetFileName(model.BadgePath); await _badgeService.ReplaceBadgeFileAsync(existing, badgeBytes); } else { var newBadge = new Badge { Filename = filename }; var badge = await _badgeService.AddBadgeAsync(newBadge, badgeBytes); model.Program.JoinBadgeId = badge.Id; } } if (!string.IsNullOrWhiteSpace(model.Program.JoinBadgeName)) { model.Program.JoinBadgeName = model.Program.JoinBadgeName.Trim(); } model.Program.AskAge = model.AgeValues >= 1; model.Program.AgeRequired = model.AgeValues == 2; model.Program.AskSchool = model.SchoolValues >= 1; model.Program.SchoolRequired = model.SchoolValues == 2; model.Program.Name = model.Program.Name.Trim(); await _siteService.UpdateProgramAsync(model.Program); ShowAlertSuccess($"Saved Program \"{model.Program.Name}\"!"); return(RedirectToAction(nameof(Edit), new { id = model.Program.Id })); } catch (GraException gex) { ShowAlertDanger("Unable to edit Program: ", gex); } } var dailyLiteracyTipList = await _dailyLiteracyTipService.GetListAsync(); var pointTranslationList = await _pointTranslationService.GetListAsync(); model.DailyLiteracyTipList = new SelectList(dailyLiteracyTipList, "Id", "Name"); model.PointTranslationList = new SelectList(pointTranslationList, "Id", "TranslationName"); PageTitle = "Edit Program"; return(View("Detail", model)); }
public async Task <IActionResult> Create(ProgramDetailViewModel model) { byte[] badgeBytes = null; if (!string.IsNullOrWhiteSpace(model.Program.JoinBadgeName) || !string.IsNullOrWhiteSpace(model.BadgeMakerImage) || model.BadgeUploadImage != null) { if (string.IsNullOrWhiteSpace(model.Program.JoinBadgeName)) { ModelState.AddModelError("Program.JoinBadgeName", "Please provide a name for the badge"); } if (string.IsNullOrWhiteSpace(model.BadgeMakerImage) && model.BadgeUploadImage == null) { ModelState.AddModelError("BadgePath", "Please provide an image for the badge."); } else if (model.BadgeUploadImage != null && (string.IsNullOrWhiteSpace(model.BadgeMakerImage) || !model.UseBadgeMaker)) { if (!ValidImageExtensions.Contains( Path.GetExtension(model.BadgeUploadImage.FileName).ToLowerInvariant())) { ModelState.AddModelError("BadgeUploadImage", $"Image must be one of the following types: {string.Join(", ", ValidImageExtensions)}"); } try { using (var ms = new MemoryStream()) { await model.BadgeUploadImage.CopyToAsync(ms); badgeBytes = ms.ToArray(); } await _badgeService.ValidateBadgeImageAsync(badgeBytes); } catch (GraException gex) { ModelState.AddModelError("BadgeUploadImage", gex.Message); } } } if (model.Program.AgeMaximum < model.Program.AgeMinimum) { ModelState.AddModelError("Program.AgeMaximum", "The maximum age cannot be lower than the minimum age."); } if (ModelState.IsValid) { try { if (model.BadgeUploadImage != null || !string.IsNullOrWhiteSpace(model.BadgeMakerImage)) { string filename; if (!string.IsNullOrWhiteSpace(model.BadgeMakerImage) && (model.BadgeUploadImage == null || model.UseBadgeMaker)) { var badgeString = model.BadgeMakerImage.Split(',').Last(); badgeBytes = Convert.FromBase64String(badgeString); filename = "badge.png"; } else { if (badgeBytes == null) { using (var ms = new MemoryStream()) { await model.BadgeUploadImage.CopyToAsync(ms); badgeBytes = ms.ToArray(); } } filename = Path.GetFileName(model.BadgeUploadImage.FileName); } var newBadge = new Badge { Filename = filename }; var badge = await _badgeService.AddBadgeAsync(newBadge, badgeBytes); model.Program.JoinBadgeId = badge.Id; model.Program.JoinBadgeName = model.Program.JoinBadgeName.Trim(); } model.Program.AskAge = model.AgeValues >= 1; model.Program.AgeRequired = model.AgeValues == 2; model.Program.AskSchool = model.SchoolValues >= 1; model.Program.SchoolRequired = model.SchoolValues == 2; model.Program.Name = model.Program.Name.Trim(); var program = await _siteService.AddProgramAsync(model.Program); ShowAlertSuccess($"Added Program \"{program.Name}\"!"); return(RedirectToAction(nameof(Edit), new { id = program.Id })); } catch (GraException gex) { ShowAlertDanger("Unable to add Program: ", gex); } } var dailyLiteracyTipList = await _dailyLiteracyTipService.GetListAsync(); var pointTranslationList = await _pointTranslationService.GetListAsync(); model.DailyLiteracyTipList = new SelectList(dailyLiteracyTipList, "Id", "Name"); model.PointTranslationList = new SelectList(pointTranslationList, "Id", "TranslationName"); PageTitle = "Create Program"; return(View("Detail", model)); }
private void UpLoadProViewModel_GetDetailModelEvent(ProgramDetailViewModel obj) { obj.FileHashCode = fileHash; obj.SelectedProgramFolders = ((ReadProgramFolderItemViewModel)this.CNCPathCascader.SelectedValues[this.CNCPathCascader.SelectedValues.Count - 1]); ProgramUploadEvent?.Invoke(obj); }
public void DoWork(HubReadWriterResultModel resultModel) { if (resultModel.Id == "ReadProgramEvent") { JObject jObject = JObject.Parse(resultModel.Result.ToString()); if (jObject != null && modalControl != null) { var obj = new ProgramDetailViewModel { Name = jObject["name"]?.ToString(), FullPath = jObject["fullPath"]?.ToString(), Size = Convert.ToDouble(jObject["size"]?.ToString()), Material = jObject["material"]?.ToString(), Thickness = Convert.ToDouble(jObject["thickness"] ?? "0"), Gas = jObject["gas"]?.ToString(), FocalPosition = Convert.ToDouble(jObject["focalPosition"] ?? "0"), NozzleKind = jObject["nozzleKind"]?.ToString(), NozzleDiameter = Convert.ToDouble(jObject["nozzleDiameter"] ?? "0"), PlateSizeHeight = Convert.ToDouble(jObject["plateSize_H"] ?? "0"), UsedPlateSizeHeigth = Convert.ToDouble(jObject["usedPlateSize_H"] ?? "0"), PlateSizeWidth = Convert.ToDouble(jObject["plateSize_W"] ?? "0"), UsedPlateSizeWidth = Convert.ToDouble(jObject["usedPlateSize_W"] ?? "0"), CuttingDistance = Convert.ToDouble(jObject["cuttingDistance"] ?? "0"), PiercingCount = Convert.ToInt32(jObject["piercingCount"] ?? "0"), Max_X = Convert.ToInt32(jObject["max_X"] ?? "0"), Max_Y = Convert.ToInt32(jObject["max_Y"] ?? "0"), Min_X = Convert.ToInt32(jObject["min_X"] ?? "0"), Min_Y = Convert.ToInt32(jObject["min_Y"] ?? "0"), CuttingTime = Convert.ToInt32(jObject["cuttingTime"] ?? "0"), ThumbnaiType = Convert.ToInt32(jObject["thumbnaiType"] ?? "0"), ThumbnaiInfo = jObject["thumbnaiInfo"]?.ToString() }; modalControl.SetSelectProgramDetail(obj); } return; } string name = resultModel.Result.ToString(); Task.Factory.StartNew(new Action(() => { EventBus.Default.Trigger(new UpdateProgramClientEventData() { Data = new Common.UpdateProgramDto() { FileHash = currentProgramDetail?.FileHashCode, CuttingDistance = Convert.ToDouble(currentProgramDetail?.CuttingDistance), CuttingTime = Convert.ToDouble(currentProgramDetail?.CuttingTime), FocalPosition = Convert.ToDouble(currentProgramDetail?.FocalPosition), FullPath = currentProgramDetail?.SelectedProgramFolders.Folder, Gas = currentProgramDetail.Gas, Material = currentProgramDetail.Material, Name = name, NozzleDiameter = currentProgramDetail.NozzleDiameter, NozzleKind = currentProgramDetail.NozzleKind, PiercingCount = currentProgramDetail.PiercingCount, Size = currentProgramDetail.Size, Thickness = currentProgramDetail.Thickness, UpdateTime = DateTime.Now, Max_X = currentProgramDetail.Max_X, Max_Y = currentProgramDetail.Max_Y, Min_X = currentProgramDetail.Min_X, Min_Y = currentProgramDetail.Min_Y, PlateSize_H = currentProgramDetail.PlateSizeHeight, PlateSize_W = currentProgramDetail.PlateSizeWidth, UsedPlateSize_H = currentProgramDetail.UsedPlateSizeHeigth, UsedPlateSize_W = currentProgramDetail.UsedPlateSizeWidth, ThumbnaiInfo = currentProgramDetail.ThumbnaiInfo, ThumbnaiType = currentProgramDetail.ThumbnaiType } }); })); Messenger.Default.Send(new PopupMsg { IsClose = true }); this.lpViewModel.LocalProgramList.FirstOrDefault(n => n.FileHash == currentProgramDetail?.FileHashCode)?.SetProgramLoad(name); Messenger.Default.Send(new Common.ViewModel.NotifiactionModel() { Title = "上传成功", Content = $"程序{name}上传成功!" + DateTime.Now, NotifiactionType = Common.ViewModel.EnumPromptType.Success }); }