static void Main(string[] args) { var idProvider = new IdProvider(); var consoleLogger = new ConsooleLogger(); var manager = new TaskManager(idProvider, consoleLogger); var task = new Task("Some task"); manager.Add(task); }
public void Save(UserAccount item) { if (item == null) { throw new ArgumentException("Null item"); } DateTime now = DateTime.Now; string id = null; #if DEBUG if (item.NaasAccount.StartsWith("uid=")) { DebugUtils.CheckDebuggerBreak(); } #endif // DEBUG // Check to see if this user already exists if (string.IsNullOrEmpty(item.Id)) { string existingUserId = GetUserIdByName(item.NaasAccount); if (existingUserId != null) { item.Id = existingUserId; } } TransactionTemplate.Execute(delegate { // Update user account table if (string.IsNullOrEmpty(item.Id)) { id = IdProvider.Get(); DoInsert(TABLE_NAME, "Id;NAASAccount;IsActive;SystemRole;ModifiedBy;ModifiedOn;IsDeleted", id, item.NaasAccount, DbUtils.ToDbBool(item.IsActive), item.Role.ToString(), item.ModifiedById, now, DbUtils.ToDbBool(false)); } else { id = item.Id; DoSimpleUpdateOne(TABLE_NAME, "Id", item.Id.ToString(), "NAASAccount;IsActive;SystemRole;ModifiedBy;ModifiedOn", item.NaasAccount, DbUtils.ToDbBool(item.IsActive), item.Role.ToString(), item.ModifiedById, now); } // Update policies DeleteAllPoliciesForUser(id); if (item.Role != SystemRoleType.Admin) { SavePoliciesForUser(id, item.Policies); } return(null); }); if (string.IsNullOrEmpty(item.Id)) { item.Id = id; } item.ModifiedOn = now; }
private void SavePoliciesForUser(string accountId, IList <UserAccessPolicy> policies) { if (CollectionUtils.IsNullOrEmpty(policies)) { return; } DateTime now = DateTime.Now; object[] insertValues = new object[7]; DoBulkInsert(POLICY_TABLE_NAME, "Id;AccountId;Type;Qualifier;IsAllowed;ModifiedBy;ModifiedOn", delegate(int currentInsertIndex) { if (currentInsertIndex < policies.Count) { UserAccessPolicy policy = policies[currentInsertIndex]; if (string.IsNullOrEmpty(policy.Id)) { policy.Id = IdProvider.Get(); policy.ModifiedOn = now; } else if (policy.ModifiedOn == default(DateTime)) { policy.ModifiedOn = now; } policy.AccountId = accountId; insertValues[0] = policy.Id; insertValues[1] = policy.AccountId; insertValues[2] = policy.PolicyType.ToString(); insertValues[3] = policy.TypeQualifier; switch (policy.FlowRoleType) { case FlowRoleType.Endpoint: insertValues[4] = "Y"; break; case FlowRoleType.View: insertValues[4] = "V"; break; case FlowRoleType.Modify: insertValues[4] = "M"; break; default: insertValues[4] = "N"; break; } insertValues[5] = policy.ModifiedById; insertValues[6] = policy.ModifiedOn; return(insertValues); } else { return(null); } }); }
/// <summary> /// Create a node notification. /// </summary> public string CreateNotification(string transactionId, ComplexNotification notification) { string id = IdProvider.Get(); string notifyData = _serializationHelper.SerializeToBase64String(notification); DoInsert(TABLE_NAME, "Id;TransactionId;NotifyData", id, transactionId, notifyData); return(id); }
public void CreatesTagWithIdFromIdProvider(long nextId) { IdProvider.GetNextIdentifier().Returns(nextId); DataSource.Create("Some tag", 10).Wait(); DataBase.Tags.Received().Create( Arg.Is <IDatabaseTag>(tag => tag.Id == nextId) ).Wait(); }
/// <summary> /// Adds a new note to storage. will return an id for the note. /// </summary> /// <returns></returns> public CreateResponse Create(Note note) { note.Id = IdProvider.New(); note.Created = DateTime.UtcNow; note.Expiry = note.Expiry > DateTime.MinValue ? note.Expiry : DateTime.UtcNow.AddHours(1); return(new CreateResponse { Id = note.Id, Success = Storage.Add(note), Expiry = note.Expiry }); }
public void ThrowArgumentException_WhenMaximumIDReached() { // Arrange uint startId = 1; uint endId = 2; var provider = new IdProvider(startId, endId); uint firstAvailabeId = provider.GenerateID(); uint secondAvailableId = provider.GenerateID(); // No available IDs should left // Act and Assert Assert.ThrowsException <InvalidOperationException>(() => provider.GenerateID()); }
public void IncrementIDsByOne_WhenInvoked() { // Arrange uint expected = 1U; uint startId = 2; uint endId = 10; var provider = new IdProvider(startId, endId); // Act uint firstId = provider.GenerateID(); uint nextId = provider.GenerateID(); // Assert Assert.AreEqual(expected, nextId - firstId); }
private void SaveAndRun(ScheduledItem item, bool?runNow) { if (item == null) { throw new ArgumentException("Null item"); } DateTime now = DateTime.Now; string id = null; bool isRunNow = runNow.HasValue ? runNow.Value : false; string columnNames = "Name;FlowId;StartOn;EndOn;SourceType;SourceId;SourceFlow;SourceOperation;TargetType;" + "TargetId;TargetFlow;TargetOperation;LastExecuteActivityId;LastExecutedOn;NextRun;" + "FrequencyType;Frequency;ModifiedBy;ModifiedOn;IsActive;IsRunNow;ExecuteStatus"; List <object> columnValues = CollectionUtils.CreateList <object>(item.Name, item.FlowId, DbUtils.ToDbDate(item.StartOn), DbUtils.ToDbDate(item.EndOn), item.SourceType.ToString(), item.SourceId, item.SourceFlow ?? string.Empty, item.SourceRequest ?? string.Empty, item.TargetType.ToString(), item.TargetId, item.TargetFlow ?? string.Empty, item.TargetRequest ?? string.Empty, item.LastExecuteActivityId, DbUtils.ToDbDate(item.LastExecutedOn), DbUtils.ToDbDate(item.NextRunOn), item.FrequencyType.ToString(), item.Frequency, item.ModifiedById, now, DbUtils.ToDbBool(item.IsActive), DbUtils.ToDbBool(isRunNow), item.ExecuteStatus.ToString()); if (AreEndpointUsersEnabled) { columnNames += ";SourceEndpointUser;TargetEndpointUser"; columnValues.AddRange(new object[] { item.SourceEndpointUser, item.TargetEndpointUser }); } TransactionTemplate.Execute(delegate { if (string.IsNullOrEmpty(item.Id)) { id = IdProvider.Get(); columnNames = "Id;" + columnNames; columnValues.Insert(0, id); DoInsertWithValues(TABLE_NAME, columnNames, columnValues); } else { DoSimpleUpdateOneWithValues(TABLE_NAME, "Id", item.Id, columnNames, columnValues); } SaveScheduleSourceArgs(id ?? item.Id, item.SourceArgs); return(null); }); if (id != null) { item.Id = id; } item.ModifiedOn = now; }
public void Save(AccountAuthorizationRequest item) { if (item == null) { throw new ArgumentException("Null item"); } string id = null; TransactionTemplate.Execute(delegate { string authorizationAccountId = null, authorizationComments = null; DateTime authorizationGeneratedOn = DbUtils.DB_MIN_DATE; string didCreateInNaas = null; if (item.Response != null) { authorizationAccountId = item.Response.AuthorizationAccountId; authorizationComments = item.Response.AuthorizationComments; authorizationGeneratedOn = item.Response.AuthorizationGeneratedOn; didCreateInNaas = DbUtils.ToDbBool(item.Response.DidCreateInNaas); } if (string.IsNullOrEmpty(item.Id)) { id = IdProvider.Get(); DoInsert(TABLE_NAME, MAP_AUTH_REQUEST_COLUMNS, id, item.TransactionId, item.RequestGeneratedOn, item.RequestType, item.NaasAccount, item.FullName, item.OrganizationAffiliation, item.TelephoneNumber, item.EmailAddress, item.AffiliatedNodeId, item.AffiliatedCounty, item.PurposeDescription, StringUtils.Join(",", item.RequestedNodeIds), authorizationAccountId, authorizationComments, authorizationGeneratedOn, didCreateInNaas); } else { id = item.Id; DoSimpleUpdateOne(TABLE_NAME, "Id", id, MAP_AUTH_REQUEST_COLUMNS, id, item.TransactionId, item.RequestGeneratedOn, item.RequestType, item.NaasAccount, item.FullName, item.OrganizationAffiliation, item.TelephoneNumber, item.EmailAddress, item.AffiliatedNodeId, item.AffiliatedCounty, item.PurposeDescription, StringUtils.Join(",", item.RequestedNodeIds), authorizationAccountId, authorizationComments, authorizationGeneratedOn, didCreateInNaas); } // Update flow requests DeleteAllFlowsForRequest(id); SaveRequestedFlows(id, item.RequestedFlows); return(null); }); if (string.IsNullOrEmpty(item.Id)) { item.Id = id; } }
static void Main(string[] args) { var consoleLogger = new ConsoleLogger(); var idProvider = new IdProvider(); var taskManager = new Tasker(consoleLogger, idProvider); var task1 = new Task("Buy something", DateTime.Now.AddDays(2)); var task2 = new Task("Move something.", DateTime.Now.AddDays(2)); var task3 = new Task("Get something.", DateTime.Now.AddDays(2)); taskManager.Save(task1); taskManager.Save(task2); taskManager.Delete(2); taskManager.Save(task3); }
static void Main() { var fileLogger = new FileLogger(); var consoleLogger = new ConsoleLogger(); var idProvider = new IdProvider(); var taskManager = new Tasker(consoleLogger, idProvider); var task1 = new taskManager.Models.Task("Kupi hlqb"); var task2 = new taskManager.Models.Task("IzmiiKolata", DateTime.Now.AddDays(2)); var task3 = new taskManager.Models.Task("Kupi bira", DateTime.Now); taskManager.save(task1); taskManager.save(task2); taskManager.Delete(2); taskManager.save(task3); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var carRepository = new CarFileRepository("cars.json"); var clientRepository = new ClientRepository("clients.json"); var idProvider = IdProvider.CreateIdProvider(carRepository, clientRepository); var setting = new CarRentSettings(Configuration.GetValue <int>("MaxRentsWithoutCheckup"), Configuration.GetValue <TimeSpan>("CheckupTime")); var administratorCarRental = new AdministratorCarRental(carRepository, idProvider); var clientCarRental = new ClientCarRental(carRepository, clientRepository, idProvider, setting); services.AddSingleton <IAdministratorCarRental>(administratorCarRental); services.AddSingleton <IClientCarRental>(clientCarRental); ConfigureSecurity(services); services.AddMvc(o => o.Filters.Add(new ExceptionFilter())); }
public void LimitTest() { IdProvider provider = new IdProvider(0, 1, 5); Assert.AreEqual(0, provider.Next()); Assert.AreEqual(1, provider.Next()); Assert.AreEqual(2, provider.Next()); Assert.AreEqual(3, provider.Next()); Assert.AreEqual(4, provider.Next()); Assert.AreEqual(5, provider.Next()); Assert.Throws <ArgumentOutOfRangeException>(() => provider.Next()); provider.Remove(2); provider.Remove(3); Assert.DoesNotThrow(() => _ = provider.Next()); Assert.DoesNotThrow(() => _ = provider.Next()); Assert.Throws <ArgumentOutOfRangeException>(() => provider.Next()); }
List <ActionObjectPath> IFieldUpdateStrategy.GetFieldUpdateAction(CSOMItemField fld, Identity identity) { //Get field ObjectPathMethod getFieldByInternalNameMethod = new ObjectPathMethod { Id = IdProvider.GetActionId(), ParentId = FieldsProperty.Id, Name = "GetByInternalNameOrTitle", Parameters = new MethodParameter() { Properties = new List <Parameter>() { new Parameter() { Type = "String", Value = fld.FieldName } } } }; MethodAction setFieldValueByValue = new MethodAction { ObjectPathId = getFieldByInternalNameMethod.Id.ToString(), Id = IdProvider.GetActionId(), Name = "SetFieldValueByValue", Parameters = fld.GetRequestParameters(identity.Id) }; return(new List <ActionObjectPath>() { new ActionObjectPath() { Action = setFieldValueByValue, ObjectPath = getFieldByInternalNameMethod } }); }
/// <summary> /// Create a new data request according to the input parameters and return the /// data request id. /// </summary> public string CreateDataRequest(string transactionId, string serviceId, int rowIndex, int maxRowCount, RequestType type, string userCreatorId, ByIndexOrNameDictionary <string> parameters) { string requestId = IdProvider.Get(); TransactionTemplate.Execute(delegate { DoInsert(TABLE_NAME, "Id;TransactionId;ServiceId;RowIndex;MaxRowCount;RequestType;ModifiedBy;ModifiedOn;ParamsByName", requestId, transactionId, serviceId, rowIndex, maxRowCount, type.ToString(), userCreatorId, DateTime.Now, DbUtils.ToDbBool((parameters == null) ? true : parameters.IsByName)); if (!CollectionUtils.IsNullOrEmpty(parameters)) { object[] insertValues = new object[4]; DoBulkInsert(ARGS_TABLE_NAME, "Id;RequestId;ArgName;ArgValue", delegate(int currentInsertIndex) { if (currentInsertIndex < parameters.Count) { insertValues[0] = IdProvider.Get(); insertValues[1] = requestId; if (parameters.IsByName) { insertValues[2] = parameters.KeyAtIndex(currentInsertIndex); } else { insertValues[2] = currentInsertIndex.ToString("D3"); } insertValues[3] = parameters[currentInsertIndex]; return(insertValues); } return(null); }); } return(null); }); return(requestId); }
public IActionResult Create_round(CreateRoundCommand create_round_command) { _logger.LogInformation($"create round command: { create_round_command.TournamentId }"); using (var msgpump = new MessagePump(_es)) { var id_provider = new IdProvider(); var context_manager = new CreateRoundCommandContextManager(_es); var message_processor = new CreateRoundCommandProcessor(id_provider); msgpump.Register <CreateRoundCommand>(context_manager, message_processor); var result = msgpump.Handle(create_round_command) as CommandStatus; if (result is Success) { return(Ok()); } else { return(BadRequest()); } } }
private void SaveNotificationsForUser(string userId, string modifiedByUserId, IList <KeyValuePair <string, NotificationType> > notifications) { if (CollectionUtils.IsNullOrEmpty(notifications)) { return; } DateTime now = DateTime.Now; object[] insertValues = new object[12]; DoBulkInsert(TABLE_NAME, "Id;FlowId;AccountId;OnSolicit;OnQuery;OnSubmit;OnNotify;OnSchedule;OnDownload;OnExecute;ModifiedBy;ModifiedOn", delegate(int currentInsertIndex) { if (currentInsertIndex < notifications.Count) { KeyValuePair <string, NotificationType> notification = notifications[currentInsertIndex]; NotificationType type = notification.Value; insertValues[0] = IdProvider.Get(); insertValues[1] = notification.Key; insertValues[2] = userId; insertValues[3] = DbUtils.ToDbBool((type & NotificationType.OnSolicit) != 0); insertValues[4] = DbUtils.ToDbBool((type & NotificationType.OnQuery) != 0); insertValues[5] = DbUtils.ToDbBool((type & NotificationType.OnSubmit) != 0); insertValues[6] = DbUtils.ToDbBool((type & NotificationType.OnNotify) != 0); insertValues[7] = DbUtils.ToDbBool((type & NotificationType.OnSchedule) != 0); insertValues[8] = DbUtils.ToDbBool((type & NotificationType.OnDownload) != 0); insertValues[9] = DbUtils.ToDbBool((type & NotificationType.OnExecute) != 0); insertValues[10] = modifiedByUserId; insertValues[11] = now; return(insertValues); } else { return(null); } }); }