예제 #1
0
        public override async Task <GetDetailsResponse> GetDetails(GetDetailsRequest request, ServerCallContext context)
        {
            var details = await _client.GetClassAsync(request.Id);

            if (null == details)
            {
                return(null);
            }
            var result = new GetDetailsResponse()
            {
                Id     = details.Index,
                Name   = details.Name,
                HitDie = details.Hit_Die
            };

            if (null != details.Proficiencies)
            {
                result.Proficiencies.AddRange(details.Proficiencies.Select(p => new GetDetailsResponse.Types.Proficiency()
                {
                    Name = p.Name
                }));
            }

            return(result);
        }
예제 #2
0
        public async Task <GetDetailsResponse> GetDetails(Provider provider, string id, PaymentIdType idType)
        {
            if (channel.State == ChannelState.Shutdown)
            {
                var response = new GetDetailsResponse();
                response.Errors.Add(setClientShutDownError());
                return(response);
            }

            GetDetailsRequest request = new GetDetailsRequest()
            {
                Provider   = provider,
                Identifier = id,
                IdType     = idType
            };

            try
            {
                return(await client.GetDetailsAsync(request));
            }
            catch (RpcException ex)
            {
                var response = new GetDetailsResponse();
                response.Errors.Add(setGatewayError(ex.Message));
                return(response);
            }
        }
예제 #3
0
        public async Task <IActionResult> GetDetailsAsync([FromRoute] Guid?id = null)
        {
            var request = new GetDetailsRequest {
                Id = id ?? Guid.Empty
            };

            return(Ok(await _mediator.Send(request)));
        }
예제 #4
0
        public async Task <IActionResult> Details(int id)
        {
            var request = new GetDetailsRequest();

            request.ID = id;
            var mobile = await _mediator.Send(request);

            return(View(mobile));
        }
예제 #5
0
        public GetDetailsResult GetDetails(GetDetailsRequest request)
        {
            try
            {
                Domain.Objects.Track track;

                List <Domain.Objects.Scrobble> scrobbles;
                using (DAL.DALManager mgr = new DAL.DALManager(settings.Value.DatabasePath))
                {
                    track     = mgr.Get <Domain.Objects.Track>(int.Parse(request.TrackId));
                    scrobbles = mgr.GetScrobblesOfTrack(track.Id);
                }

                if (track == null)
                {
                    return new GetDetailsResult()
                           {
                               Success = false, Message = "Track not found"
                           }
                }
                ;

                return(new GetDetailsResult()
                {
                    Success = true,
                    Details = new TrackDetails()
                    {
                        Id = track.Id + "",
                        Title = track.Title,
                        Album = track.Album,
                        Artists = track.Artists?.Split(','),
                        Genres = System.Text.RegularExpressions.Regex.Split(track.Genres + "", "[,/]"),
                        TrackNr = track.TrackNr,
                        AddedOn = track.AddedOn,
                        LastPlayed = track.LastPlayed == DateTime.MinValue ? null : (DateTime?)track.LastPlayed,
                        Liked = track.LikeStatus,
                        NrPlayed = track.NrPlayed,
                        NrPlayedToEnd = track.NrPlayedToEnd,
                        LastScrobbles = scrobbles.OrderByDescending(s => s.On).Select(s => new TrackScrobble()
                        {
                            On = s.On,
                            PlayedToEnd = s.PlayedToEnd
                        }).ToArray()
                    }
                });
            }
            catch (Exception ex)
            {
                return(GetErrorResultFromException <GetDetailsResult>(ex));
            }
        }
        /// <summary>
        /// Create approved SwapShift requests for a list of people.
        /// </summary>
        /// <param name="personNumbers">List of person numbers whose request is approved.</param>
        /// <param name="queryDateSpan">QueryDateSpan string.</param>
        /// <param name="statusName">Request statusName.</param>
        /// <returns>XML request string.</returns>
        private string CreateApprovedSwapShiftRequests(
            List <string> personNumbers,
            string queryDateSpan,
            string statusName)
        {
            var telemetryProps = new Dictionary <string, string>()
            {
                { "QueryDateSpan", queryDateSpan },
                { "KronosStatus", statusName },
            };

            this.telemetryClient.TrackTrace($"SwapShiftActivity - CreateApproveSwapShiftRequests starts: {DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture)}", telemetryProps);

            List <PersonIdentity> personIdentities = new List <PersonIdentity>();

            foreach (var personNumber in personNumbers)
            {
                PersonIdentity personIdentity = new PersonIdentity
                {
                    PersonNumber = personNumber,
                };

                personIdentities.Add(personIdentity);
            }

            GetDetailsRequest rq = new GetDetailsRequest
            {
                Action      = RetrieveWithDetails,
                RequestMgmt = new RequestMgmt
                {
                    QueryDateSpan = $"{queryDateSpan}",
                    RequestFor    = SwapShiftRequest,
                    StatusName    = statusName,
                    Employees     = new Employees
                    {
                        PersonIdentity = personIdentities,
                    },
                },
            };

            this.telemetryClient.TrackTrace($"SwapShiftActivity - CreateApproveSwapShiftRequests: {rq.XmlSerialize().ToString(CultureInfo.InvariantCulture)}", telemetryProps);
            this.telemetryClient.TrackTrace($"SwapShiftActivity - CreateApproveSwapShiftRequests ends: {DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture)}", telemetryProps);
            return(rq.XmlSerialize());
        }