public Result <ItSystemUsage.ItSystemUsage, OperationError> RemoveSystem(ItSystemUsage.ItSystemUsage systemUsage) { if (systemUsage == null) { throw new ArgumentNullException(nameof(systemUsage)); } if (GetAssignedSystemUsage(systemUsage.Id).IsNone) { return(new OperationError("Usage not assigned", OperationFailure.BadInput)); } SystemUsages.Remove(systemUsage); return(systemUsage); }
public Result <ItSystemUsage.ItSystemUsage, OperationError> AssignSystem(ItSystemUsage.ItSystemUsage systemUsage) { if (systemUsage == null) { throw new ArgumentNullException(nameof(systemUsage)); } if (GetAssignedSystemUsage(systemUsage.Id).HasValue) { return(new OperationError("System usage is already assigned", OperationFailure.Conflict)); } SystemUsages.Add(systemUsage); return(systemUsage); }
private Maybe <ItSystemUsage.ItSystemUsage> GetAssignedSystemUsage(int usageId) { return(SystemUsages.FirstOrDefault(x => x.Id == usageId).FromNullable()); }