public async Task <ActionResult <bool> > UpdateProvider(ProviderVM p)
        {
            bool result = false;

            if (ModelState.IsValid)
            {
                var provider = await providersBL.GetProviderByProviderId(p.Id);

                if (provider != null)
                {
                    provider.City         = p.City;
                    provider.CourseDomain = p.CourseDomain;
                    provider.Description  = p.Description;
                    provider.Education    = p.Education;
                    provider.Email        = p.Email;
                    provider.Experience   = p.Experience;
                    provider.Firstname    = p.Firstname;
                    provider.Gender       = p.Gender;
                    provider.HourlyRate   = p.HourlyRate;
                    provider.Id           = p.Id;
                    provider.ImageUrl     = p.ImageUrl;
                    provider.Lastname     = p.Lastname;
                    provider.LogoUrl      = p.LogoUrl;
                    provider.Nationality  = p.Nationality;
                    provider.OneLineTitle = p.OneLineTitle;
                    provider.Phone        = p.Phone;
                    if (await providersBL.UpdateProvider(provider))
                    {
                        result = true;
                    }
                }
            }
            return(result);
        }
示例#2
0
        private void FormAdmin_Load(object sender, EventArgs e)
        {
            if (id.HasValue)
            {
                plugins = pluginManager.GetPlugins();

                foreach (var plugin in plugins)
                {
                    var menuItem = new ToolStripMenuItem(plugin.Name);
                    menuItem.Click += (a, b) =>
                    {
                        plugin.Run(id.Value);
                    };
                }
                try
                {
                    ProviderVM view = service.GetElement(id.Value);
                    if (view != null)
                    {
                        textBoxFIO.Text = view.Name;
                        chastotaDiapComponent1.number = view.Frequency;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
            }
            userControlList1.LoadEnumeration(typeof(MebelTypes));
        }
        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 async Task <ActionResult <ProviderVM> > GetProvider(int id)
        {
            ProviderVM p = new ProviderVM();

            if (id > 0)
            {
                var provider = await providersBL.GetProviderByProviderId(id);

                if (provider != null)
                {
                    p.City         = provider.City;
                    p.CourseDomain = provider.CourseDomain;
                    p.Description  = provider.Description;
                    p.Education    = provider.Education;
                    p.Email        = provider.Email;
                    p.Experience   = provider.Experience;
                    p.Firstname    = provider.Firstname;
                    p.Gender       = provider.Gender;
                    p.HourlyRate   = provider.HourlyRate;
                    p.Id           = provider.Id;
                    p.ImageUrl     = provider.ImageUrl;
                    p.Lastname     = provider.Lastname;
                    p.LogoUrl      = provider.LogoUrl;
                    p.Nationality  = provider.Nationality;
                    p.OneLineTitle = provider.OneLineTitle;
                    p.Phone        = provider.Phone;
                }
            }
            return(p);
        }
 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 ActionResult Create()
        {
            var model = new ProviderVM
            {
                Status = ProviderStatus.Active
            };

            model.ViewHelper.ProviderTypesList = ProviderRepository.GetProviderTypesListItems();
            model.ViewHelper.StatesList        = State.GetStates();
            model.Base = new ViewModelBase(PushState, "/Providers/Create", "New Provider Entry");
            return(GetView("Edit", model));
        }
示例#7
0
        public async Task <IActionResult> Post([FromBody] ProviderVM provider)
        {
            try
            {
                var id = await _providerService.CreateProvider(provider);

                return(Json(new { Id = id.ToString() }));
            }
            catch (Exception ex)
            {
                return(BadRequest($"Something went wrong {ex.Message}"));
            }
        }
 public static Provider ToEntity(this ProviderVM providerVM)
 {
     return(new Provider
     {
         Id = providerVM.Id,
         LastName = providerVM.LastName,
         Latitude = providerVM.Latitude,
         Longitude = providerVM.Longitude,
         MiddleName = providerVM.MiddleName,
         Name = providerVM.Name,
         PhoneNumber = providerVM.PhoneNumber
     });
 }
示例#9
0
        public ActionResult Create(ProviderVM pr)
        {
            Provider prov = new Provider()
            {
                ConfirmPassword = pr.ConfirmPassword,
                DateCreated     = pr.DateCreated,
                Email           = pr.Email,
                Password        = pr.Password,
                Username        = pr.Username
            };

            service.AddProvider(prov);
            return(View());
        }
示例#10
0
        public async Task <Guid> CreateProvider(ProviderVM provider)
        {
            provider.Id = Guid.NewGuid();

            await _DbContext.Providers.AddAsync(provider.ToEntity());

            var saveSql    = _DbContext.SaveChangesAsync();
            var createNode = _providersGraphService.CreateProvider(provider);

            await saveSql;
            await createNode;

            return(provider.Id);
        }
示例#11
0
        private void FormProvider_Load()
        {
            try
            {
                ProviderVM view = service.GetElement(id.Value);
                if (view != null)
                {
                    textBoxFIO.Text = view.Name;
                    chastotaDiapComponent1.number = view.Frequency;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }

            userControlList1.LoadEnumeration(typeof(MebelTypes));
        }
示例#12
0
        public async Task CreateProvider(ProviderVM provider)
        {
            await _fruitGraphService.CreateFruits(provider.Fruits);

            await _certificatesService.CreateCertificates(provider.Certificates);

            var newProvider = new NeoProvider {
                Id = provider.Id.ToString()
            };

            await CreateProvider(newProvider);

            var certList  = new List <Task>();
            var fruitList = new List <Task>();

            var fruitTask = Task.Run(() =>
            {
                foreach (var fruit in provider.Fruits)
                {
                    fruitList.Add(_fruitGraphService.FindAndRelate(newProvider.Id, fruit));
                }
            });

            var certTask = Task.Run(() =>
            {
                foreach (var cert in provider.Certificates)
                {
                    fruitList.Add(_certificatesService.FindAndRelate(newProvider.Id, cert));
                }
            });

            await Task.WhenAll(fruitTask, certTask);

            await Task.WhenAll(certList);

            await Task.WhenAll(fruitList);
        }
示例#13
0
        public ActionResult Index(int?page, string vl, string prm = null)
        {
            ProviderRepository repository = new ProviderRepository();

            try
            {
                Search search = new Search();

                search = SetValue(page, vl, prm);

                int pageSize   = 15;
                int pageNumber = (page ?? 1);

                ProviderVM viewModel = new ProviderVM();
                viewModel.Search = search;

                viewModel.Search.pageSize   = pageSize;
                viewModel.Search.pageNumber = pageNumber;

                viewModel.RProviderList = repository.SW_GetProviders(viewModel.Search);

                viewModel.ListCount = repository.SW_GetProvidersCount(viewModel.Search);
                int[] pc = new int[viewModel.ListCount];

                viewModel.Paging = pc.ToPagedList(pageNumber, pageSize);



                return(Request.IsAjaxRequest()
              ? (ActionResult)PartialView("PartialIndex", viewModel)
              : View(viewModel));
            }
            catch (Exception ex)
            {
                return(View("Error", new HandleErrorInfo(ex, "Error", "Error")));
            }
        }
示例#14
0
        public void SaveProvider(ProviderVM model)
        {
            var provider = Context.Providers
                           .Include("ServiceZipCodes")
                           .FirstOrDefault(p => p.ID == model.ID)
                           ?? new Domain2.Providers.Provider
            {
                ServiceZipCodes = new List <ProviderServiceZipCode>()
            };

            provider.FirstName         = model.FirstName;
            provider.LastName          = model.LastName;
            provider.IsHired           = model.IsHired;
            provider.ProviderTypeID    = model.Type.ID ?? 0;
            provider.ProviderSubTypeID = model.ProviderSubTypeID > 0 ? model.ProviderSubTypeID : null;
            provider.CompanyName       = model.CompanyName;
            provider.Phone             = model.Phone;
            provider.Email             = model.Email;
            provider.Address1          = model.Address1;
            provider.Address2          = model.Address2;
            provider.City                     = model.City;
            provider.State                    = model.State;
            provider.Zip                      = model.Zip;
            provider.NPI                      = model.NPI;
            provider.HourlyRate               = model.HourlyRate;
            provider.Phone2                   = model.Phone2;
            provider.Fax                      = model.Fax;
            provider.Notes                    = model.Notes;
            provider.Availability             = model.Availability;
            provider.HasBackgroundCheck       = model.HasBackgroundCheck;
            provider.HasReferences            = model.HasReferences;
            provider.HasResume                = model.HasResume;
            provider.CanCall                  = model.CanCall;
            provider.CanReachByPhone          = model.CanReachByPhone;
            provider.CanEmail                 = model.CanEmail;
            provider.DocumentStatus           = model.DocumentStatus;
            provider.LBA                      = model.LBA;
            provider.CertificationID          = model.CertificationID;
            provider.CertificationState       = model.CertificationState;
            provider.CertificationRenewalDate = model.CertificationRenewalDate;
            provider.W9Date                   = model.W9Date;
            provider.CAQH                     = model.CAQH;
            provider.PayrollID                = model.PayrollID;
            provider.ProviderGender           = model.Gender.ToString();
            provider.HireDate                 = model.HireDate;
            provider.Status                   = model.Status;
            UpdateProviderZipCodes(model, provider);
            if (provider.ID == 0)
            {
                if (model.HourlyRate.HasValue)
                {
                    var rate = new ProviderRate
                    {
                        Rate = model.HourlyRate.Value,
                        Type = RateType.Hourly
                    };
                    provider.ProviderRates.Add(rate);
                }
                Context.Providers.Add(provider);
            }
            SaveResumeFile(provider, model);
            Context.SaveChanges();
            ProviderSearchService.UpdateEntry(provider.ID);
            StaffingService.PerformCheckByProviderId(provider.ID);
        }
示例#15
0
        public ProviderVM GetProvider(int id)
        {
            var provider = Context.Providers.Find(id);

            if (provider == null)
            {
                return(null);
            }
            var model = new ProviderVM
            {
                ID                       = provider.ID,
                Active                   = provider.Status == ProviderStatus.Active,
                Status                   = provider.Status,
                IsHired                  = provider.IsHired,
                FirstName                = provider.FirstName,
                LastName                 = provider.LastName,
                CompanyName              = provider.CompanyName,
                Phone                    = provider.Phone,
                Phone2                   = provider.Phone2,
                Fax                      = provider.Fax,
                Email                    = provider.Email,
                Address1                 = provider.Address1,
                Address2                 = provider.Address2,
                City                     = provider.City,
                State                    = provider.State,
                Zip                      = provider.Zip,
                Notes                    = provider.Notes,
                Availability             = provider.Availability,
                HourlyRate               = provider.HourlyRate,
                HasBackgroundCheck       = provider.HasBackgroundCheck,
                HasReferences            = provider.HasReferences,
                HasResume                = provider.HasResume,
                CanCall                  = provider.CanCall,
                CanReachByPhone          = provider.CanReachByPhone,
                CanEmail                 = provider.CanEmail,
                DocumentStatus           = provider.DocumentStatus,
                LBA                      = provider.LBA,
                NPI                      = provider.NPI,
                CertificationID          = provider.CertificationID,
                CertificationState       = provider.CertificationState,
                CertificationRenewalDate = provider.CertificationRenewalDate,
                W9Date                   = provider.W9Date,
                CAQH                     = provider.CAQH,
                ResumeFileName           = provider.ResumeFileName,
                ResumeLocation           = provider.ResumeLocation,
                PayrollID                = provider.PayrollID,
                Gender                   = provider.ProviderGender?[0],
                HireDate                 = provider.HireDate,
                Type                     = new ProviderTypeVM
                {
                    ID               = provider.ProviderType.ID,
                    DateCreated      = provider.ProviderType.DateCreated,
                    Code             = provider.ProviderType.Code,
                    Name             = provider.ProviderType.Name,
                    IsOutsourced     = provider.ProviderType.IsOutsourced,
                    CanSuperviseCase = provider.ProviderType.CanSupervise
                },
                ProviderSubTypeID = provider.ProviderSubTypeID,
                ServiceZipCodes   = provider.ServiceZipCodes.ToList()
            };

            // TODO: refactor to use Domain2 entities.
            return(model);
        }