/// <summary> /// Add a resource to the transfer request. /// </summary> /// <param name="resource">The <see cref="OrbitalLogisticsResource"/> to transfer from the source <see cref="Vessel"/>.</param> /// <param name="amount">The amount to transfer to the destination <see cref="Vessel"/>.</param> /// <returns></returns> public OrbitalLogisticsTransferRequestResource AddResource(OrbitalLogisticsResource resource, double amount) { // Determine if requested transfer amount is feasible double available = resource.GetAvailableAmount(); if (amount > available) { amount = available; } // Check if there is already a transfer setup for the selected resource var transferResource = ResourceRequests.Where(r => r.ResourceDefinition.id == resource.ResourceDefinition.id).SingleOrDefault(); if (transferResource == null) { // Add the resource to the transfer request transferResource = new OrbitalLogisticsTransferRequestResource(resource.ResourceDefinition, amount); ResourceRequests.Add(transferResource); } else { transferResource.TransferAmount = amount; } // Update duration CalculateDuration(); return(transferResource); }
/// <summary> /// Serializes the object to JSON. /// </summary> /// <param name="writer">The <see cref="T: Newtonsoft.Json.JsonWriter" /> to write to.</param> /// <param name="obj">The object to serialize to JSON.</param> internal static void Serialize(JsonWriter writer, ResourceRequests obj) { // Required properties are always serialized, optional properties are serialized when not null. writer.WriteStartObject(); writer.WriteProperty(obj.MemoryInGB, "memoryInGB", JsonWriterExtensions.WriteDoubleValue); writer.WriteProperty(obj.Cpu, "cpu", JsonWriterExtensions.WriteDoubleValue); writer.WriteEndObject(); }
/// <summary> /// Implementation of <see cref="IConfigNode.Load(ConfigNode)"/>. /// </summary> /// <param name="node"></param> public void Load(ConfigNode node) { ConfigNode.LoadObjectFromConfig(this, node); if (ResourceRequests == null) { ResourceRequests = new List <OrbitalLogisticsTransferRequestResource>(); } foreach (ConfigNode subNode in node.nodes) { ResourceRequests.Add(ConfigNode.CreateObjectFromConfig <OrbitalLogisticsTransferRequestResource>(subNode)); } }
public HolidayResponseSync AddResourceHolidaySync(HolidayRequestSync model, int tenantId, int userId) { var request = new ResourceRequests(); request.RequestedDate = model.RequestedDate; request.AllDay = model.IsAllDay == true; request.HolidayReason = model.HolidayReason; request.StartDate = model.StartDate; request.EndDate = model.EndDate; request.ResourceId = _userService.GetResourceIdByUserId(userId); request.RequestType = ResourceRequestTypesEnum.AnnualHoliday; request.RequestStatus = ResourceRequestStatusEnum.Created; request.DateCreated = DateTime.UtcNow; _currentDbContext.ResourceHolidays.Add(request); request.TenantId = tenantId; request.CreatedBy = userId; _currentDbContext.SaveChanges(); var response = new HolidayResponseSync(); Mapper.Map(model, response); return(response); }
private static async Task Create10Instances(ContainerInstanceManagementClient client, string containerGroup, string location, int flag, string guid) { var resources = new ResourceRequirements(); var request = new ResourceRequests(); request.Cpu = 0.2; request.MemoryInGB = 0.3; // once I tried 0.1 it cause a long execution time. resources.Requests = request; var list = new List <Container>(); for (int i = 0; i < 5; i++) { if (flag == 0) { list.Add(CreateClientContainer("DOCKERHUB_NAME/client", i, resources, $"{guid}-{i}")); } else { list.Add(CreateSpamerContainer("DOCKERHUB_NAME/spamer", i, resources, $"{guid}-{i}")); } } await client.ContainerGroups.CreateOrUpdateAsync(resourceGroup, containerGroup, new ContainerGroup() { Containers = list, Location = location, OsType = "Linux", RestartPolicy = "Never" // try not to emit the message by restarting } ); Console.WriteLine($"Done for {containerGroup}"); }