public async Task SaveChangesAsync_WhenUpdateObjectIsInvalid_ShouldReturnFalse() { var detail = new ComponentTypeDetail(); var result = await _componentTypeDetailService.SaveChangesAsync(detail); Assert.IsFalse(result); }
public async Task SaveChangesAsync_WhenNewObjectIsValid_ShouldReturnTrue() { var detail = new ComponentTypeDetail { Name = "", Unit = "", Symbol = "", IsPrimary = true, ComponentTypeId = 1, CreatedDateTime = DateTime.UtcNow, CreatedByUserId = "7b26038d-1a43-4248-90e1-dc7f0381d7fa", IsActive = true }; var result = await _componentTypeDetailService.SaveChangesAsync(detail); Assert.IsTrue(result); }
public async Task <IActionResult> ComponentTypeDetail(ComponentTypeDetailInputModel model) { if (!ModelState.IsValid) { return(View(model)); } var detail = await _componentTypeDetailService.GetByIdAsync(model.Id); if (detail == null) { detail = new ComponentTypeDetail { Name = model.Name, Unit = model.Unit, Symbol = model.Symbol, IsPrimary = model.IsPrimary, ComponentTypeId = model.ComponentTypeId, CreatedDateTime = DateTime.UtcNow, CreatedByUserId = _userManager.GetUserId(User), IsActive = true }; } else { detail.Name = model.Name; detail.Unit = model.Unit; detail.Symbol = model.Symbol; detail.LastUpdatedDateTime = DateTime.UtcNow; detail.LastUpdatedByUserId = _userManager.GetUserId(User); } if (model.IsPrimary) { detail.IsPrimary = model.IsPrimary; await _componentTypeDetailService.ResetPrimaryStatuses(detail); } await _componentTypeDetailService.SaveChangesAsync(detail); return(Redirect($"/Admin/ComponentType?componentTypeId={model.ComponentTypeId}")); }
public async Task <bool> SaveChangesAsync(ComponentTypeDetail detail) { try { if (detail.Id == 0) { await _context.AddAsync(detail); } else { _context.Update(detail); } await _context.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
public async Task <bool> ResetPrimaryStatuses(ComponentTypeDetail detail) { if (detail == null || detail.Id == 0) { return(false); } var details = _context.ComponentTypeDetails .Where(x => x.ComponentTypeId == detail.ComponentTypeId && x.Id != detail.Id); await details.ForEachAsync(x => x.IsPrimary = false); try { await _context.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }