public bool AddSoftwareVersion(SoftwareVersionViewModel softwareVersionViewModel, out string reason) { reason = string.Empty; var newSoftwareVersion = AutoMapper.Mapper.Map <SoftwareVersion>(softwareVersionViewModel); var softwareVersion = _demandDbContext.SoftwareVersions.SingleOrDefault(item => item.VersionName == newSoftwareVersion.VersionName); if (softwareVersion != null) { reason = "已存在名称:" + newSoftwareVersion.VersionName; return(false); } newSoftwareVersion.IsDeleted = 0; _demandDbContext.SoftwareVersions.Add(newSoftwareVersion); _demandDbContext.SaveChanges(); return(true); }
public async Task <bool> InsertAsync(SoftwareVersionViewModel viewModel) { var entity = new SoftwareVersion() { Id = viewModel.Id, Name = viewModel.Name, ReleaseNote = viewModel.ReleaseNote, Description = viewModel.Description, }; await _softwareVersions.AddAsync(entity); var result = await _unitOfWork.SaveChangesAsync(); return(result != 0); }
async void OnCancelClicked() { _editing = false; if (_creating) { NavigationManager.ToBaseRelativePath("admin/software_versions"); return; } _model = await Service.GetAsync(Id); SetCheckboxes(); StateHasChanged(); }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (_loaded) { return; } _loaded = true; _creating = NavigationManager.ToBaseRelativePath(NavigationManager.Uri).ToLowerInvariant(). StartsWith("admin/software_versions/create", StringComparison.InvariantCulture); if (Id <= 0 && !_creating) { return; } _softwareVersions = await Service.GetAsync(); _softwareFamilies = await SoftwareFamiliesService.GetAsync(); _licenses = await LicensesService.GetAsync(); _companies = await CompaniesService.GetAsync(); _roles = await DocumentRolesService.GetEnabledAsync(); _model = _creating ? new SoftwareVersionViewModel() : await Service.GetAsync(Id); _authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); _addingCompanyRoleId = _roles.First().Id; _softwareVersionCompanies = await CompaniesBySoftwareVersionService.GetBySoftwareVersion(Id); _editing = _creating || NavigationManager.ToBaseRelativePath(NavigationManager.Uri).ToLowerInvariant(). StartsWith("admin/software_versions/edit/", StringComparison.InvariantCulture); if (_editing) { SetCheckboxes(); } StateHasChanged(); }
public async Task <bool> UpdateAsync(SoftwareVersionViewModel viewModel) { var entity = await _softwareVersions.FindAsync(viewModel.Id); if (entity != null) { entity.Name = viewModel.Name; entity.ReleaseNote = viewModel.ReleaseNote; entity.Description = viewModel.Description; var result = await _unitOfWork.SaveChangesAsync(); return(result != 0); } return(await Task.FromResult(false)); }
public IActionResult EditSoftwareVersion(SoftwareVersionViewModel softwareVersionView) { if (ModelState.IsValid == false) { return(Json(new { result = false, reason = ModelState.GetErrorMessage() })); } var result = _service.UpdateSoftwareVersion(softwareVersionView, out var reason); return(Json(new { result = result, reason = reason })); }
public async Task <IActionResult> Create(SoftwareVersionViewModel viewModel) { if (ModelState.IsValid) { if (await _softwareVersionService.CheckExistNameAsync(viewModel.Id, viewModel.Name)) { ModelState.AddModelError(nameof(viewModel.Name), "نام وارد شده تکراری است"); return(View(viewModel)); } var result = await _softwareVersionService.InsertAsync(viewModel); if (result) { return(RedirectToAction("Index", "SoftwareVersions")); } return(View(viewModel)); } return(View(viewModel)); }
public async Task <IActionResult> Delete(SoftwareVersionViewModel viewModel) { var softwareVersionViewModel = await _softwareVersionService.GetByIdAsync(viewModel.Id); if (softwareVersionViewModel == null) { ModelState.AddModelError("", SoftwareVersionNotFound); } else { var result = await _softwareVersionService.DeleteAsync(softwareVersionViewModel.Id); if (result) { return(Json(new { success = true })); } ModelState.AddModelError("", SoftwareVersionNotFound); } return(PartialView("_Delete", model: viewModel)); }
public bool UpdateSoftwareVersion(SoftwareVersionViewModel softwareVersionViewModel, out string reason) { reason = string.Empty; var softwareVersion = _demandDbContext.SoftwareVersions.SingleOrDefault(item => item.Id == softwareVersionViewModel.Id); if (softwareVersion == null) { reason = "未查找到该版本"; return(false); } if (softwareVersion.VersionProgress == VersionProgress.已发布) { reason = "已发布版本不允许修改"; return(false); } //仅名称变了 才需要判断重复 if (softwareVersionViewModel.VersionName != softwareVersion.VersionName) { var sameNameVersion = _demandDbContext.SoftwareVersions.SingleOrDefault(item => item.VersionName == softwareVersionViewModel.VersionName); if (sameNameVersion != null) { reason = "已存在名称:" + sameNameVersion.VersionName; return(false); } } var newSoftwareVersion = AutoMapper.Mapper.Map <SoftwareVersion>(softwareVersionViewModel); softwareVersion.VersionName = newSoftwareVersion.VersionName; softwareVersion.ExpectedStartDate = newSoftwareVersion.ExpectedStartDate; softwareVersion.ExpectedEndDate = newSoftwareVersion.ExpectedEndDate; softwareVersion.ExpectedReleaseDate = newSoftwareVersion.ExpectedReleaseDate; //softwareVersion.ReleaseDate = newSoftwareVersion.ReleaseDate; softwareVersion.VersionProgress = newSoftwareVersion.VersionProgress; softwareVersion.Remarks = newSoftwareVersion.Remarks; _demandDbContext.SaveChanges(); return(true); }
public async Task <IActionResult> RenderCreate() { var viewModel = new SoftwareVersionViewModel(); return(View("Create", viewModel)); }
void ModalClosing(ModalClosingEventArgs obj) => _currentSoftwareVersion = null;
void ShowModal(ulong itemId) { _currentSoftwareVersion = _softwareVersions.FirstOrDefault(n => n.Id == itemId); _frmDelete.Show(); }
async void OnSaveClicked() { if (_unknownName) { _model.Name = null; } else if (string.IsNullOrWhiteSpace(_model.Name)) { return; } if (_unknownCodename) { _model.Codename = null; } else if (string.IsNullOrWhiteSpace(_model.Codename)) { return; } if (_unknownLicense) { _model.LicenseId = null; } else if (_model.LicenseId < 1) { return; } if (_unknownPrevious) { _model.PreviousId = null; } else if (_model.PreviousId < 1) { return; } if (_unknownIntroduced) { _model.Introduced = null; } else if (_model.Introduced?.Date >= DateTime.UtcNow.Date) { return; } if (string.IsNullOrWhiteSpace(_model.Version)) { return; } if (_creating) { Id = await Service.CreateAsync(_model, (await UserManager.GetUserAsync(_authState.User)).Id); } else { await Service.UpdateAsync(_model, (await UserManager.GetUserAsync(_authState.User)).Id); } _editing = false; _creating = false; _model = await Service.GetAsync(Id); SetCheckboxes(); StateHasChanged(); }