public ResultadoEntidad DarBajaAccesorio(AccesorioEntidad AccesorioEntidadObjeto, SqlTransaction Transaccion, SqlConnection Conexion) { AccesorioProceso AccesorioProcesoObjeto = new AccesorioProceso(); ResultadoEntidad Resultado = new ResultadoEntidad(); Resultado = InsertarHistorialAccesorio(Conexion, Transaccion, AccesorioEntidadObjeto); if (Resultado.ErrorId == (int)ConstantePrograma.Accesorio.HistorialAccesorioGuardadoCorrectamente) { Resultado = EliminarAccesorio(Conexion, Transaccion, AccesorioEntidadObjeto); if (Resultado.ErrorId == (int)ConstantePrograma.Accesorio.AccesorioEliminadoCorrectamente) { Resultado.ErrorId = (int)ConstantePrograma.BajaActivo.BajaActivoCorrecta; } } return(Resultado); }
public bool BuscarAccesorioNoActivoFijo(TemporalAccesorioEntidad TemporalAccesorioObjetoEntidad) { ResultadoEntidad Resultado = new ResultadoEntidad(); AccesorioEntidad BusquedaAccesorioObjetoEntidad = new AccesorioEntidad(); AccesorioProceso AccesorioProcesoObjeto = new AccesorioProceso(); bool ExisteAccesorio = false; BusquedaAccesorioObjetoEntidad.TipoAccesorioId = TemporalAccesorioObjetoEntidad.TipoAccesorioId; //Dependiendo del Tipo de Accesorio se va ha hacer la busqueda if (TemporalAccesorioObjetoEntidad.TipoAccesorioId != (int)ConstantePrograma.TipoAccesorio.ActivoFijo) { BusquedaAccesorioObjetoEntidad.Descripcion = TemporalAccesorioObjetoEntidad.Descripcion; Resultado = AccesorioProcesoObjeto.SeleccionarAccesorio(BusquedaAccesorioObjetoEntidad); if (Resultado.ResultadoDatos.Tables[0].Rows.Count > 0) { ExisteAccesorio = true; } } return(ExisteAccesorio); }
public ResultadoEntidad GuardarAsignacionGeneral(ActivoEntidad ActivoRecibidoObjetoEntidad) { ResultadoEntidad Resultado = new ResultadoEntidad(); ActivoEntidad ActivoObjetoEntidad = new ActivoEntidad(); AccesorioEntidad AccesorioObjetoEntidad = new AccesorioEntidad(); AccesorioProceso AccesorioProcesoNegocio = new AccesorioProceso(); //Validamos que ninguno de los activos del documento este asignado a un empleado ActivoObjetoEntidad.CompraId = ActivoRecibidoObjetoEntidad.CompraId; ActivoObjetoEntidad.TipoDeMovimiento = (int)ConstantePrograma.TipoMovimiento.Asignacion; Resultado = SeleccionarMovimientoPorDocumento(ActivoObjetoEntidad); if (Resultado.ResultadoDatos.Tables[0].Rows.Count == 0) { //Ahora se valida que ninguno de los activos del documento este asignado a otro activo AccesorioObjetoEntidad.CompraId = ActivoRecibidoObjetoEntidad.CompraId; Resultado = AccesorioProcesoNegocio.SeleccionarAccesorioPorDocumento(AccesorioObjetoEntidad); if (Resultado.ResultadoDatos.Tables[0].Rows.Count == 0) { //Si pasó la validación, ahora se insertan los movimientos de asignacion Resultado = InsertarMovimientoAsignacionGeneral(ActivoRecibidoObjetoEntidad); } else { Resultado.DescripcionError = TextoError.DocumentoProcesado; } } else { Resultado.DescripcionError = TextoError.DocumentoProcesado; } return(Resultado); }
public ResultadoEntidad GuardarActivo(SqlConnection Conexion, SqlTransaction Transaccion, CompraEntidad CompraObjetoEntidad, DataSet dsActivo, Int16 TipoMovimientoId) { ResultadoEntidad Resultado = new ResultadoEntidad(); ResultadoEntidad ResultadoMovimiento = new ResultadoEntidad(); ActivoProceso ActivoProcesoNegocio = new ActivoProceso(); ActivoEntidad ActivoObjetoEntidad = new ActivoEntidad(); AsignacionEntidad AsignacionObjetoEntidad = new AsignacionEntidad(); AccesorioProceso AccesorioProcesoNegocio = new AccesorioProceso(); AsignacionProceso AsignacionProcesoNegocio = new AsignacionProceso(); AccesorioEntidad AccesorioObjetoEntidad = new AccesorioEntidad(); Int16 UsuarioId = 0; Int16 ActivoId = 0; UsuarioId = CompraObjetoEntidad.UsuarioIdInserto; //Se barren los activos y se insertan foreach (DataRow dtRegistro in dsActivo.Tables[0].Rows) { ActivoObjetoEntidad.CompraId = CompraObjetoEntidad.CompraId; ActivoObjetoEntidad.TemporalActivoId = int.Parse(dtRegistro["TemporalActivoId"].ToString()); //ActivoObjetoEntidad.EstatusId = EstatusId; Resultado = ActivoProcesoNegocio.GuardarActivo(Conexion, Transaccion, ActivoObjetoEntidad); //Si el activo se guardo correctamente se obtiene su ID, se inserta el movimiento de alta y se inserta los accesorios if (Resultado.ErrorId == (int)ConstantePrograma.Activo.ActivoGuardadoCorrectamente) { ActivoId = (Int16)Resultado.NuevoRegistroId; //Ahora se inserta el movimiento de alta ResultadoMovimiento = GuardarMovimientoAlta(dtRegistro, ActivoId, UsuarioId, Conexion, Transaccion); if (ResultadoMovimiento.ErrorId == (int)ConstantePrograma.Movimiento.MovimientoAltaGuardadoCorrectamente) { //Si el tipo de movimiento es Asignacion (pantalla Historial) se inserta el movimiento de Asignacion if (TipoMovimientoId == (Int16)ConstantePrograma.TipoMovimiento.Asignacion) { //AsignacionObjetoEntidad.ActivoId = (Int16)Resultado.NuevoRegistroId; //AsignacionObjetoEntidad.EmpleadoId = Int16.Parse(dtRegistro["EmpleadoId"].ToString()); //AsignacionObjetoEntidad.UsuarioIdInserto = UsuarioId; //Resultado = AsignacionProcesoNegocio.GuardarAsignacion(Conexion, Transaccion, AsignacionObjetoEntidad); ResultadoMovimiento = GuardarMovimientoAsignacion(dtRegistro, ActivoId, UsuarioId, Conexion, Transaccion); } if (ResultadoMovimiento.ErrorId == (int)ConstantePrograma.Movimiento.MovimientoAltaGuardadoCorrectamente || ResultadoMovimiento.ErrorId == (int)ConstantePrograma.Movimiento.MovimientoAsignacionGuardadoCorrectamente) { // Si el tipo de activo es de Vehiculo, entones puede tener accesorios, y se insertan if (Int16.Parse(dtRegistro["TipoActivoId"].ToString()) == (Int16)ConstantePrograma.TipoAtivoConAccesorio.TipoActivoVehículoId) { AccesorioObjetoEntidad.ActivoId = ActivoId; AccesorioObjetoEntidad.TemporalActivoId = int.Parse(dtRegistro["TemporalActivoId"].ToString()); AccesorioObjetoEntidad.UsuarioIdInserto = UsuarioId; Resultado = AccesorioProcesoNegocio.GuardarAccesorio(Conexion, Transaccion, AccesorioObjetoEntidad); //Si el accesorio(s) no se guardo correctamente se sale if (Resultado.ErrorId != (int)ConstantePrograma.Accesorio.AccesorioGuardadoCorrectamente) { break; } } } else { Resultado.ErrorId = ResultadoMovimiento.ErrorId; break; } } else { Resultado.ErrorId = ResultadoMovimiento.ErrorId; break; } } else { break; } } return(Resultado); }