示例#1
0
        public List <CaseHoursDetailItem> GetCaseHoursDetails(int caseID, int providerID, DateTime?cutoff = null)
        {
            List <CaseHoursDetailItem> list = new List <CaseHoursDetailItem>();

            var caseAuthHours = caseService.GetCaseHoursByCase(caseID, cutoff)
                                .Where(m => m.Status != AuthorizationHoursStatus.PreCheckedOnApp);

            var v2Provider = _context.Providers.Find(providerID);

            if (v2Provider.ProviderTypeID == (int)Domain2.Providers.ProviderTypeIDs.BoardCertifiedBehavioralAnalyst)
            {
                // don't filter
            }
            else
            {
                caseAuthHours = caseAuthHours.Where(x => x.ProviderID == providerID).ToList();
            }


            bool getExtendedNotes = false;

            if ((Global.Default.GetUserProvider().Type.Code == "BCBA") && (Domain.Hours.Note.UseExtendedNotes))
            {
                getExtendedNotes = true;
            }

            var context = new Data.Models.CoreEntityModel();

            foreach (var domainHours in caseAuthHours)
            {
                var hours = new CaseHoursDetailItem();
                hours.ID           = domainHours.ID.Value;
                hours.Date         = domainHours.Date;
                hours.EndTime      = domainHours.TimeOut;
                hours.StartTime    = domainHours.TimeIn;
                hours.Hours        = domainHours.HoursTotal;
                hours.Service      = domainHours.Service;
                hours.Notes        = domainHours.Notes;
                hours.ProviderName = domainHours.Provider.FirstName + " " + domainHours.Provider.LastName;

                if (string.IsNullOrEmpty(hours.Notes) && getExtendedNotes)
                {
                    hours.Notes =
                        string.Join("; ",
                                    context.CaseAuthHoursNotes
                                    .Where(x => x.HoursID == hours.ID && !string.IsNullOrEmpty(x.NotesAnswer))
                                    .Select(x => x.NotesAnswer).ToArray());
                }


                list.Add(hours);
            }

            return(list.OrderByDescending(x => x.Date).ThenBy(x => x.StartTime).ToList());
        }
示例#2
0
        public CaseHoursDetailItem GetCaseHoursDetail(int hoursID)
        {
            var item  = new CaseHoursDetailItem();
            var hours = caseService.GetCaseHoursItem(hoursID);

            //item.AuthCode = hours.Authorization.Code;
            item.Date      = hours.Date;
            item.EndTime   = hours.TimeOut;
            item.Hours     = hours.HoursTotal;
            item.ID        = hours.ID.Value;
            item.Notes     = hours.Notes;
            item.Service   = hours.Service;
            item.StartTime = hours.TimeIn;
            item.CaseID    = hours.CaseID.Value;

            return(item);
        }