private Page(Session client, Target target, FrameTree frameTree, bool ignoreHTTPSErrors, TaskQueue screenshotTaskQueue) { _client = client; _target = target; Keyboard = new Keyboard(client); _mouse = new Mouse(client, Keyboard); Touchscreen = new Touchscreen(client, Keyboard); _frameManager = new FrameManager(client, frameTree, this); _networkManager = new NetworkManager(client, _frameManager); _emulationManager = new EmulationManager(client); Tracing = new Tracing(client); _pageBindings = new Dictionary <string, Func <object> >(); _ignoreHTTPSErrors = ignoreHTTPSErrors; _screenshotTaskQueue = screenshotTaskQueue; //TODO: Do we need this bubble? _frameManager.FrameAttached += (sender, e) => FrameAttached?.Invoke(this, e); _frameManager.FrameDetached += (sender, e) => FrameDetached?.Invoke(this, e); _frameManager.FrameNavigated += (sender, e) => FrameNavigated?.Invoke(this, e); _networkManager.RequestCreated += (sender, e) => RequestCreated?.Invoke(this, e); _networkManager.RequestFailed += (sender, e) => RequestFailed?.Invoke(this, e); _networkManager.ResponseCreated += (sender, e) => ResponseCreated?.Invoke(this, e); _networkManager.RequestFinished += (sender, e) => RequestFinished?.Invoke(this, e); _client.MessageReceived += client_MessageReceived; }
public async Task <CreateRequestResponse> CreateRequest(Request request) { var createdBy = new SqlParameter("@CreatedBy", request.CreatedBy); var title = new SqlParameter("@Title", request.Title); var fromDate = new SqlParameter("@FromDate", request.StartDate); var toDate = new SqlParameter("@ToDate", request.EndDate); toDate.Value = (object)request.EndDate ?? DBNull.Value; var server = new SqlParameter("@Server", request.ServerId); var description = new SqlParameter("@Description", request.Description); var command = _context.Database.GetDbConnection().CreateCommand(); command.CommandText = "CreateRequest"; command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(createdBy); command.Parameters.Add(title); command.Parameters.Add(fromDate); command.Parameters.Add(toDate); command.Parameters.Add(server); command.Parameters.Add(description); var success = await _context.SaveChangesAsync(); if (success == 0) { } if (command.Connection.State == ConnectionState.Closed) { await command.Connection.OpenAsync(); } try { var requestReader = await command.ExecuteReaderAsync(); await requestReader.ReadAsync(); var requestCreatedEvent = new RequestCreated() { RequesterId = (Guid)requestReader["RequesterId"], CreatedAt = Convert.ToDateTime(requestReader["CreatedAt"]), RequesterFullName = Convert.ToString(requestReader["RequesterFullName"]), RequesterUsername = Convert.ToString(requestReader["RequesterUsername"]), RequestId = (Guid)requestReader["RequestId"], ServerId = (Guid)requestReader["ServerId"], ServerName = (string)requestReader["ServerName"], }; await _eventBus.Trigger(requestCreatedEvent); return(new CreateRequestResponse(requestCreatedEvent.RequestId, true)); } catch (Exception e) { // Unique constraint violation code number Console.Error.WriteLine(e); return(new CreateRequestResponse(Guid.Empty, false, new[] { new Error(Error.Codes.UNKNOWN, Error.Messages.UNKNOWN) })); } }
public async Task <UtoRequest> CreateRequest(Employee employee, DateTime day, uint hours) { var request = new UtoRequest(++_maxId, employee, day, hours); var created = new RequestCreated(request); await _getStore().WriteEvent(created, Streams.UtoRequests); return(request); }
public virtual void OnRequestCreated(WebEventArgs e) { RequestCreated?.Invoke(this, e); }