示例#1
0
        public static Respuesta <Reemplazo_Arete_Model> Reemplazo_Arete(Peticion <Reemplazo_Arete_Request> req)
        {
            var feedBack = new Respuesta <Reemplazo_Arete_Model> {
                Mensaje = string.Empty, Resultado = false
            };

            try
            {
                var seguridad       = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                var fechaSacrificio = String.Format("{0:u}", req.Datos.FechaSacrificio);
                var pl       = new LotePL();
                var animalPl = new AnimalPL();
                var loteInfo = pl.ObtenerPorId(req.Datos.LoteID);

                if (loteInfo != null)
                {
                    var aretesScp = pl.ObtenerLoteConAnimalesScp(seguridad.Usuario.OrganizacionID, loteInfo.Lote, loteInfo.Corral.Codigo, fechaSacrificio);
                    if (aretesScp.Any())
                    {
                        if (!pl.ExistenAretesRepetidos(aretesScp))
                        {
                            //var animalId = animalPl.PlancharAretes(aretesScp,req.Datos.AnimalID,req.Datos.LoteID,seguridad.Usuario.UsuarioID);
                            //feedBack.Datos.AnimalID = animalId;
                            feedBack.Resultado = true;
                        }
                        else
                        {
                            feedBack.Mensaje = string.Format("Existen aretes duplicados en el Control de Piso para el corral {0}, lote {1}, fecha de producción {2}.", loteInfo.Corral.Codigo, loteInfo.Lote, fechaSacrificio);
                        }
                    }
                    else
                    {
                        feedBack.Mensaje = string.Format("No se encontraron aretes en el Control de Piso para el corral {0}, lote {1}, fecha de producción {2}, por lo tanto no se puede realizar el reemplazo.", loteInfo.Corral.Codigo, loteInfo.Lote, fechaSacrificio);
                    }
                }
                else
                {
                    feedBack.Mensaje = string.Format("No se encontró el lote ni el corral para obtener los aretes del Control de Piso.");
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                feedBack.Mensaje = string.Format("Ocurrió un error al reemplazar el arete.");
            }

            return(feedBack);
        }