public InsertWorkerModel(Guid userId)
        {
            var      workServ = ServiceLocator.Get <IWorkerService>();
            WorkerVO w        = workServ.Get(x => x.UserFK == userId);

            w        = workServ.LoadEnumerablesProperties(w);
            WorkerVO = w;
            UserVO   = w.User;
            if (UserVO.Municipality != null)
            {
                Province            = WebNomenclatorsCache.Instance.Provinces.Where(x => x.Id == w.User.Municipality.ProvinciaId).FirstOrDefault();
                UserVO.Municipality = Municipalities.Where(x => x.Id == UserVO.Municipality.Id).FirstOrDefault();
            }
            UserClientRole = UserClientRole.Trabajador;
            //AuthenticationTypes = UserVO.AuthenticationType;
            SelectedCourses         = new ObservableCollection <CourseVO>(w.Courses);
            SelectedLicenses        = new ObservableCollection <DriverLicenseVO>(w.DriverLicenses);
            SelectedVehicles        = new ObservableCollection <VehicleVO>(w.Vehicles);
            SelectedWorkAspirations = new ObservableCollection <WorkAspirationVO>(w.WorkAspirations);
            SelectedWorkerLanguages = new ObservableCollection <WorkerLanguageVO>(w.Languages);
            SelectedWorkReferences  = new ObservableCollection <WorkReferenceVO>(w.WorkReferences);

            WorkerLanguagesSource = (from l in WebNomenclatorsCache.Instance.Languages
                                     select new WorkerLanguageVO
            {
                Language = new LanguageVO
                {
                    Id = l.Id,
                    Name = l.Name,
                },
            }).ToList();
            var ll = WebNomenclatorsCache.Instance.LanguageLevels.Where(x => x.Name == "Básico").FirstOrDefault();

            if (ll == null)
            {
                throw new Exception("Error interno");
            }
            foreach (var item in WorkerLanguagesSource)
            {
                item.LanguageLevel = ll;
                item.WorkerFK      = WorkerVO.Id;
            }

            WorkAspirationsSource = new List <WorkAspirationVO>();
            foreach (var item in WebNomenclatorsCache.Instance.Workplaces)
            {
                WorkAspirationsSource.Add(new WorkAspirationVO()
                {
                    WorkerFK  = WorkerVO.Id,
                    Workplace = item,
                });
            }
        }
        public InsertWorkerModel(UserVO user)
        {
            UserClientRole = UserClientRole.Trabajador;
            UserVO         = user;
            WorkerVO       = new WorkerVO()
            {
                Id        = Guid.NewGuid(),
                UserFK    = user.Id,
                User      = UserVO,
                Childrens = true,
                Gender    = WebNomenclatorsCache.Instance.Genders.Where(x => x.Name == Gender.Masculino.ToString()).FirstOrDefault(),
            };

            SelectedCourses         = new ObservableCollection <CourseVO>();
            SelectedLicenses        = new ObservableCollection <DriverLicenseVO>();
            SelectedVehicles        = new ObservableCollection <VehicleVO>();
            SelectedWorkAspirations = new ObservableCollection <WorkAspirationVO>();
            SelectedWorkerLanguages = new ObservableCollection <WorkerLanguageVO>();
            SelectedWorkReferences  = new ObservableCollection <WorkReferenceVO>();

            WorkerLanguagesSource = (from l in WebNomenclatorsCache.Instance.Languages
                                     select new WorkerLanguageVO
            {
                Language = new LanguageVO
                {
                    Id = l.Id,
                    Name = l.Name,
                },
            }).ToList();
            var ll = WebNomenclatorsCache.Instance.LanguageLevels.Where(x => x.Name == "Básico").FirstOrDefault();

            if (ll == null)
            {
                throw new Exception("Error interno");
            }
            foreach (var item in WorkerLanguagesSource)
            {
                item.LanguageLevel = ll;
                item.WorkerFK      = WorkerVO.Id;
            }

            WorkAspirationsSource = new List <WorkAspirationVO>();
            foreach (var item in WebNomenclatorsCache.Instance.Workplaces)
            {
                WorkAspirationsSource.Add(new WorkAspirationVO()
                {
                    WorkerFK  = WorkerVO.Id,
                    Workplace = item,
                });
            }
        }