/// <summary> /// Mapear el objeto Salida Ganado para guardarlo en base de datos /// </summary> /// <param name="salidaGanadoInfo"></param> /// <param name="tipoFolio"></param> /// <returns></returns> public static Dictionary <string, object> ObtenerParametrosSalidaGanado(SalidaGanadoInfo salidaGanadoInfo, int tipoFolio) { try { Logger.Info(); object ventaGanadoID = null; if (salidaGanadoInfo.VentaGanado != null) { ventaGanadoID = salidaGanadoInfo.VentaGanado.VentaGanadoID; } var parametros = new Dictionary <string, object> { { "@TipoMovimientoID", (int)salidaGanadoInfo.TipoMovimiento }, { "@OrganizacionID", salidaGanadoInfo.Organizacion.OrganizacionID }, { "@VentaGanadoID", ventaGanadoID }, { "@TipoFolio", tipoFolio }, { "@Activo", salidaGanadoInfo.Activo }, { "@UsuarioCreacionID", salidaGanadoInfo.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="salidaGanadoInfo"></param> /// <param name="tipoFolio"></param> /// <returns></returns> internal SalidaGanadoInfo GuardarSalidaGanado(SalidaGanadoInfo salidaGanadoInfo, int tipoFolio) { try { Logger.Info(); var parameters = AuxSalidaGanadoDAL.ObtenerParametrosSalidaGanado(salidaGanadoInfo, tipoFolio); var ds = Retrieve("SalidaGanado_Guardar", parameters); SalidaGanadoInfo result = null; if (ValidateDataSet(ds)) { result = MapSalidaGanadoDAL.ObtenerSalidaGanado(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> /// Mapea el resultado en una Salida Ganado /// </summary> /// <param name="ds"></param> /// <returns></returns> internal static SalidaGanadoInfo ObtenerSalidaGanado(DataSet ds) { SalidaGanadoInfo salidaGanadoInfo = null; try { Logger.Info(); var dt = ds.Tables[ConstantesDAL.DtDatos]; salidaGanadoInfo = new SalidaGanadoInfo(); foreach (DataRow dr in dt.Rows) { salidaGanadoInfo.SalidaGanadoID = Convert.ToInt32(dr["SalidaGanadoID"]); salidaGanadoInfo.Organizacion = new OrganizacionInfo { OrganizacionID = Convert.ToInt32(dr["OrganizacionID"]) }; salidaGanadoInfo.TipoMovimiento = (TipoMovimiento)Convert.ToInt32(dr["TipoMovimientoID"]); salidaGanadoInfo.Fecha = Convert.ToDateTime(dr["Fecha"]); salidaGanadoInfo.Folio = Convert.ToInt32(dr["Folio"]); if (dr["VentaGanadoID"] is DBNull) { salidaGanadoInfo.VentaGanado = new VentaGanadoInfo(); } else { salidaGanadoInfo.VentaGanado = new VentaGanadoInfo() { VentaGanadoID = Convert.ToInt32(dr["VentaGanadoID"]) }; } salidaGanadoInfo.Activo = Convert.ToInt32(dr["Activo"]) == 0 ? EstatusEnum.Inactivo : EstatusEnum.Activo; salidaGanadoInfo.FechaCreacion = Convert.ToDateTime(dr["FechaCreacion"]); salidaGanadoInfo.UsuarioCreacionID = Convert.ToInt32(dr["UsuarioCreacionID"]); } } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(salidaGanadoInfo); }
/// <summary> /// Metodo para mapear los parametros para valdiar si existe la venta en la salida Ganado /// </summary> /// <param name="salidaGanadoInfo"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosExisteVentaEnSalidaGanado(SalidaGanadoInfo salidaGanadoInfo) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@VentaGanadoID", salidaGanadoInfo.VentaGanado.VentaGanadoID } }; 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); }