public CaseController() { repository = new Repositories.CaseRepository(); repoStaff = new Repositories.OfficeStaffRepository(); _service = new App.Case.CaseService(); Context = AppService.Current.DataContext; }
internal void UpdateHoursSubmission(EditPopupSubmitVM submitData) { var context = new Data.Models.CoreEntityModel(); var item = context.CaseAuthHours.Find(submitData.id); item.HoursBillable = decimal.Parse(submitData.billableHours); item.HoursBillingRef = submitData.billingRef; item.HoursDate = submitData.date; item.HoursHasCatalystData = submitData.hasData; item.HoursNotes = submitData.notes; item.HoursPayable = decimal.Parse(submitData.payableHours); item.HoursServiceID = submitData.serviceID; item.HoursSSGParentID = submitData.ssgParentID; item.HoursStatus = (int)submitData.ConvertedStatus; item.HoursTimeIn = submitData.timeIn.TimeOfDay; item.HoursTimeOut = submitData.timeOut.TimeOfDay; item.HoursTotal = decimal.Parse(submitData.totalHours); item.ServiceLocationID = submitData.serviceLocationID; if (submitData.extendedNotes != null) { foreach (ExtendedNote n in submitData.extendedNotes) { if (n.id == 0 && !String.IsNullOrEmpty(n.value)) { var dbNote = new Data.Models.CaseAuthHoursNote(); dbNote.HoursID = submitData.id; dbNote.NotesTemplateID = n.templateId; dbNote.NotesAnswer = n.value; context.CaseAuthHoursNotes.Add(dbNote); } else if (n.id != 0 && !String.IsNullOrEmpty(n.value)) { var dbNote = context.CaseAuthHoursNotes.Find(n.id); dbNote.NotesAnswer = n.value; } else if (n.id != 0 && String.IsNullOrEmpty(n.value)) { var dbNote = context.CaseAuthHoursNotes.Find(n.id); context.CaseAuthHoursNotes.Remove(dbNote); } // else if (n.id == 0 && String.IsNullOrEmpty(n.value)) //Do nothing. } } context.SaveChanges(); // now that the hours are updated, re-calc the auth breakdown var c2 = AppService.Current.DataContextV2; var h = c2.Hours.Find(submitData.id); var authResolver = new DomainServices.Hours.AuthResolver(h); authResolver.UpdateAuths(c2); }
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()); }
public void ScrubSelected(List <int> selectedHours) { var context = new Data.Models.CoreEntityModel(); foreach (int id in selectedHours) { var scrubHour = context.CaseAuthHours.Find(id); scrubHour.HoursStatus = (int)Domain2.Hours.HoursStatus.ScrubbedByAdmin; } context.SaveChanges(); }
/*********************** * * CTOR/DTOR * **********************/ public CrossHoursValidation(Data.Services.ICaseService caseService, DateTime firstDayOfPeriod) { Errors = new List <DomainServices.Hours.CrossHoursValidation.Error>(); StartDate = firstDayOfPeriod; EndDate = firstDayOfPeriod.AddMonths(1).AddSeconds(-1); _caseService = caseService; Hours = _caseService.GetCaseHoursByDateRange(StartDate, EndDate); context = new Data.Models.CoreEntityModel(); }
internal List <EditPopupVM.ServiceLocationListItem> GetServiceLocationsList() { var context = new Data.Models.CoreEntityModel(); var dataItems = context.ServiceLocations.ToList(); var items = new List <EditPopupVM.ServiceLocationListItem>(); foreach (var d in dataItems) { items.Add(new EditPopupVM.ServiceLocationListItem() { ID = d.ID, Name = d.LocationName }); } return(items); }
public List <ServiceLocation> GetActiveServiceLocations() { var items = new List <ServiceLocation>(); var entities = new Data.Models.CoreEntityModel().ServiceLocations.Where(x => x.Active).ToList(); foreach (var e in entities) { var item = new ServiceLocation(); item.Active = e.Active; item.ID = e.ID; item.MBHID = e.LocationMBHID; item.Name = e.LocationName; items.Add(item); } return(items); }
internal List <EditPopupVM.AuthListItem> GetAuthList(int caseID) { var context = new Data.Models.CoreEntityModel(); var dataItems = context.CaseAuthCodes.Where(x => x.CaseID == caseID).ToList(); var items = new List <EditPopupVM.AuthListItem>(); foreach (var d in dataItems) { items.Add(new EditPopupVM.AuthListItem() { ID = d.ID, Code = d.AuthCode.CodeCode, Description = d.AuthCode.CodeDescription }); } return(items); }
void validateProviderMax5HoursPerDay() { // removed per request 2017-02-01, apply to all providers, not just aides //if (subjectHours.Provider.Type.Code != "AIDE") { // return; //} var date = subjectHours.Date; var providerID = subjectHours.Provider.ID; var context = new Data.Models.CoreEntityModel(); var h = context.CaseAuthHours .Where(x => x.HoursDate == date && x.CaseProviderID == providerID && x.CaseID == subjectHours.CaseID) .GroupBy(x => x.CaseProviderID) .Select(x => new { ProviderID = x.Key, TotalHours = x.Sum(y => y.HoursTotal) }).ToList(); var previousHours = h.Sum(x => x.TotalHours); //var z = h.Where(x => x.TotalHours + (decimal)subjectHours.HoursTotal > 5).ToList(); //if (z.Count > 0) { if ((previousHours + (decimal)subjectHours.HoursTotal) > 5) { ValidationHelper.ValidationError.AddError( ValidationErrors, (int)HoursEntryErrorID.ProviderMoreThan5HoursPerDay, "Cannot log more than 5 hours per day.", null); } }
public void FillScrubSummaryProviderInfo(App.Hours.Models.ScrubOverviewItemSummaryVM summary, int caseID, DateTime periodStartDate) { DateTime periodEndDate = periodStartDate.AddMonths(1).AddDays(-1); var q = new Data.Models.CoreEntityModel().Database.SqlQuery <Data.Models.Sprocs.HoursScrubSummaryProvidersLists>( "dbo.GetHoursScrubSummaryProviders @CaseID, @StartDate, @EndDate", new SqlParameter("@CaseID", caseID), new SqlParameter("@StartDate", periodStartDate), new SqlParameter("@EndDate", periodEndDate) ); var entities = q.ToList(); foreach (var entity in entities) { switch (entity.ReturnTypeID) { case 0: summary.ActiveProviders.Add(new App.Hours.Models.ScrubOverviewItemSummaryProvider() { ID = entity.ID, FirstName = entity.ProviderFirstName, LastName = entity.ProviderLastName }); break; case 1: summary.ProvidersWithHours.Add(new App.Hours.Models.ScrubOverviewItemSummaryProvider() { ID = entity.ID, FirstName = entity.ProviderFirstName, LastName = entity.ProviderLastName }); break; case 2: summary.ProvidersWithoutHours.Add(new App.Hours.Models.ScrubOverviewItemSummaryProvider() { ID = entity.ID, FirstName = entity.ProviderFirstName, LastName = entity.ProviderLastName }); break; case 3: summary.ProvidersFinalized.Add(new App.Hours.Models.ScrubOverviewItemSummaryProvider() { ID = entity.ID, FirstName = entity.ProviderFirstName, LastName = entity.ProviderLastName }); break; case 4: summary.ProvidersNotFinalized.Add(new App.Hours.Models.ScrubOverviewItemSummaryProvider() { ID = entity.ID, FirstName = entity.ProviderFirstName, LastName = entity.ProviderLastName }); break; default: throw new ArgumentOutOfRangeException("ReturnTypeID not registered"); } } }
public HomeService(Data.V2.CoreContext context, Data.Models.CoreEntityModel contextOld) { _context = context; _contextOld = contextOld; }
public HomeService() { _context = AppService.Current.Data.Context; _contextOld = AppService.Current.Data.OldContext; }
public DashboardService() { hoursRepo = new Repos.HoursRepo(); _context = new Data.Models.CoreEntityModel(); }
public CommonLists() { _data = new Data.Models.CoreEntityModel(); }
public List <ValidationItemVM> GetValidationItems(DateTime period, bool fullRefresh) { if (!fullRefresh) { var cachedItems = getValidationItemsFromCache(period); if (cachedItems != null) { return(cachedItems); } } var items = new List <ValidationItemVM>(); var caseService = new Data.Services.CaseService(); var validator = new DomainServices.Hours.CrossHoursValidation(caseService, period); validator.Validate(); int i = 0; foreach (var err in validator.Errors) { var item = new App.Hours.Models.ValidationItemVM(); var coreContext = new Data.Models.CoreEntityModel(); var sourcePatient = coreContext.Cases.Find(err.MatchedOn.CaseID.Value).Patient; var sourceProvider = coreContext.Providers.Find(err.MatchedOn.ProviderID); item.GridID = i; i++; item.SourceCaseID = err.MatchedOn.CaseID.Value; item.SourceDate = err.MatchedOn.Date; item.SourceHoursID = err.MatchedOn.ID.Value; item.SourcePatientName = sourcePatient.PatientFirstName + " " + sourcePatient.PatientLastName; item.SourceProviderID = err.MatchedOn.ProviderID; item.SourceProviderName = sourceProvider.ProviderFirstName + " " + sourceProvider.ProviderLastName; item.SourceServiceCode = err.MatchedOn.ServiceCode; item.SourceTimeIn = err.MatchedOn.TimeIn; item.SourceTimeOut = err.MatchedOn.TimeOut; item.TypeValue = err.ErrorType; if (err.MatchedTo != null && err.MatchedTo.Count > 0) { var m = err.MatchedTo[0]; var patient = coreContext.Cases.Find(m.CaseID.Value).Patient; var provider = coreContext.Providers.Find(m.ProviderID); item.PartnerCaseID = m.CaseID.Value; item.PartnerDate = m.Date; item.PartnerHoursID = m.ID.Value; item.PartnerPatientName = patient.PatientFirstName + " " + patient.PatientLastName; item.PartnerProviderID = m.ProviderID; item.PartnerProviderName = provider.ProviderFirstName + " " + provider.ProviderLastName; item.PartnerServiceCode = m.ServiceCode; item.PartnerTimeIn = m.TimeIn; item.PartnerTimeOut = m.TimeOut; } items.Add(item); } setValidateItemsCache(items, period); return(items); }