public SaveNecesidadResponse SaveNecesidad(CreateEditNecesidadViewModel necesidadViewModel)
        {
            var response = new SaveNecesidadResponse()
            {
                IsValid     = true,
                NecesidadId = new Random().Next(0, 1000)
            };

            return(response);
        }
        public void UpdateNecesidad()
        {
            using (var tx = new TransactionManager())
            {
                var modifiableEntityViewModel = new ModifiableEntityViewModel()
                {
                    CreatedBy  = USER_ID,
                    Created    = CREATED_DATE,
                    ModifiedBy = USER_ID,
                    Modified   = MODIFIED_DATE
                };

                var viewModel = new CreateEditNecesidadViewModel()
                {
                    NecesidadId               = NECESIDAD_ID,
                    Nombre                    = NOMBRE_NECESIDAD,
                    OficinaId                 = OFICINA_ID,
                    CentroId                  = CENTRO_ID,
                    SectorId                  = SECTOR_ID,
                    ClienteId                 = CLIENTE_ID,
                    ProyectoId                = PROYECTO_ID,
                    TipoServicioId            = TIPO_SERVICIO_ID,
                    TipoPerfilId              = TIPO_PERFIL_ID,
                    TipoTecnologiaId          = TIPO_TECNOLOGIA_ID,
                    TipoContratacionId        = TIPO_CONTRATACION_ID,
                    TipoPrevisionId           = TIPO_PREVISION_ID,
                    MesesAsignacionId         = MESES_ASIGNACION_ID,
                    DetalleTecnologia         = DETALLE_TECNOLOGIA,
                    DisponibilidadViajes      = true,
                    DisponibilidadReubicacion = false,
                    FechaSolicitud            = FECHA_SOLICITUD,
                    FechaCompromiso           = FECHA_COMPROMISO,
                    FechaCierre               = FECHA_CIERRE,
                    EstadoNecesidadId         = ESTADO_NECESIDAD_ID_NEW,
                };

                var response = _necesidadService.SaveNecesidad(viewModel);

                Assert.IsTrue(response.IsValid);
                Assert.Equals(response.NecesidadId, NECESIDAD_ID);
            }
        }
Пример #3
0
        public static void UpdateNecesidad(this Necesidad necesidad, CreateEditNecesidadViewModel createEditNecesidadViewModel, Proyecto proyecto)
        {
            if (createEditNecesidadViewModel.NecesidadId != null)
            {
                necesidad.NecesidadId = (int)createEditNecesidadViewModel.NecesidadId;

                necesidad.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                necesidad.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                necesidad.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                necesidad.Created   = ModifiableEntityHelper.GetCurrentDate();
            }
            necesidad.Nombre                = createEditNecesidadViewModel.Nombre;
            necesidad.OficinaId             = createEditNecesidadViewModel.OficinaId;
            necesidad.CentroId              = createEditNecesidadViewModel.CentroId;
            necesidad.SectorId              = createEditNecesidadViewModel.SectorId;
            necesidad.ProyectoId            = createEditNecesidadViewModel.ProyectoId;
            necesidad.TipoServicioId        = createEditNecesidadViewModel.TipoServicioId;
            necesidad.TipoPerfilId          = createEditNecesidadViewModel.TipoPerfilId;
            necesidad.TipoTecnologiaId      = createEditNecesidadViewModel.TipoTecnologiaId;
            necesidad.TipoContratacionId    = createEditNecesidadViewModel.TipoContratacionId;
            necesidad.DisponibilidadViaje   = createEditNecesidadViewModel.DisponibilidadViajes;
            necesidad.CambioResidencia      = createEditNecesidadViewModel.DisponibilidadReubicacion;
            necesidad.NecesidadIdioma       = createEditNecesidadViewModel.NecesidadIdioma;
            necesidad.TipoPrevisionId       = createEditNecesidadViewModel.TipoPrevisionId;
            necesidad.MesesAsignacionId     = createEditNecesidadViewModel.MesesAsignacionId;
            necesidad.Observaciones         = createEditNecesidadViewModel.DetalleTecnologia ?? necesidad.Observaciones;
            necesidad.EstadoNecesidadId     = createEditNecesidadViewModel.EstadoNecesidadId;
            necesidad.FechaSolicitud        = (DateTime)createEditNecesidadViewModel.FechaSolicitud;
            necesidad.FechaCompromiso       = createEditNecesidadViewModel.FechaCompromiso;
            necesidad.FechaCierre           = createEditNecesidadViewModel.FechaCierre;
            necesidad.IsActivo              = true;
            necesidad.ReferenciaExterna     = createEditNecesidadViewModel.ReferenciaExterna;
            necesidad.AsignadaCorrectamente = createEditNecesidadViewModel.AsignadaCorrectamente;
            necesidad.EstadoNecesidadId     = createEditNecesidadViewModel.EstadoNecesidadId;
            if ((createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                 createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                necesidad.PersonaAsignada            = createEditNecesidadViewModel.PersonaAsignada;
                necesidad.PersonaAsignadaId          = createEditNecesidadViewModel.PersonaAsignadaId;
                necesidad.PersonaAsignadaNroEmpleado = createEditNecesidadViewModel.PersonaAsignadaNroEmpleado;
            }
            else if ((createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                      createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.Contratación)
            {
                necesidad.PersonaAsignada            = createEditNecesidadViewModel.PersonaAsignada;
                necesidad.PersonaAsignadaId          = createEditNecesidadViewModel.PersonaAsignadaId;
                necesidad.PersonaAsignadaNroEmpleado = null;
                necesidad.CandidaturaId = createEditNecesidadViewModel.candidaturaId;
            }
            else if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Abierta &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.Contratación &&
                     createEditNecesidadViewModel.PersonaAsignadaId != null)
            {
                necesidad.PersonaAsignadaId = null;
                necesidad.CandidaturaId     = null;
                necesidad.PersonaAsignada   = null;
            }
            else if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Abierta &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno &&
                     createEditNecesidadViewModel.PersonaAsignadaId != null)
            {
                necesidad.PersonaAsignadaId          = null;
                necesidad.PersonaAsignada            = null;
                necesidad.PersonaAsignadaNroEmpleado = null;
            }
            if (createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                necesidad.CandidaturaId = null;
            }
            necesidad.Modulo = createEditNecesidadViewModel.Modulo;

            if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada && createEditNecesidadViewModel.AsignadaCorrectamente == null)
            {
                necesidad.AsignadaCorrectamente = false;
            }
            if (createEditNecesidadViewModel.GrupoNecesidad != null && createEditNecesidadViewModel.GrupoNecesidad != 0)
            {
                necesidad.GrupoNecesidadId = createEditNecesidadViewModel.GrupoNecesidad;
            }

            if (proyecto != null)
            {
                necesidad.CuentaProyecto  = proyecto.CuentaCargo;
                necesidad.PersonaProyecto = proyecto.Persona;
            }
        }
Пример #4
0
        public static CreateEditNecesidadViewModel ConvertToCreateEditNecesidadViewModel(this Necesidad necesidad)
        {
            var createEditNecesidadViewModel = new CreateEditNecesidadViewModel
            {
                NecesidadId                = necesidad.NecesidadId,
                Nombre                     = necesidad.Nombre,
                OficinaId                  = necesidad.OficinaId,
                OficinaNombre              = necesidad.Oficina?.Nombre,
                CentroId                   = necesidad.CentroId,
                SectorId                   = necesidad.SectorId,
                SectorNombre               = necesidad.Sector?.Nombre,
                ClienteId                  = necesidad.Proyecto.ClienteId,
                ClienteNombre              = necesidad.Proyecto.Cliente?.Nombre,
                ProyectoId                 = necesidad.ProyectoId,
                ProyectoNombre             = necesidad.Proyecto?.Nombre,
                TipoServicioId             = necesidad.TipoServicioId,
                TipoServicioNombre         = necesidad.TipoServicio?.Nombre,
                TipoPerfilId               = necesidad.TipoPerfilId,
                TipoPerfilNombre           = necesidad.TipoPerfil?.Nombre,
                TipoTecnologiaId           = necesidad.TipoTecnologiaId,
                TipoTecnologiaNombre       = necesidad.TipoTecnologia?.Nombre,
                TipoContratacionId         = necesidad.TipoContratacionId,
                TipoContratacionNombre     = necesidad.TipoContratacion?.Nombre,
                TipoPrevisionId            = necesidad.TipoPrevisionId,
                TipoPrevisionNombre        = necesidad.TipoPrevision?.Nombre,
                MesesAsignacionId          = necesidad.MesesAsignacionId,
                MesesAsignacionNombre      = necesidad.MesesAsignacion?.Nombre,
                DetalleTecnologia          = necesidad.Observaciones,
                DisponibilidadViajes       = (necesidad.DisponibilidadViaje == true),
                DisponibilidadReubicacion  = (necesidad.CambioResidencia == true),
                NecesidadIdioma            = (necesidad.NecesidadIdioma == true),
                FechaSolicitud             = necesidad.FechaSolicitud,
                FechaCompromiso            = necesidad.FechaCompromiso,
                FechaCierre                = necesidad.FechaCierre,
                EstadoNecesidadId          = necesidad.EstadoNecesidadId,
                EstadoNecesidadNombre      = necesidad.EstadoNecesidad?.Nombre,
                NombreCentro               = necesidad.Centro?.Nombre,
                PersonaAsignada            = necesidad.GetPersonaAsignada(),
                PersonaAsignadaId          = necesidad.PersonaAsignadaId,
                PersonaAsignadaNroEmpleado = necesidad.PersonaAsignadaNroEmpleado,
                Modulo                     = necesidad.Modulo,
                NombreModulo               = GetNombreModulo(necesidad.Modulo),
                candidaturaId              = necesidad.CandidaturaId,
                ReferenciaExterna          = necesidad.ReferenciaExterna,
                AsignadaCorrectamente      = necesidad.AsignadaCorrectamente,
                GrupoNecesidad             = necesidad.GrupoNecesidadId,
                GrupoNecesidadName         = necesidad.GrupoNecesidadId != null ? necesidad.GrupoNecesidad.Nombre : string.Empty,
                Activo                     = necesidad.IsActivo
            };

            if ((necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                 necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                necesidad.TipoContratacionId == (int)TipoContratacionEnum.Contratación)
            {
                createEditNecesidadViewModel.PersonaAsignadaNroEmpleado = null;
            }

            if (necesidad.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                createEditNecesidadViewModel.candidaturaId = null;
            }

            return(createEditNecesidadViewModel);
        }