public static int ValidarCapacidadCorraleta(int corraletaID) { CorralInfo corral = null; int respuesta = 0; try { var corralPL = new CorralPL(); var lotePL = new LotePL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; corral = corralPL.ObtenerPorId(corraletaID); if (corral != null) { var lote = lotePL.ObtenerPorCorralID(new LoteInfo { CorralID = corral.CorralID, OrganizacionID = organizacionId }); if (lote != null) { if (corral.Capacidad > lote.Cabezas) { respuesta = 1; // Corral OK } else { respuesta = 2; // Corral No tiene capacidad } } else { respuesta = 1; // Corral OK ----->>> respuesta = 3;// no tiene lote activo } } else { respuesta = 0; // Corral no existe } } catch (Exception ex) { Logger.Error(ex); } return(respuesta); }
private void ObtenerDatosProyeccion() { try { var lotePL = new LotePL(); var loteProyeccionPL = new LoteProyeccionPL(); Contexto.Lote = lotePL.ObtenerPorCorralID(Contexto.Lote); if (Contexto.Lote == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfiguracionReimplante_LoteInvalido, MessageBoxButton.OK, MessageImage.Warning); Limpiar(); return; } if (Contexto.Lote.FechaCierre.Year < 2000) { Contexto.Lote.AplicaCierreLote = true; //SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], // Properties.Resources.ConfiguracionReimplante_LoteAbierto, MessageBoxButton.OK, MessageImage.Warning); //Limpiar(); //return; } Contexto.LoteProyeccion = loteProyeccionPL.ObtenerPorLoteCompleto(Contexto.Lote); if (Contexto.LoteProyeccion != null && Contexto.LoteProyeccion.ListaReimplantes != null && Contexto.LoteProyeccion.ListaReimplantes.Any()) { Contexto.LoteProyeccion.ListaReimplantes.ToList().ForEach(reimp => { reimp.PermiteEditar = reimp.FechaReal == DateTime.MinValue; }); ActualizarGrid(); } if (Contexto.LoteProyeccion == null) { Contexto.LoteProyeccion = new LoteProyeccionInfo(); Contexto.LoteProyeccion.FechaEntradaZilmax = DateTime.Now; } ObtenerDatosCalculados(); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfiguracionReimplante_ErrorConsultarProyeccion, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Metodo que valida los datos para guardar /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { if (string.IsNullOrWhiteSpace(txtDescripcion.Text)) { resultado = false; mensaje = Properties.Resources.CorralEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); txtDescripcion.SelectAll(); } else if (string.IsNullOrWhiteSpace(skAyudaOrganizacion.Clave) || string.IsNullOrWhiteSpace(skAyudaOrganizacion.Descripcion)) { resultado = false; mensaje = Properties.Resources.CorralEdicion_MsgOrganizacionRequerida; txtDescripcion.Focus(); var tRequest = new TraversalRequest(FocusNavigationDirection.Next); txtDescripcion.MoveFocus(tRequest); } else if (cmbTipoCorral.SelectedItem == null || Contexto.TipoCorral.TipoCorralID == 0) { resultado = false; mensaje = Properties.Resources.CorralEdicion_MsgTipoCorralRequerida; cmbTipoCorral.Focus(); } else if (string.IsNullOrWhiteSpace(txtCapacidad.Text) || txtCapacidad.Text == "0") { resultado = false; mensaje = Properties.Resources.CorralEdicion_MsgCapacidadRequerida; txtCapacidad.Focus(); txtCapacidad.SelectAll(); } else if (string.IsNullOrWhiteSpace(txtSeccion.Text) || txtSeccion.Text == "0") { resultado = false; mensaje = Properties.Resources.CorralEdicion_MsgSeccionRequerida; txtSeccion.Focus(); txtSeccion.SelectAll(); } else if (string.IsNullOrWhiteSpace(txtOrden.Text) || txtOrden.Text == "0") { resultado = false; mensaje = Properties.Resources.CorralEdicion_MsgOrdenRequerida; txtOrden.Focus(); txtOrden.SelectAll(); } else { var lotePL = new LotePL(); int corralId = Extensor.ValorEntero(txtCorralId.Text); string descripcion = txtDescripcion.Text; int organizacionID = Contexto.Organizacion.OrganizacionID; var corralPL = new CorralPL(); //CorralInfo corral = corralPL.ValidaCorralConLoteConExistenciaActivo(Contexto.CorralID); //if (corral != null) //{ // mensaje = Properties.Resources.Corral_MsgConExistencia; // resultado = false; //} //else CorralInfo corral = corralPL.ObtenerPorDescripcionOrganizacion(descripcion, organizacionID); if (corral != null && (corralId == 0 || corralId != corral.CorralID)) { resultado = false; mensaje = string.Format(Properties.Resources.CorralEdicion_MsgDescripcionExistente, corral.CorralID); } var loteFiltro = new LoteInfo { OrganizacionID = organizacionID, CorralID = corralId }; LoteInfo lote = lotePL.ObtenerPorCorralID(loteFiltro); if (lote != null) { if (corral != null) { if (corral.TipoCorral.TipoCorralID != Contexto.TipoCorral.TipoCorralID) { resultado = false; mensaje = string.Format(Properties.Resources.CorralEdicion_MsgCambiarTipoCorral, lote.Lote); } } } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
/// <summary> /// Guardar la salida por recuperacion /// </summary> /// <returns></returns> private bool GuardarSalidaRecuperacion() { var regreso = false; if (lisBoxCorralDestino.Items.Count > 0) { var lotePL = new LotePL(); var lote = new LoteInfo { Corral = new CorralInfo { CorralID = corralIdOrigen }, CorralID = corralIdOrigen, OrganizacionID = organizacionId }; lote = lotePL.ObtenerPorCorralID(lote); var animalMovimientoPL = new AnimalMovimientoPL(); List <AnimalMovimientoInfo> movimientosAnimal = animalMovimientoPL.ObtenerUltimoMovimientoAnimal(animales); if (movimientosAnimal != null) { var loteDestino = new LoteInfo { Corral = new CorralInfo { CorralID = corralIdDestino }, CorralID = corralIdDestino, OrganizacionID = organizacionId }; loteDestino = lotePL.ObtenerPorCorralID(loteDestino); movimientosAnimal.ForEach(datos => { datos.LoteID = loteDestino.LoteID; datos.CorralID = corralIdDestino; datos.TipoMovimientoID = TipoMovimiento.SalidaEnfermeria.GetHashCode(); datos.Activo = EstatusEnum.Activo; datos.UsuarioCreacionID = usuario; datos.UsuarioModificacionID = usuario; }); lote.Cabezas -= movimientosAnimal.Count; loteDestino.Cabezas += movimientosAnimal.Count; using (var scope = new TransactionScope()) { animalMovimientoPL.GuardarAnimalMovimientoXML(movimientosAnimal); var filtro = new FiltroActualizarCabezasLote { CabezasProcesadas = movimientosAnimal.Count, LoteIDDestino = loteDestino.LoteID, LoteIDOrigen = lote.LoteID, UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado() }; lotePL.ActualizarCabezasProcesadas(filtro); scope.Complete(); } regreso = true; } } return(regreso); }