Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TResponse"></typeparam>
        /// <param name="command"></param>
        /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param>
        /// <returns></returns>
        public async Task <TResponse> Dispatch <TResponse>(ICommandRequest <TResponse> command, CancellationToken cancellationToken)
        {
            await _executeMiddlewaresService.ExecuteAsync(command, cancellationToken);

            var wrappedHandlers = GetWrappedHandlers(command);

            if (wrappedHandlers == null)
            {
                throw new CommandNotRegisteredError(command.ToString());
            }

            return(await wrappedHandlers.Handle(command, _serviceProvider, cancellationToken));
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="command"></param>
        /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param>
        /// <returns></returns>
        public async Task Dispatch(ICommandRequest command, CancellationToken cancellationToken = default)
        {
            await _executeMiddlewaresService.ExecuteAsync(command, cancellationToken);

            var wrappedHandlers = GetWrappedHandlers(command);

            if (wrappedHandlers == null)
            {
                throw new CommandNotRegisteredError(command.ToString());
            }

            var tasks = wrappedHandlers.Select(handler => handler.Handle(command, _serviceProvider, cancellationToken));

            await Task.WhenAll(tasks);
        }
Example #3
0
 /// <summary>
 /// Returns the result of the <see cref="ICommandRequest"/>.<see cref="object.ToString()"/> method.
 /// </summary>
 /// <param name="request">The <see cref="ICommandRequest"/> object to serialize.</param>
 /// <returns></returns>
 public string Serialize(ICommandRequest request)
 {
     return(request.ToString());
 }
Example #4
0
        // ----------------------------------------------------------------
        // THIS COMMAND LIST ALL THE AVAILABLE DRIVES IN THE MACHINE
        // ----------------------------------------------------------------
        public ICommandResponse[] RunCommand(ICommandRequest request)
        {
            JLogger.LogInfo(this, "runCommand:{0}", request.ToString());

            ICommandResponse[] cmdResp;
            var driveInfoList = new List <JDriveInfo>();

            try
            {
                //foreach (var di in DriveInfo.GetDrives())
                //{
                //    if (!di.IsReady)
                //    {
                //        continue;
                //    }

                //    //NO_REMOVABLE_DRIVES - DON'T RETURN REMOVABLE DRIVES
                //    if (di.DriveType != DriveType.Fixed && request.GetParams().Contains("NO_REMOVABLE_DRIVES"))
                //    {
                //        continue;
                //    }

                //    //NO_EMPTY_DRIVES - DON'T RETURN EMPTY DRIVES
                //    if (di.TotalSize == 0 && request.GetParams().Contains("NO_EMPTY_DRIVES"))
                //    {
                //        continue;
                //    }
                //    var data = new JDriveInfo
                //    {
                //        DEVICEID = di.Name,
                //        FREESPACE = di.TotalFreeSpace.ToString(),
                //        TOTALSIZE = di.TotalSize.ToString(),
                //        USEDSPACE = (di.TotalSize - di.TotalFreeSpace).ToString()
                //    };
                //    driveInfoList.Add(data);
                //}

                driveInfoList.AddRange(from di in DriveInfo.GetDrives()
                                       where di.IsReady
                                       where di.DriveType == DriveType.Fixed || !request.GetParams().Contains(NoRemovableDrives)
                                       where di.TotalSize != 0 || !request.GetParams().Contains(NoEmptyDrives)
                                       select new JDriveInfo
                {
                    DEVICEID = di.Name, FREESPACE = di.TotalFreeSpace.ToString(), TOTALSIZE = di.TotalSize.ToString(), USEDSPACE = (di.TotalSize - di.TotalFreeSpace).ToString()
                });

                var respData = JsonConvert.SerializeObject(driveInfoList.ToArray());
                cmdResp = new ICommandResponse[]
                {
                    new CommandResponse(CommandResponseCodes.OkCommandSuccess[0],
                                        respData)
                };
            }
            catch (Exception ex)
            {
                cmdResp = new ICommandResponse[]
                {
                    new CommandResponse(CommandResponseCodes.ErrorExceptionFound[0],
                                        CommandResponseCodes.ErrorExceptionFound[1] + ex.Message)
                };
            }

            JLogger.LogInfo(this, "runCommand Response:{0}", cmdResp.ToString());

            return(cmdResp);
        }