public static Respuesta <Obtener_Sacrificio_Model> Obtener_Sacrificio(Peticion <Obtener_Sacrificio_Request> req) { var feedBack = new Respuesta <Obtener_Sacrificio_Model> { Mensaje = string.Empty, Resultado = false, Datos = new Obtener_Sacrificio_Model() }; try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var fechaSacrificio = req.Datos.FechaSacrificio.ToString("yyyy-MM-dd"); var pl = new OrdenSacrificioPL(); var resultScp = pl.ObtenerResumenSacrificioScp(fechaSacrificio, seguridad.Usuario.OrganizacionID); resultScp.ForEach(e => e.OrganizacionID = seguridad.Usuario.OrganizacionID); if (resultScp.Any()) { var resultSiap = pl.ObtenerResumenSacrificioSiap(resultScp); feedBack.Datos.TotalCabezas = resultScp.Count; feedBack.Datos.Organizacion = seguridad.Usuario.Organizacion.Descripcion; feedBack.Datos.Sacrificio = resultSiap.ToArray(); feedBack.Resultado = true; } else { feedBack.Mensaje = string.Format("No se encontraron registros para la fecha de sacrifico especificada {0}.", req.Datos.FechaSacrificio.ToString("yyyy-MM-dd")); } } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al obtener sacrificio.: " + ex.Message); } return(feedBack); }
public static Respuesta Transferencia(Peticion <Transferencia_Request> req) { var feedBack = new Respuesta { Resultado = false, Mensaje = string.Empty }; try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var transferenciaBO = new Services.Servicios.BL.TransferenciaGanadoIndividualBL(); transferenciaBO.GuardarTransferenciaGanado(req.Datos.AnimalID, req.Datos.LoteID); var sincronizacion = new ControlSacrificioBL(); var informacionSIAP = new List <ControlSacrificioInfo.SincronizacionSIAP>(); informacionSIAP.Add(new ControlSacrificioInfo.SincronizacionSIAP { AnimalID = req.Datos.AnimalID, Corral = req.Datos.Corral }); //sincronizacion.SyncResumenSacrificio_transferencia(informacionSIAP, seguridad.Usuario.UsuarioID, seguridad.Usuario.Organizacion.OrganizacionID); feedBack.Resultado = true; } catch (Exception ex) { feedBack.Mensaje = ex.Message; } return(feedBack); }
public static Respuesta Valida_Corral_Completo(Peticion <Valida_Corral_Completo_Request> req) { var feedBack = new Respuesta { Mensaje = string.Empty, Resultado = false }; try { var pl = new LotePL(); var loteInfo = pl.ValidarCorralCompletoParaSacrificio(req.Datos.LoteID); var fecha = String.Format("{0:u}", req.Datos.FechaProduccion); var cabezasScp = pl.ValidarCorralCompletoParaSacrificioScp(fecha.Substring(0, 10), loteInfo.Lote, loteInfo.Corral.Codigo, loteInfo.OrganizacionID); if (loteInfo.Cabezas == cabezasScp) { feedBack.Resultado = true; } else { feedBack.Mensaje = String.Format("Corral incompleto, existen diferencias en cabezas entre el SIAP y el SCP."); } } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al validar si el corral esta completo."); } return(feedBack); }
public static Respuesta Valida_Lote_Activo(Peticion <int> req) { var feedBack = new Respuesta { Mensaje = string.Empty, Resultado = false }; try { var pl = new LotePL(); var info = pl.ObtenerEstatusPorLoteId(req.Datos); if (info != null) { if (info.Activo.GetHashCode() == 1) { feedBack.Resultado = true; } } else { feedBack.Mensaje = String.Format("El lote no existe, favor de verificar."); } } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al validar el estatus del lote."); } return(feedBack); }
public static Respuesta Inactivar_Animal(Peticion <long> req) { var feedBack = new Respuesta { Mensaje = string.Empty, Resultado = false }; try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var pl = new AnimalPL(); var info = new AnimalInfo { Activo = false, AnimalID = req.Datos, UsuarioModificacionID = seguridad.Usuario.UsuarioID }; pl.InactivarAnimal(info); feedBack.Resultado = true; } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al inactivar el animal."); } return(feedBack); }
public static Respuesta <Obtener_Corrales_Model[]> Obtener_Corrales(Peticion <int> req) { var feedBack = new Respuesta <Obtener_Corrales_Model[]> { Resultado = false, Mensaje = string.Empty }; try { var pl = new LotePL(); var result = pl.ObtenerLotesConAnimalesDisponiblesPorOrganizacionId(req.Datos); if (result.Any()) { var listModel = new List <Obtener_Corrales_Model>(); foreach (var lote in result) { var model = new Obtener_Corrales_Model { LoteID = lote.LoteID, Corral = lote.Corral.Codigo }; listModel.Add(model); } feedBack.Resultado = true; feedBack.Datos = listModel.ToArray(); } else { feedBack.Mensaje = String.Format("No se encontraron corrales con animales disponible, favor de verificar."); } } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al obtener aretes para el lote especificado."); } return(feedBack); }
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); }
public static Respuesta Activar_Lote(Peticion <int> req) { var feedBack = new Respuesta { Mensaje = string.Empty, Resultado = false }; try { var pl = new LotePL(); var info = new LoteInfo { LoteID = req.Datos, Activo = EstatusEnum.Activo }; pl.ActualizaActivoEnLote(info); feedBack.Resultado = true; } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al activar el lote."); } return(feedBack); }
public static Respuesta <ObtenerAretes_Corral_Model[]> Obtener_Aretes_Corral(Peticion <int> req) { var feedBack = new Respuesta <ObtenerAretes_Corral_Model[]> { Resultado = false, Mensaje = string.Empty }; try { var pl = new LotePL(); var result = pl.ObtenerAretesCorralPorLoteId(req.Datos); if (result.Any()) { var listModel = new List <ObtenerAretes_Corral_Model>(); foreach (var animalInfo in result) { var model = new ObtenerAretes_Corral_Model { AnimalID = animalInfo.AnimalID, Arete = animalInfo.Arete }; listModel.Add(model); } feedBack.Resultado = true; feedBack.Datos = listModel.ToArray(); } else { feedBack.Mensaje = String.Format("El lote no tiene ligado ningún arete, favor de verificar."); } } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al obtener aretes para el lote especificado."); } return(feedBack); }
public static Respuesta <List <ControlSacrificioInfo.SincronizacionSIAP> > Planchado_AreteLote(Peticion <ControlSacrificioInfo.Planchado_AreteLote_Request> req) { var feedBack = new Respuesta <List <ControlSacrificioInfo.SincronizacionSIAP> > { Mensaje = string.Empty, Resultado = false }; try { var pl = new AnimalPL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; //pl.ActualizarArete(req.Datos.AnimalID,req.Datos.Arete,seguridad.Usuario.UsuarioID); feedBack.Datos = pl.PlancharAretes(req.Datos, seguridad.Usuario.UsuarioID, seguridad.Usuario.OrganizacionID); feedBack.Resultado = true; } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al planchar arete." + ex.Message); feedBack.Resultado = false; } return(feedBack); }