/// <summary> /// Actualiza el almacen, almacen inventario lote y piezas. /// </summary> /// <param name="salida"></param> /// <returns></returns> internal void ActualizarAlmacenInventarioLote(SalidaProductoInfo salida) { try { Logger.Info(); Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosActualizaAlmacenInventarioLote(salida); Update("SalidaProducto_ActualizaAlmacenInventario", parameters); } 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> /// Guarda el segundo pesaje de la salida de producto /// </summary> /// <param name="salida"></param> /// <returns></returns> internal SalidaProductoInfo GuardarSegundoPesajeSalida(SalidaProductoInfo salida) { try { Logger.Info(); using (var transaction = new TransactionScope()) { var entradaProductoDAL = new SalidaProductoDAL(); int resultado = entradaProductoDAL.GuardarSegundoPesajeSalida(salida); if (resultado > 0) { salida.FolioSalida = resultado; } transaction.Complete(); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(salida); }
/// <summary> /// Consulta los folios activos con el peso tara capturado. /// </summary> /// <param name="filtro"></param> /// <returns></returns> internal List <SalidaProductoInfo> ObtenerTraspasoFoliosActivos(SalidaProductoInfo filtro) { List <SalidaProductoInfo> foliosLista = null; try { Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosTraspasoFoliosActivos(filtro); DataSet ds = Retrieve("SalidaProducto_BusquedaTraspasoFoliosActivos", parameters); if (ValidateDataSet(ds)) { foliosLista = MapSalidaProductoDAL.ObtenerTraspasoFoliosActivos(ds); } } 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(foliosLista); }
/// <summary> /// Obtiene los parametros necesarios para terminar la salida /// </summary> /// <param name="salidaProducto"></param> /// <param name="movimiento"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosTerminarSalida(SalidaProductoInfo salidaProducto, AlmacenMovimientoInfo movimiento) { Dictionary <string, object> parametros; try { Logger.Info(); int facturar = salidaProducto.GeneraFactura ? 1 : 0; parametros = new Dictionary <string, object> { { "@SalidaProductoID", salidaProducto.SalidaProductoId }, { "@AlmacenMovimientoID", movimiento.AlmacenMovimientoID }, { "@Activo", (int)EstatusEnum.Inactivo }, { "@UsuarioModificacionID", salidaProducto.UsuarioModificacionId }, { "@OrganizacionID", salidaProducto.Organizacion.OrganizacionID }, { "@RequiereFactura", facturar } }; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(parametros); }
public static bool ActualizaSalida(SalidaProductoInfo salidaProducto) { bool resultado = true; try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { var salidaProductoPl = new SalidaProductoPL(); salidaProductoPl.ActualizarAlmacenInventarioLote(salidaProducto); } else { throw new ExcepcionServicio("SesionExpirada"); } } catch (ExcepcionServicio ex) { Logger.Error(ex); throw new ExcepcionServicio(ex.Message); } catch (Exception ex) { Logger.Error(ex); throw new Exception(ex.Message); } return(resultado); }
/// <summary> /// Termina la salida del producto /// </summary> /// <param name="salida"></param> /// <param name="movimiento"></param> /// <returns></returns> internal int TerminarSalidaProducto(SalidaProductoInfo salida, AlmacenMovimientoInfo movimiento) { try { Logger.Info(); Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosTerminarSalida(salida, movimiento); int result = Create("SalidaProducto_TerminarSalidaProducto", parameters); 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); } }
internal bool Cancelar(SalidaProductoInfo salidaProducto) { try { Logger.Info(); Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosCancelar(salidaProducto); Update("SalidaProducto_Cancelar", parameters); return(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); } }
/// <summary> /// Obtiene una salida de producto por folio de salida /// </summary> /// <param name="salidaProducto"></param> /// <returns></returns> internal SalidaProductoInfo ObtenerPorFolioSalida(SalidaProductoInfo salidaProducto) { SalidaProductoInfo producto = null; try { Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosPorFolioSalida(salidaProducto); DataSet ds = Retrieve("SalidaProducto_ObtenerPorFolioSalida", parameters); if (ValidateDataSet(ds)) { producto = MapSalidaProductoDAL.ObtenerFoliosPorFolioSalida(ds); } } 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(producto); }
/// <summary> /// Guarda el primer pesaje de la salida del producto /// </summary> /// <param name="salida"></param> /// <returns></returns> internal int GuardarSegundoPesajeSalida(SalidaProductoInfo salida) { try { Logger.Info(); Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosGuardarSegundoPesajeSalida(salida); int result = Create("SalidaProducto_ActualizarSegundoPesaje", parameters); 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> /// Consulta los folios activos con el peso tara capturado. /// </summary> /// <param name="filtro"></param> /// <returns></returns> internal List <SalidaProductoInfo> ObtenerTraspasoFoliosActivos(SalidaProductoInfo filtro) { List <SalidaProductoInfo> salidaProductos = null; try { Logger.Info(); var entradaProductoDAL = new SalidaProductoDAL(); salidaProductos = entradaProductoDAL.ObtenerTraspasoFoliosActivos(filtro); if (salidaProductos != null && salidaProductos.Count > 0) { foreach (var salida in salidaProductos) { if (salida.Cliente != null && salida.Cliente.ClienteID > 0) { var clienteBl = new ClienteBL(); salida.Cliente = clienteBl.ObtenerPorID(salida.Cliente.ClienteID); } } } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(salidaProductos); }
/// <summary> /// Actualiza el almacen, almacen inventario lote y piezas. /// </summary> /// <param name="salida"></param> internal void ActualizarAlmacenInventarioLote(SalidaProductoInfo salida) { try { var entradaProductoDAL = new SalidaProductoDAL(); entradaProductoDAL.ActualizarAlmacenInventarioLote(salida); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Genera linea de totales para detalle /// </summary> /// <param name="salidaProducto"></param> private void GeneraLineaTotalDetalle(SalidaProductoInfo salidaProducto) { PolizaModel.Detalle = new List <PolizaDetalleModel>(); decimal cantidad = salidaProducto.PesoBruto - salidaProducto.PesoTara; var polizaDetalleModel = new PolizaDetalleModel { PrecioVenta = (salidaProducto.Importe / cantidad).ToString("N2"), ImporteVenta = salidaProducto.Importe.ToString("N2"), }; PolizaModel.Detalle.Add(polizaDetalleModel); }
/// <summary> /// Actualiza el almacen, almacen inventario lote y piezas. /// </summary> /// <param name="salida"></param> public void ActualizarAlmacenInventarioLote(SalidaProductoInfo salida) { try { var salidaProductoBl = new SalidaProductoBL(); salidaProductoBl.ActualizarAlmacenInventarioLote(salida); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public bool CancelarVentaTraspaso(SalidaProductoInfo salidaProducto, string justificacion) { try { CancelacionMovimientoBL cancelacionMovimientoBl = new CancelacionMovimientoBL(); return(cancelacionMovimientoBl.CancelarVentaTraspaso(salidaProducto, justificacion)); } catch (Exception ex) { Logger.Error(ex); } return(false); }
/// <summary> /// Consulta los folios activos con el peso tara capturado. /// </summary> /// <param name="salida"></param> /// <returns></returns> public List <SalidaProductoInfo> ObtenerTraspasoFoliosActivos(SalidaProductoInfo salida) { List <SalidaProductoInfo> salidas = null; try { var salidaProductoBl = new SalidaProductoBL(); salidas = salidaProductoBl.ObtenerTraspasoFoliosActivos(salida); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(salidas); }
internal bool Cancelar(SalidaProductoInfo salidaProducto) { try { Logger.Info(); var salidaProductoDAL = new SalidaProductoDAL(); return(salidaProductoDAL.Cancelar(salidaProducto)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene el producto de una salida /// </summary> /// <param name="salida"></param> /// <returns></returns> internal ProductoInfo ObtenerPorFolioSalida(SalidaProductoInfo salida) { try { Logger.Info(); var productoDAL = new ProductoDAL(); return(productoDAL.ObtenerPorFolioSalida(salida)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene los parametros para obtenero un producto por folio de salida /// </summary> /// <param name="salida"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosPorFolioSalida(SalidaProductoInfo salida) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@FolioSalida", salida.FolioSalida }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una salida de producto por foliosalida /// </summary> /// <param name="salidaProducto"></param> /// <returns></returns> public SalidaProductoInfo ObtenerPorFolioSalida(SalidaProductoInfo salidaProducto) { try { var salidaProductoBl = new SalidaProductoBL(); salidaProducto = salidaProductoBl.ObtenerPorFolioSalida(salidaProducto); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(salidaProducto); }
public static List <SalidaProductoInfo> ConsultaFoliosActivos(int folioSalida) { List <SalidaProductoInfo> listaFolios = null; try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { var salidaProductoPl = new SalidaProductoPL(); var salida = new SalidaProductoInfo() { FolioSalida = folioSalida, Activo = EstatusEnum.Activo, Organizacion = new OrganizacionInfo() { OrganizacionID = seguridad.Usuario.OrganizacionID } }; listaFolios = salidaProductoPl.ObtenerTraspasoFoliosActivos(salida); } else { throw new ExcepcionServicio("SesionExpirada"); } } catch (ExcepcionServicio ex) { Logger.Error(ex); throw new ExcepcionServicio(ex.Message); } catch (Exception ex) { Logger.Error(ex); throw new Exception(ex.Message); } return(listaFolios); }
/// <summary> /// Obtiene un folio de salida /// </summary> /// <param name="filtro"></param> /// <returns></returns> public SalidaProductoInfo ObtenerFolioPorReimpresion(SalidaProductoInfo filtro) { SalidaProductoInfo salida; try { Logger.Info(); var entradaProductoBL = new SalidaProductoBL(); salida = entradaProductoBL.ObtenerFolioPorReimpresion(filtro); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(salida); }
/// <summary> /// Genera el xml de la factura de venta de materia prima /// </summary> /// <param name="salidaProducto"></param> internal void GenerarDatosFacturaVentaDeMateriaPrima(SalidaProductoInfo salidaProducto) { try { Logger.Info(); var salidaIndividualDAL = new SalidaProductoDAL(); var facturaInfo = salidaIndividualDAL.ObtenerDatosFacturaPorFolioSalida(salidaProducto); facturaInfo = ObtenerDatosDeConfiguracion(facturaInfo, salidaProducto.Organizacion.OrganizacionID); GenerarFactura(facturaInfo, salidaProducto.Organizacion.OrganizacionID); } catch (ExcepcionServicio) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Guarda el segundo pesaje de la salida de producto /// </summary> /// <param name="salida"></param> /// <returns></returns> public SalidaProductoInfo GuardarSegundoPesajeSalida(SalidaProductoInfo salida) { SalidaProductoInfo resultado; try { Logger.Info(); var salidaProductoBl = new SalidaProductoBL(); resultado = salidaProductoBl.GuardarSegundoPesajeSalida(salida); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
/// <summary> /// Obtiene los parametros necesarios para la ejecucion /// del procedimiento almacenado SalidaProducto_ObtenerFolioReimpresion /// </summary> /// <param name="filtro"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosPorReimpresion(SalidaProductoInfo filtro) { Dictionary <string, object> parametros; try { Logger.Info(); parametros = new Dictionary <string, object> { { "@OrganizacionID", filtro.Organizacion.OrganizacionID }, { "@FolioSalida", filtro.FolioSalida }, }; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(parametros); }
/// <summary> /// Obtiene los parametros /// </summary> /// <param name="salidaProducto"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosCancelar(SalidaProductoInfo salidaProducto) { Dictionary <string, object> parametros; try { Logger.Info(); parametros = new Dictionary <string, object> { { "@SalidaProductoID", salidaProducto.SalidaProductoId }, { "@UsuarioModificacionID", salidaProducto.UsuarioModificacionId }, }; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(parametros); }
/// <summary> /// Termina la salida del producto /// </summary> /// <param name="salida"></param> /// <returns></returns> public MemoryStream TerminarSalidaProducto(SalidaProductoInfo salida) { MemoryStream resultado; try { Logger.Info(); var salidaProductoBl = new SalidaProductoBL(); resultado = salidaProductoBl.TerminarSalidaProducto(salida); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
/// <summary> /// Obtiene una salida de producto por foliosalida /// </summary> /// <param name="filtro"></param> /// <returns></returns> internal SalidaProductoInfo ObtenerPorFolioSalida(SalidaProductoInfo filtro) { SalidaProductoInfo salidaProducto = null; try { Logger.Info(); var entradaProductoDAL = new SalidaProductoDAL(); salidaProducto = entradaProductoDAL.ObtenerPorFolioSalida(filtro); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(salidaProducto); }
/// <summary> /// Obtiene un folio de salida /// </summary> /// <param name="filtro"></param> /// <returns></returns> internal SalidaProductoInfo ObtenerFolioPorReimpresion(SalidaProductoInfo filtro) { SalidaProductoInfo folio = null; try { Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosPorReimpresion(filtro); using (IDataReader reader = RetrieveReader("SalidaProducto_ObtenerFolioReimpresion", parameters)) { if (ValidateDataReader(reader)) { folio = MapSalidaProductoDAL.ObtenerFoliosPorReimpresion(reader); } } } 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); } finally { if (Connection.State == ConnectionState.Open) { Connection.Close(); } } return(folio); }
/// <summary> /// Genera los detalles de la salida /// </summary> /// <param name="salidaProducto"></param> private void GeneraLineaDetalle(SalidaProductoInfo salidaProducto) { PolizaModel.Detalle = new List <PolizaDetalleModel>(); if (unidades == null) { unidades = ObtenerUnidadesMedicion(); } if (productos == null) { productos = ObtenerProductos(); } ProductoInfo producto = productos.FirstOrDefault(clave => clave.ProductoId == salidaProducto.Producto.ProductoId); if (producto == null) { producto = new ProductoInfo(); } decimal cantidad = salidaProducto.PesoBruto - salidaProducto.PesoTara; var polizaDetalleModel = new PolizaDetalleModel { CantidadCabezas = producto.ProductoId.ToString(), TipoGanado = producto.ProductoDescripcion, PesoOrigen = cantidad.ToString("N0"), PesoLlegada = cantidad.ToString("N0"), Corral = unidades.Where( clave => clave.UnidadID == producto.UnidadId).Select (uni => uni.ClaveUnidad).FirstOrDefault(), Lote = salidaProducto.AlmacenInventarioLote.Lote.ToString(), PrecioPromedio = (salidaProducto.Importe / cantidad).ToString("N2"), ImportePromedio = salidaProducto.Importe.ToString("N2"), PrecioVenta = (salidaProducto.Importe / cantidad).ToString("N2"), ImporteVenta = salidaProducto.Importe.ToString("N2"), }; PolizaModel.Detalle.Add(polizaDetalleModel); }
/// <summary> /// Obtiene un flujo de datos /// para la generacion de la reimpresion /// de la poliza de venta de producto /// </summary> /// <param name="salidaProductoInfo"></param> /// <param name="polizaClave"></param> /// <returns></returns> private MemoryStream ReimpresionSalidaVentaProducto(SalidaProductoInfo salidaProductoInfo, TipoPolizaInfo polizaClave) { MemoryStream pdf = null; var polizaBL = new PolizaBL(); IList <PolizaInfo> polizasSalidaProducto = polizaBL.ObtenerPoliza(TipoPoliza.SalidaVentaProducto, salidaProductoInfo.Organizacion.OrganizacionID , salidaProductoInfo.FechaSalida, salidaProductoInfo.FolioSalida.ToString(), polizaClave.ClavePoliza, 1); if (polizasSalidaProducto != null && polizasSalidaProducto.Any()) { var poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.SalidaVentaProducto); polizasSalidaProducto = poliza.GeneraPoliza(salidaProductoInfo); if (polizasSalidaProducto != null && polizasSalidaProducto.Any()) { pdf = poliza.ImprimePoliza(salidaProductoInfo, polizasSalidaProducto); } } return(pdf); }