public async Task <VmMailboxDto> LoadInmateAccountMailbox(String pin, String siteId)
        {
            List <SqlParameter> parameters = new List <SqlParameter>();

            parameters.AddSqlParam("@Pin", pin);
            parameters.AddSqlParam("@SiteId", siteId);

            VmMailboxDto result = await SqlParsedExecute.InvokeProcSingleAsync <VmMailboxDto>(_conStrIvxsvr, "uspLoadInmateAccountMailbox", parameters);

            DateTime createDateTime;

            if (DateTime.TryParseExact($"{result.CreateDate} {result.CreateTime}", "yyyyMMdd HHmmss", null, DateTimeStyles.None, out createDateTime))
            {
                result.CreateDateTime = createDateTime;
            }

            DateTime loginDateTime;

            if (DateTime.TryParseExact($"{result.LoginDate} {result.LoginTime}", "yyyyMMdd HHmmss", null, DateTimeStyles.None, out loginDateTime))
            {
                result.LoginDateTime = loginDateTime;
            }

            return(result);
        }
        public async Task <IActionResult> LoadVoiceMailbox(String pin, String siteId)
        {
            try
            {
                if (String.IsNullOrWhiteSpace(pin) || String.IsNullOrWhiteSpace(siteId))
                {
                    return(BadRequest());
                }

                VmMailboxDto result = await _uow.VoicemailRepository.LoadInmateAccountMailbox(pin, siteId);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                ex.Data["pin"]    = pin;
                ex.Data["siteId"] = siteId;
                _logger.Error(ex, "Failed to load inmate account voice mailbox.");
                return(StatusCode((Int32)HttpStatusCode.InternalServerError, "Error loading inmate account voice mailbox."));
            }
        }