Exemple #1
0
        public static EntradaGanadoInfo ObtenerPartida(int corralID)
        {
            EntradaGanadoInfo retValue = null;

            try
            {
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                var        corralPl = new CorralPL();
                CorralInfo corral   = corralPl.ObtenerPorId(corralID);
                if (corral != null && seguridad != null)
                {
                    if (corral.GrupoCorral != GrupoCorralEnum.Recepcion.GetHashCode())
                    {
                        retValue = new EntradaGanadoInfo();
                    }
                    else
                    {
                        retValue = corralPl.ObtenerPartidaCorral(organizacionId, corralID);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(retValue);
        }
Exemple #2
0
        public static CorralInfo ObtenerCorralAreteTestigo(string areteTestigo)
        {
            CorralInfo corral = null;

            try
            {
                var seguridad      = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                int organizacionId = 0;

                if (seguridad != null)
                {
                    organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                }

                var animalPl   = new AnimalPL();
                var corralPl   = new CorralPL();
                var animalInfo = animalPl.ObtenerAnimalPorAreteTestigo(areteTestigo, organizacionId);

                if (animalInfo != null)
                {
                    var ultimoMovimiento = animalPl.ObtenerUltimoMovimientoAnimal(animalInfo);
                    if (ultimoMovimiento != null)
                    {
                        corral = corralPl.ObtenerPorId(ultimoMovimiento.CorralID);
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error(e);
            }

            return(corral);
        }
Exemple #3
0
        public static LoteInfo ObtenerLotesCorral(int corralID)
        {
            LoteInfo   lote   = null;
            CorralInfo corral = null;

            try
            {
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                if (seguridad != null)
                {
                    var corralPL = new CorralPL();
                    corral = corralPL.ObtenerPorId(corralID);
                    if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.CorraletaSacrificio)
                    {
                        var lotePL = new LotePL();
                        lote = lotePL.DeteccionObtenerPorCorral(organizacionId, corralID);
                    }
                    else
                    {
                        lote = new LoteInfo();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(lote);
        }
        public static CorralInfo ObtenerCorral(string arete)
        {
            AnimalInfo           animal           = null;
            AnimalMovimientoInfo animalMovimiento = null;
            CorralInfo           corral           = null;
            int respuesta = 0;

            try
            {
                var animalPL       = new AnimalPL();
                var corralPL       = new CorralPL();
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                animalMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animal);

                corral = corralPL.ObtenerPorId(animalMovimiento.CorralID);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(corral);
        }
Exemple #5
0
        public void CorralObtenerPorIdSinDatos()
        {
            var        pl     = new CorralPL();
            CorralInfo corral = pl.ObtenerPorId(0);

            Assert.AreEqual(corral, null);
        }
Exemple #6
0
        public void CorralObtenerPorId()
        {
            var        pl     = new CorralPL();
            CorralInfo corral = pl.ObtenerPorId(1);

            Assert.AreNotEqual(corral, null);
        }
        public static RepartoDetalleInfo ObtenerOrdenRepartoDetalleTarde(int loteID, int repartoID, int corralID, string fechaReparto)
        {
            IList <RepartoDetalleInfo> repartoDetalleLista = null;
            RepartoDetalleInfo         repartoDetalle      = null;
            LoteInfo    lote      = null;
            RepartoInfo reparto   = new RepartoInfo();
            RepartoPL   repartoPL = new RepartoPL();
            LotePL      lotePL    = new LotePL();
            var         corralPL  = new CorralPL();

            try
            {
                var fecha = DateTime.Parse(fechaReparto.ToString(CultureInfo.InvariantCulture));

                var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];

                if (seguridad != null)
                {
                    lote = lotePL.ObtenerPorId(loteID);
                    CorralInfo corral = corralPL.ObtenerPorId(corralID);

                    /*DateTime fecha = new DateTime();
                     * fecha = DateTime.Now;
                     * fecha = fecha.AddDays(-1);*/
                    if (lote != null)
                    {
                        reparto = repartoPL.ObtnerPorLote(lote, fecha);
                    }
                    else
                    {
                        reparto = repartoPL.ObtnerPorFechaCorral(corral, fecha);
                    }

                    if (reparto != null)
                    {
                        repartoDetalleLista = repartoPL.ObtenerDetalle(reparto);

                        if (repartoDetalleLista != null)
                        {
                            for (int i = 0; i < repartoDetalleLista.Count; i++)
                            {
                                if (repartoDetalleLista[i].TipoServicioID == (int)TipoServicioEnum.Vespertino)
                                {
                                    repartoDetalle = repartoDetalleLista[i];
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(repartoDetalle);
        }
 private static CorralInfo TraerCorralPorId(int corralId)
 {
     try
     {
         var        corralPL = new CorralPL();
         CorralInfo corral   = corralPL.ObtenerPorId(corralId);
         return(corral);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
        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);
        }
Exemple #10
0
        public void CorralActualizar()
        {
            var        random       = new Random();
            int        randomNumber = random.Next(0, 100);
            var        pl           = new CorralPL();
            CorralInfo corral       = pl.ObtenerPorId(1);

            if (corral != null)
            {
                string descripcion;
                try
                {
                    descripcion   = string.Format("A{0:D9}", randomNumber);
                    corral.Codigo = descripcion;
                    corral.UsuarioModificacionID = 4;
                    pl.Guardar(corral);
                }
                catch (Exception)
                {
                    descripcion = string.Empty;
                }
                Assert.AreEqual(corral.Codigo, descripcion);
            }
        }
        public static int ObtenerUltimoMovimiento(string arete)
        {
            AnimalInfo             animal           = null;
            AnimalMovimientoInfo   animalMovimiento = null;
            CorralInfo             corral           = null;
            List <TratamientoInfo> tratamientos     = null;

            int respuesta = 0;

            try
            {
                var animalPL       = new AnimalPL();
                var corralPL       = new CorralPL();
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                animalMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animal);

                int animalSalida = animalPL.ObtenerExisteSalida(animal.AnimalID);

                var tratamiento = new CorteTransferenciaGanadoPL();

                tratamientos = tratamiento.ObtenerTratamientosAplicados(animal, -1);
                if (tratamientos != null)
                {
                    tratamientos =
                        tratamientos.Where(
                            tipo =>
                            tipo.TipoTratamientoInfo.TipoTratamientoID == TipoTratamiento.Enfermeria.GetHashCode() ||
                            tipo.TipoTratamientoInfo.TipoTratamientoID ==
                            TipoTratamiento.EnfermeriaAlCorte.GetHashCode()).
                        ToList();
                    for (var i = 0; i < tratamientos.Count; i++)
                    {
                        TimeSpan dias = DateTime.Now - tratamientos[i].FechaAplicacion;
                        if (dias.TotalDays < 30)
                        {
                            respuesta = 4; //No han pasado los treinta dias despues de ultimo tratamiento
                        }
                    }
                }

                if (respuesta == 0)
                {
                    if (animalSalida == 0)
                    {
                        //if (animalMovimiento.TipoMovimientoID == (int) TipoMovimiento.EntradaEnfermeria)
                        //{
                        corral = corralPL.ObtenerPorId(animalMovimiento.CorralID);
                        if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.Enfermeria ||
                            corral.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoRecuperacion ||
                            corral.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoVentaMuerte)
                        {
                            if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.CronicoVentaMuerte)
                            {
                                respuesta = 1;     //El arete es valido
                            }
                            else
                            {
                                respuesta = 2;     //El arete es de tipo cronico
                            }
                        }
                        else
                        {
                            respuesta = 0;     //El arete no se encuentra en enfermeria
                        }
                        //}
                        //else
                        //{
                        //    respuesta = 0; //El arete no se encuentra en enfermeria
                        //}
                    }
                    else
                    {
                        respuesta = 3; //El arete ya tiene una salida
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(respuesta);
        }
        public static RepartoInfo ObtenerOrdenReparto(int loteID, int corralID, string fechaReparto)
        {
            RepartoInfo reparto   = null;
            LoteInfo    lote      = null;
            RepartoPL   repartoPL = new RepartoPL();
            LotePL      lotePL    = new LotePL();
            var         corralPL  = new CorralPL();
            var         fecha     = DateTime.Parse(fechaReparto);

            try
            {
                var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];

                if (seguridad != null)
                {
                    lote = lotePL.ObtenerPorId(loteID);
                    CorralInfo corral = corralPL.ObtenerPorId(corralID);
                    //if (lote != null)
                    //{
                    if (lote != null)
                    {
                        reparto = repartoPL.ObtnerPorLote(lote, fecha);
                    }
                    else
                    {
                        reparto = repartoPL.ObtnerPorFechaCorral(corral, fecha);
                    }

                    if (lote != null && reparto == null)
                    {
                        reparto = repartoPL.ObtnerPorFechaCorral(corral, fecha);
                        if (reparto == null || reparto.LoteID == 0 || reparto.LoteID != lote.LoteID)
                        {
                            reparto = null;
                        }
                    }

                    if (reparto != null && reparto.DetalleReparto != null /* &&
                                                                           * reparto.DetalleReparto.Count ==
                                                                           * reparto.DetalleReparto.Where(dato => dato.Servido == true).ToList().Count()*/)
                    {
                        var matutinosServidos  = 0;
                        var vespertinoServidos = 0;

                        matutinosServidos =
                            reparto.DetalleReparto.Count(
                                tmpDetalleReparto =>
                                tmpDetalleReparto.TipoServicioID == (int)TipoServicioEnum.Matutino &&
                                tmpDetalleReparto.Servido);
                        if (matutinosServidos > 0)
                        {
                            reparto.TotalRepartos = 1;
                        }
                        vespertinoServidos =
                            reparto.DetalleReparto.Count(
                                tmpDetalleReparto =>
                                tmpDetalleReparto.TipoServicioID == (int)TipoServicioEnum.Vespertino &&
                                tmpDetalleReparto.Servido);

                        reparto.CantidadPedido = reparto.DetalleReparto.Where(
                            tmpDetalleReparto =>
                            tmpDetalleReparto.TipoServicioID == (int)TipoServicioEnum.Vespertino ||
                            tmpDetalleReparto.TipoServicioID == (int)TipoServicioEnum.Matutino)
                                                 .ToList().Sum(tmpDetalleReparto => tmpDetalleReparto.CantidadProgramada);

                        if (vespertinoServidos > 0)
                        {
                            reparto.TotalRepartos = 2;
                        }
                        if (reparto.TotalRepartos == 0)
                        {
                            reparto.TotalRepartos = 3;
                        }
                        RepartoDetalleInfo repartoMatutino = reparto.DetalleReparto.FirstOrDefault(
                            tmpDetalleReparto =>
                            tmpDetalleReparto.TipoServicioID == (int)TipoServicioEnum.Matutino);
                        if (repartoMatutino != null)
                        {
                            reparto.CantidadProgramadaManiana = repartoMatutino.CantidadProgramada;
                        }
                    }
                    else
                    {
                        reparto = new RepartoInfo {
                            Fecha = fecha, TotalRepartos = 0
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(reparto);
        }
        private bool ValidarAreteMetalico()
        {
            try
            {
                var animalInfo = new AnimalInfo
                {
                    AreteMetalico         = txtAreteMetalico.Text,
                    OrganizacionIDEntrada = organizacionID
                };
                //Buscar el animal en el inventario
                var corteGanadoPl = new CorteGanadoPL();
                animalInfo = corteGanadoPl.ExisteAreteMetalicoEnPartida(animalInfo);
                if (animalInfo != null)
                {
                    //Se obtiene el ultimo movimiento
                    var animalPL         = new AnimalPL();
                    var ultimoMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animalInfo);
                    if (ultimoMovimiento != null)
                    {
                        //Se obtiene el corral en el que se encuentra
                        var corralPL   = new CorralPL();
                        var corralInfo = corralPL.ObtenerPorId(ultimoMovimiento.CorralID);
                        if (corralInfo != null)
                        {
                            //Se obtiene el Corral Origen
                            txtCorralOrigen.Text = corralInfo.Codigo;
                            var lotePL = new LotePL();
                            //var loteOrigen = new LoteInfo
                            //                 {
                            //                     CorralID = corralInfo.CorralID,
                            //                     OrganizacionID = organizacionID
                            //                 };
                            LoteInfo loteOrigen = lotePL.ObtenerPorId(ultimoMovimiento.LoteID);
                            if (loteOrigen == null || loteOrigen.Activo == EstatusEnum.Inactivo)
                            {
                                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                  Properties.Resources.TrasferenciaGanadoIndividual_LoteInactivo,
                                                  MessageBoxButton.OK, MessageImage.Warning);
                                txtAreteMetalico.Focusable = true;
                                txtAreteMetalico.Focus();
                                txtAreteMetalico.Clear();
                                return(false);
                            }
                        }

                        //Si existe se obtienen los datos del animal
                        txtPesoOrigen.Text = animalInfo.PesoCompra.ToString(CultureInfo.InvariantCulture);
                        var tipoGanadoPl = new TipoGanadoPL();
                        var tipoGanado   = tipoGanadoPl.ObtenerPorID(animalInfo.TipoGanadoID);
                        if (tipoGanado != null)
                        {
                            //Se obtiene el tipo de ganado y sexo
                            txtSexo.Text = tipoGanado.Sexo.ToString();
                        }
                        //Se inicializa la info del animal de forma global
                        animal        = animalInfo;
                        corralOrigen  = corralInfo;
                        txtArete.Text = animal.Arete;
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.TrasferenciaGanadoIndividual_AreteNoExiste,
                                          MessageBoxButton.OK, MessageImage.Warning);
                        txtAreteMetalico.Focusable = true;
                        txtAreteMetalico.Focus();
                        txtAreteMetalico.Clear();
                        return(false);
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TrasferenciaGanadoIndividual_AreteNoExiste,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    txtAreteMetalico.Focusable = true;
                    txtAreteMetalico.Focus();
                    txtAreteMetalico.Clear();
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(true);
        }
Exemple #14
0
        public static int ObtenerUltimoMovimiento(string arete)
        {
            AnimalInfo           animal           = null;
            AnimalMovimientoInfo animalMovimiento = null;
            CorralInfo           corral           = null;
            int respuesta = 0;

            try
            {
                var animalPL       = new AnimalPL();
                var corralPL       = new CorralPL();
                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                animalMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animal);

                if (animalMovimiento == null)
                {
                    //No existe en el inventario
                    return(-1);
                }

                //int animalSalida = animalPL.ObtenerExisteSalida(animal.AnimalID);

                //if (animalSalida == 0)
                //{
                corral = corralPL.ObtenerPorId(animalMovimiento.CorralID);
                //if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.Enfermeria || corral.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoRecuperacion)
                //{
                if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.Enfermeria ||
                    corral.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoRecuperacion ||
                    corral.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoVentaMuerte)
                {
                    if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.CronicoVentaMuerte)
                    {
                        respuesta = 1;
                    }
                    else
                    {
                        respuesta = 2;
                    }
                }
                else
                {
                    respuesta = 0;
                }
                //}
                //else
                //{
                //    respuesta = 0;
                //}
                //}
                //else
                //{
                //    respuesta = 3;
                //}
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(respuesta);
        }