예제 #1
0
        /// <summary>
        /// True if the specified hoursID is an SSG entry, and if this is the entry that the SSG was originated with
        /// </summary>
        /// <param name="hoursID"></param>
        /// <returns></returns>
        public static bool IsOriginatingHoursEntry(int hoursID)
        {
            if (_context == null)
            {
                _context = ContextProvider.Context;
            }

            var entry = _context.Hours.Find(hoursID);

            if (entry.SSGParentID.HasValue)
            {
                if (entry.SSGParentID.Value == entry.ID)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
예제 #2
0
 // Constructors
 public CasesRepository(ICurrentUserProvider currentUserProvider, IDBContextProvider dBContextProvider, ISettingsProvider settingsRepository)
 {
     _currentUser       = currentUserProvider;
     _context           = dBContextProvider.CoreContext;
     _settings          = settingsRepository;
     hoursEntryMappings = new HoursEntryMappings(_currentUser.Provider, _context);
 }
예제 #3
0
 public TimesheetImporter(string filePath)
 {
     _filePath = filePath;
     _context  = new Data.V2.CoreContext();
     _context.Configuration.AutoDetectChangesEnabled = false;
     _context.Configuration.ValidateOnSaveEnabled    = false;
 }
예제 #4
0
        internal bool UserHasAcceptedTerms(Domain2.PatientPortal.Terms terms)
        {
            var ctx = new Data.V2.CoreContext();

            var user = ctx.PatientPortalLogins.Where(x => x.ID == AppService.Current.User.CurrentUser.ID).Single();

            return(user.AcceptedTerms.Any(m => m.TermsId == terms.ID));
        }
예제 #5
0
 public HoursEntryResolver(Domain.Cases.Case targetCase, Domain.Cases.CaseAuthorizationHours authHours, Data.Services.ICaseService caseService)
 {
     this.targetCase  = targetCase;
     subjectHours     = authHours;
     ValidationErrors = new List <Dymeng.Framework.Validation.ValidationError>();
     this.caseService = caseService;
     _context2        = new Data.V2.CoreContext();
 }
예제 #6
0
        private void resolveHoursAuths(int hoursID)
        {
            var c2           = new Data.V2.CoreContext();
            var h            = c2.Hours.Find(hoursID);
            var authResolver = new DomainServices.Hours.AuthResolver(h);

            authResolver.UpdateAuths(c2);
        }
예제 #7
0
        /// <summary>
        /// Update the database with the authorization breakdowns
        /// Use an existing hours context to do this
        /// </summary>
        /// <param name="context"></param>
        public void UpdateAuths(Data.V2.CoreContext context)
        {
            var auths = GetAuthorizationBreakdowns();

            if (_hours.AuthorizationBreakdowns != null)
            {
                while (_hours.AuthorizationBreakdowns.Count > 0)
                {
                    context.AuthorizationBreakdowns.Remove(_hours.AuthorizationBreakdowns.First());
                }
                context.SaveChanges();
            }
            _hours.AuthorizationBreakdowns = auths;
            context.SaveChanges();
        }
예제 #8
0
        public static HoursEligiblityVM GetModel()
        {
            var context = new Data.V2.CoreContext();

            var model = new HoursEligiblityVM();

            var insuranceIssues = context.HoursEntryEligibleCasesWithoutActiveInsurance().ToList();
            var authIssues      = context.HoursEntryEligibleCasesWithoutActiveAuthorizations().ToList();
            var ruleIssues      = context.HoursEntryEligibleAuthorizationsWithoutMatchRules().ToList();

            model.ActiveInsuranceIssues     = ActiveInsuranceIssue.Transform(insuranceIssues);
            model.ActiveAuthorizationIssues = ActiveAuthorizationIssue.Transform(authIssues);
            model.ActiveRuleIssues          = ActiveRuleIssue.Transform(ruleIssues);

            return(model);
        }
예제 #9
0
        /// <summary>
        /// Returns a list of Case IDs for associated SSG entries, or null if not an SSG entry
        /// </summary>
        /// <param name="hoursID"></param>
        /// <returns></returns>
        public static int[] GetAssociatedCaseIDs(int hoursID)
        {
            if (_context == null)
            {
                _context = ContextProvider.Context;
            }

            var entry = _context.Hours.Find(hoursID);

            if (entry.SSGParentID.HasValue)
            {
                return(_context.Hours.Where(x => x.SSGParentID == entry.SSGParentID.Value).Select(x => x.CaseID).ToArray());
            }
            else
            {
                return(null);
            }
        }
예제 #10
0
        private Data.V2.CoreContext addToContext(Data.V2.CoreContext context, Domain2.Integrations.Catalyst.HasDataEntry entity, int count, int commitCount, bool recreateContext)
        {
            //https://stackoverflow.com/questions/5940225/fastest-way-of-inserting-in-entity-framework

            context.Set <Domain2.Integrations.Catalyst.HasDataEntry>().Add(entity);

            if (count % commitCount == 0)
            {
                context.SaveChanges();
                if (recreateContext)
                {
                    context.Dispose();
                    context = new Data.V2.CoreContext();
                    context.Configuration.AutoDetectChangesEnabled = false;
                }
            }

            return(context);
        }
예제 #11
0
        public void Import()
        {
            var table = getTableFromExcel();

            // do this differently if we ever get real volume...
            _context.CatalystHasDataEntries.RemoveRange(_context.CatalystHasDataEntries);
            _context.SaveChanges();

            table.Rows.Remove(table.Rows[0]);   // blank row

            var dateRow  = table.Rows[0];
            int colCount = table.Columns.Count;

            int count = 0;

            for (int i = 1; i < table.Rows.Count - 1; i++)
            {
                string studentName = table.Rows[i][0].ToString();

                for (int j = 1; j < colCount - 1; j++)
                {
                    DateTime d        = getDateFromRawValue(dateRow[j].ToString());
                    var      initials = table.Rows[i][j].ToString();
                    if (!string.IsNullOrWhiteSpace(initials.Trim()))
                    {
                        count++;

                        var item = new Domain2.Integrations.Catalyst.HasDataEntry();
                        item.Name = studentName;
                        item.ProviderInitialsSet = initials.Trim();
                        item.Date = d;

                        _context = addToContext(_context, item, count, 100, true);
                    }
                }
            }
            _context.SaveChanges();
        }
예제 #12
0
 public InsuranceManager()
 {
     _context = ContextProvider.Context;
 }
예제 #13
0
 public SocialSkillsGroup(Data.V2.CoreContext context)
 {
     _context = context;
 }
예제 #14
0
 public PatientsService()
 {
     _context = AppService.Current.Data.Context;
 }
예제 #15
0
 public FinalizeService()
 {
     _context             = AppService.Current.Context;
     _hoursNotesValidator = new HoursNotesValidator();
     _caseService         = new CaseService();
 }
예제 #16
0
 public ProviderQueryService(Data.V2.CoreContext context, Repositories.IProviderRepository repository)
 {
     _context    = AppService.Current.DataContextV2;
     _repository = repository;
 }
예제 #17
0
 public AdminService()
 {
     _legacyUserRepository = new App.Account.UserRepository();
     _context = AppService.Current.DataContextV2;
 }
예제 #18
0
 public SignInService(Data.V2.CoreContext context)
 {
     _context = context;
 }
예제 #19
0
 public CurrentUserProvider(IDBContextProvider _dbContextProvider)
 {
     _dbContext = _dbContextProvider.CoreContext;
 }
예제 #20
0
 public ReportingService()
 {
     hoursRepo = new Repos.HoursRepo();
     _context  = AppService.Current.DataContextV2;
 }
예제 #21
0
 public ServiceProvider(Data.V2.CoreContext context)
 {
     _context = context;
 }
예제 #22
0
 public ServiceProvider()
 {
     _context = ContextProvider.Context;
 }
예제 #23
0
 public SocialSkillsGroup()
 {
     _context = ContextProvider.Context;
 }
예제 #24
0
 public PatientService(Data.V2.CoreContext context)
 {
     _context = context;
 }
예제 #25
0
 public InsuranceManager(Data.V2.CoreContext context)
 {
     _context = context;
 }
예제 #26
0
 public HourService(Data.V2.CoreContext context)
 {
     _context = context;
 }
 public ProviderCommandService(Data.V2.CoreContext context, Repositories.IProviderRepository repository)
 {
     _context    = context;
     _repository = repository;
 }
예제 #28
0
 public BatchAuthResolver(Data.V2.CoreContext context)
 {
     Context = context;
 }
예제 #29
0
 public SettingsService()
 {
     _context = AppService.Current.Data.Context;
 }
예제 #30
0
 public HomeRepository(Data.V2.CoreContext context)
 {
     caseService      = new Data.Services.CaseService();
     connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CoreConnection"].ConnectionString;
     _context         = context;
 }