Exemplo n.º 1
0
        public UpdateCandidatoOtherInfoResponse UpdateCandidatoOtherInfo(CandidatoOtherInfoViewModel candidato)
        {
            var response = new UpdateCandidatoOtherInfoResponse();

            try
            {
                var candidatoModificar = _candidatoRepository.GetOne(x => x.CandidatoId == candidato.CandidatoId && x.IsActivo);

                candidatoModificar.Nombre               = candidato.Nombre;
                candidatoModificar.Apellidos            = candidato.Apellidos;
                candidatoModificar.NumeroIdentificacion = candidato.NIF;
                candidatoModificar.TitulacionId         = candidato.TitulacionId;

                _candidatoRepository.Update(candidatoModificar);

                var responseUpdateCandidatoEmail = UpdateCandidatoContacto(candidatoModificar.CandidatoId, candidato.Email, (int)TipoContactoEnum.Email);
                if (responseUpdateCandidatoEmail.IsValid)
                {
                    var responseUpdateCandidatoTelefono = UpdateCandidatoContacto(candidatoModificar.CandidatoId, candidato.Telefono, (int)TipoContactoEnum.Telefono);
                    if (responseUpdateCandidatoTelefono.IsValid)
                    {
                        response.IsValid     = true;
                        response.CandidatoId = candidatoModificar.CandidatoId;
                    }
                }
            }
            catch (Exception ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }
        private ContactarCandidatoResponse ContactarCandidato(ContactarCandidatoModel model)
        {
            var response = new ContactarCandidatoResponse();

            var candidatoGuardar = new CandidatoOtherInfoViewModel()
            {
                Nombre                   = model.Nombre,
                Apellidos                = model.Apellidos,
                NIF                      = model.NIF,
                Telefono                 = model.Telefono,
                Email                    = model.Email,
                TitulacionId             = model.TitulacionId,
                UsuarioCreacionOtherInfo = model.UsuarioCreacionOtherInfo
            };

            var responseCheckExistenteRecruiting = _candidatoService.CheckCandidatoEnRecruiting(model.Nombre + " " + model.Apellidos, model.Email, model.Telefono, model.NIF);

            if (responseCheckExistenteRecruiting.IsValid)
            {
                if (responseCheckExistenteRecruiting.ExistenteEnRecruiting)
                {
                    candidatoGuardar.CandidatoId = responseCheckExistenteRecruiting.CandidatoId;
                    var responseUpdateCandidato = _candidatoService.UpdateCandidatoOtherInfo(candidatoGuardar);
                    if (responseUpdateCandidato.IsValid)
                    {
                        var responseCrearCandidatura = CheckAndCreateCandidatura(model, responseUpdateCandidato.CandidatoId);
                        response.IsValid      = responseCrearCandidatura.IsValid;
                        response.ErrorMessage = responseCrearCandidatura.ErrorMessage;
                    }
                }
                else
                {
                    var responseCreateCandidato = _candidatoService.CreateCandidatoOtherInfo(candidatoGuardar);
                    if (responseCreateCandidato.IsValid)
                    {
                        var responseCrearCandidatura = CheckAndCreateCandidatura(model, responseCreateCandidato.CandidatoId);
                        response.IsValid      = responseCrearCandidatura.IsValid;
                        response.ErrorMessage = responseCrearCandidatura.ErrorMessage;
                    }
                }
            }

            return(response);
        }
Exemplo n.º 3
0
        public CreateCandidatoOtherInfoResponse CreateCandidatoOtherInfo(CandidatoOtherInfoViewModel candidato)
        {
            var response = new CreateCandidatoOtherInfoResponse();

            try
            {
                var candidatoCrear = new Candidato()
                {
                    Nombre               = candidato.Nombre,
                    Apellidos            = candidato.Apellidos,
                    NumeroIdentificacion = candidato.NIF,
                    TitulacionId         = candidato.TitulacionId,
                    IsActivo             = true,
                    EstadoCandidatoId    = 20,
                    DisponibilidadViaje  = false,
                    CambioResidencia     = false,
                    Created              = DateTime.Now,
                    CreatedBy            = candidato.UsuarioCreacionOtherInfo
                };

                _candidatoRepository.Create(candidatoCrear);

                var responseUpdateCandidatoEmail = UpdateCandidatoContacto(candidatoCrear.CandidatoId, candidato.Email, (int)TipoContactoEnum.Email);
                if (responseUpdateCandidatoEmail.IsValid)
                {
                    var responseUpdateCandidatoTelefono = UpdateCandidatoContacto(candidatoCrear.CandidatoId, candidato.Telefono, (int)TipoContactoEnum.Telefono);
                    if (responseUpdateCandidatoTelefono.IsValid)
                    {
                        response.IsValid     = true;
                        response.CandidatoId = candidatoCrear.CandidatoId;
                    }
                }
            }
            catch (Exception ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }