/// <summary> /// Metodo para obtener las proyecciones de los corrales origenes para un corral /// </summary> /// <param name="loteCorral"></param> /// <returns></returns> internal List <LoteProyeccionInfo> ObtenerProyeccionDeLotesOrigen(LoteCorralReimplanteInfo loteCorral) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@CorralDestinoID", loteCorral.Corral.CorralID }, { "@LoteDestinoID", loteCorral.Lote.LoteID } }; DataSet ds = Retrieve("ReimplanteGanado_ObtenerProyeccionDeLotesOrigen", parametros); List <LoteProyeccionInfo> result = null; if (ValidateDataSet(ds)) { result = MapLoteProyeccionDAL.ObtenerProyeccionDeLotesOrigen(ds); } return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para obtener las proyecciones de los corrales origenes para un corral /// </summary> /// <param name="loteCorral"></param> /// <returns></returns> internal List <LoteProyeccionInfo> ObtenerProyeccionDeLotesOrigen(LoteCorralReimplanteInfo loteCorral) { try { Logger.Info(); var loteProyeccionDAL = new LoteProyeccionDAL(); return(loteProyeccionDAL.ObtenerProyeccionDeLotesOrigen(loteCorral)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para generar el nuevo LoteReimplante /// </summary> /// <param name="numeroReimplante"></param> /// <param name="loteProyeccion"></param> /// <param name="fechaProyectada"></param> /// <param name="usuario"></param> /// <param name="loteCorral"></param> /// <param name="pesoProyectado"></param> private void GuardarNuevoReimplante(int numeroReimplante, LoteProyeccionInfo loteProyeccion, DateTime fechaProyectada, UsuarioInfo usuario, LoteCorralReimplanteInfo loteCorral, int pesoProyectado, int pesoOrigenPromedio) { var loteReimplanteBL = new LoteReimplanteBL(); var loteReimplante = new LoteReimplanteInfo(); if (numeroReimplante == 1) { loteReimplante = new LoteReimplanteInfo { LoteProyeccionID = loteProyeccion.LoteProyeccionID, NumeroReimplante = 2, FechaProyectada = fechaProyectada, PesoProyectado = pesoProyectado, PesoReal = 0, FechaReal = new DateTime(1900, 01, 01), UsuarioCreacionID = usuario.UsuarioID }; loteReimplanteBL.Guardar(loteReimplante); } else if (numeroReimplante == 2) { // El peso Origen sea menor a 200 generar el lote reimplante // y que los dias engorda sean mayores a 90 dias if (pesoOrigenPromedio <= 200 && loteProyeccion.DiasEngorda >= 90) { loteReimplante = new LoteReimplanteInfo { LoteProyeccionID = loteProyeccion.LoteProyeccionID, NumeroReimplante = 3, FechaProyectada = fechaProyectada, PesoProyectado = pesoProyectado, PesoReal = 0, FechaReal = new DateTime(1900, 01, 01), UsuarioCreacionID = usuario.UsuarioID }; loteReimplanteBL.Guardar(loteReimplante); } } }