/// <summary> /// Executes the operation. /// </summary> /// <param name="operationName">Name of the operation.</param> /// <param name="args">The args.</param> /// <returns>OperationResult.</returns> public async Task <OperationResult> ExecuteOperation(DeveloperOperation operationName, params object[] args) { if (!_operationTypes.ContainsKey(operationName)) { return(new OperationResult(OperationResultStatus.Error, "Operation is not supported")); } var operationProvider = (IDeveloperOperation)Activator.CreateInstance(_operationTypes[operationName]); return(await operationProvider.Excecute(args)); }
private async Task <ActionResult> ExecuteDeveloperOperation(DeveloperOperation type) { var manager = new DeveloperStorageManager(); var result = await manager.ExecuteOperation(type); bool isError = false; string returningResult = "Success"; if (result.Status != OperationResultStatus.Success) { isError = true; returningResult = result.Description; } Session["InSessionResult"] = returningResult; return(RedirectToAction("Index", new { isError })); }