private void SaveResumeFile(Domain2.Providers.Provider provider, ProviderVM model)
        {
            var resumeFilesCount = model.ResumeFile.Count();

            if (resumeFilesCount == 0 || (resumeFilesCount == 1 && model.ResumeFile.First().FileName == ""))
            {
                return;
            }
            var oldLocation = provider.ResumeLocation;

            if (!string.IsNullOrEmpty(oldLocation))
            {
                System.IO.File.Delete(AppService.Current.Settings.UploadDirectory + oldLocation);
            }
            var uploadedFile = model.ResumeFile.First();
            var saveName     = model.ID + uploadedFile.FileName.Substring(uploadedFile.FileName.LastIndexOf('.'));
            var partialPath  = "\\provider_resumes\\" + model.LastName.Substring(0, 1).ToUpper();
            var saveDir      = AppService.Current.Settings.UploadDirectory + partialPath;
            var fullPath     = saveDir + "\\" + saveName;

            System.IO.Directory.CreateDirectory(saveDir);
            using (var fstream = new System.IO.FileStream(fullPath, System.IO.FileMode.Create))
            {
                fstream.Write(uploadedFile.FileBytes, 0, uploadedFile.FileBytes.Length);
            }
            provider.ResumeFileName = uploadedFile.FileName;
            provider.ResumeLocation = partialPath + "\\" + saveName;
        }
        public void ValidateBCBAMaxAssessmentHoursPerCasePerDayFalseIfOver()
        {
            var entry       = new Domain2.Hours.Hours();
            var serviceMock = new Mock <IResolutionService>();
            var provider    = new Domain2.Providers.Provider();

            entry.TotalHours = 5;
            entry.Date       = new DateTime(2017, 1, 1);
            entry.ServiceID  = (int)Domain2.Services.ServiceIDs.Assessment;
            entry.Service    = new Domain2.Services.Service()
            {
                ID = entry.ServiceID.Value
            };
            entry.Provider          = provider;
            provider.ID             = 5;
            provider.ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.BoardCertifiedBehavioralAnalyst;
            serviceMock.Setup(x => x.Provider).Returns(provider);
            serviceMock.Setup(x => x.AllProposedCaseHours(It.IsAny <int>())).Returns(_bcbaMaxAssessmentCaseHours);
            serviceMock.Setup(x => x.Issues).Returns(new ValidationIssueCollection());
            serviceMock.Setup(x => x.AssessmentServiceIDs).Returns(new int[] { 11, 17, 18 });
            serviceMock.Object.AllProposedCaseHours(It.IsAny <int>()).Add(entry);

            var validator = new CaseAndProviderValidations(serviceMock.Object);

            var result = validator.ValidateBCBAMaxAssessmentHoursPerCasePerDay(entry);

            Assert.IsFalse(result);
        }
 private void UpdateProviderZipCodes(ProviderVM model, Domain2.Providers.Provider provider)
 {
     if (!string.IsNullOrEmpty(model.ServiceZips))
     {
         var zips = model.ServiceZips
                    .Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                    .Select(z => z.Trim())
                    .ToList();
         var codesToDelete = Context.ProviderServiceZipCodes
                             .Where(z => z.ProviderID == model.ID && !zips.Contains(z.ZipCode))
                             .ToList();
         codesToDelete.ForEach(c => Context.ProviderServiceZipCodes.Remove(c));
         var codesToAdd = zips
                          .Where(z => provider.ServiceZipCodes.All(szc => szc.ZipCode != z))
                          .ToList();
         foreach (var code in codesToAdd)
         {
             provider.ServiceZipCodes.Add(new ProviderServiceZipCode
             {
                 IsPrimary = true,
                 ZipCode   = code
             });
         }
     }
     else
     {
         provider.ServiceZipCodes.Clear();
     }
 }
        public static ProviderSelectListItem Transform(Domain2.Providers.Provider provider)
        {
            var item = new ProviderSelectListItem();

            item.ID   = provider.ID;
            item.Type = provider.ProviderType.Code;
            item.Name = provider.FirstName + " " + provider.LastName;

            return(item);
        }
        public void ValidateBCBAMaxAssessmentHoursPerCasePerDayIgnoresNonBCBAs()
        {
            var entry       = new Domain2.Hours.Hours();
            var serviceMock = new Mock <IResolutionService>();
            var provider    = new Domain2.Providers.Provider();

            entry.TotalHours        = 8;
            provider.ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.Aide;
            serviceMock.Setup(x => x.Provider).Returns(provider);

            var validator = new CaseAndProviderValidations(serviceMock.Object);

            var result = validator.ValidateBCBAMaxAssessmentHoursPerCasePerDay(entry);

            Assert.IsTrue(result);
        }
        public void ValidateBCBAMaxAssessmentHoursPerCasePerDayIgnoresNonAssessmentServices()
        {
            var entry       = new Domain2.Hours.Hours();
            var serviceMock = new Mock <IResolutionService>();
            var provider    = new Domain2.Providers.Provider();

            entry.TotalHours = 8;
            entry.ServiceID  = (int)Domain2.Services.ServiceIDs.DirectSupervision;
            entry.Service    = new Domain2.Services.Service()
            {
                ID = entry.ServiceID.Value
            };
            provider.ProviderTypeID = (int)Domain2.Providers.ProviderTypeIDs.BoardCertifiedBehavioralAnalyst;
            serviceMock.Setup(x => x.Provider).Returns(provider);

            var validator = new CaseAndProviderValidations(serviceMock.Object);

            var result = validator.ValidateBCBAMaxAssessmentHoursPerCasePerDay(entry);

            Assert.IsTrue(result);
        }
 public void Initialize()
 {
     _context  = new Data.V2.CoreContext();
     _provider = _context.Providers.Find(257); // Abi Magid, 18994
     _repo     = new CasesRepository(_context, _provider);
 }