/// <summary> /// Metodo para almacenar la salidaAnimal /// </summary> /// <param name="salidaAnimalInfo"></param> /// <returns></returns> public bool GuardarAnimal(SalidaAnimalInfo salidaAnimalInfo) { bool resp = false; try { Logger.Info(); var parameters = AuxSalidaAnimalDAL.ObtenerParametrosSalidaGanado(salidaAnimalInfo); Create("SalidaAnimal_Guardar", parameters); resp = true; } 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); } return(resp); }
/// <summary> /// Metodo para almacenar el animal en Salida Animal /// </summary> /// <param name="salidaAnimalInfo"></param> /// <returns></returns> internal bool Guardar(SalidaAnimalInfo salidaAnimalInfo) { bool result; try { Logger.Info(); var salidaAnimaDAL = new SalidaAnimaDAL(); result = salidaAnimaDAL.GuardarAnimal(salidaAnimalInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(result); }
/// <summary> /// Metodo para crear los parametros paraguardar Salida Animal /// </summary> /// <param name="salidaAnimalInfo"></param> /// <returns></returns> public static Dictionary <string, object> ObtenerParametrosSalidaGanado(SalidaAnimalInfo salidaAnimalInfo) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@SalidaGanadoID", salidaAnimalInfo.SalidaGanado.SalidaGanadoID }, { "@AnimalID", salidaAnimalInfo.Animal.AnimalID }, { "@LoteID", salidaAnimalInfo.Lote.LoteID }, { "@Activo", salidaAnimalInfo.Activo }, { "@UsuarioCreacionID", salidaAnimalInfo.UsuarioCreacionID } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar la Salida Ganado /// </summary> /// <param name="animalInactivo"></param> internal bool GuardarSalidaGanado(AnimalInfo animalInactivo) { var envioAnimal = false; try { Logger.Info(); var animalBL = new AnimalBL(); //Se obtiene el ultimo movimiento var ultimoMovimiento = animalBL.ObtenerUltimoMovimientoAnimal(animalInactivo); var salidaGanadoInfo = new SalidaGanadoInfo { Organizacion = new OrganizacionInfo { OrganizacionID = animalInactivo.OrganizacionIDEntrada }, TipoMovimiento = (TipoMovimiento)ultimoMovimiento.TipoMovimientoID, Activo = EstatusEnum.Activo, //VentaGanado = new VentaGanadoInfo(){VentaGanadoID = null}, UsuarioCreacionID = animalInactivo.UsuarioCreacionID }; if (ultimoMovimiento.TipoMovimientoID == (int)TipoMovimiento.SalidaPorVenta) { //Si el ultimo movimiento es venta obtener el ID de la VentaGanado var ventaDetalleBL = new VentaGanadoDetalleBL(); VentaGanadoDetalleInfo ventaDetalleInfo = ventaDetalleBL.ExisteAnimal(animalInactivo); if (ventaDetalleInfo != null) { salidaGanadoInfo.VentaGanado = new VentaGanadoInfo { VentaGanadoID = ventaDetalleInfo.VentaGanadoID }; } } var salidaGanadoDAL = new SalidaGanadoDAL(); SalidaGanadoInfo salidaGanado = null; //Se valida si la venta es if (salidaGanadoInfo.VentaGanado != null) { //Se busca la venta en la salida Ganado salidaGanado = salidaGanadoDAL.ExisteVentaEnSalidaGanado(salidaGanadoInfo); } if (salidaGanado == null) { //Se guarda en SalidaGanado salidaGanado = salidaGanadoDAL.GuardarSalidaGanado(salidaGanadoInfo, (int)TipoFolio.SalidaGanado); } //Se almacena SalidaAnimal var salidaAnimalBL = new SalidaAnimalBL(); var salidaAnimalInfo = new SalidaAnimalInfo() { SalidaGanado = salidaGanado, Animal = animalInactivo, Lote = new LoteInfo { LoteID = ultimoMovimiento.LoteID }, Activo = EstatusEnum.Activo, UsuarioCreacionID = animalInactivo.UsuarioCreacionID }; envioAnimal = salidaAnimalBL.Guardar(salidaAnimalInfo); envioAnimal = true; } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(envioAnimal); }