/// <summary> /// Crea un registro flete interno /// </summary> /// <returns></returns> internal int Crear(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); Dictionary <string, object> parameters = AuxFleteInternoDAL.ObtenerParametrosCrearFleteInterno(fleteInternoInfo); int result = Create("FleteInterno_Crear", 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> /// Obtiene un listado de flete interno detalle por flete interno id /// </summary> /// <returns></returns> internal List <FleteInternoDetalleInfo> ObtenerPorFleteInternoId(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); var fleteInternoDetalleDal = new FleteInternoDetalleDAL(); List <FleteInternoDetalleInfo> result = fleteInternoDetalleDal.ObtenerPorFleteInternoId(fleteInternoInfo); if (result != null) { foreach (var fleteInternoDetalle in result) { //Obtener costos de detalle if (fleteInternoDetalle.FleteInternoDetalleId > 0) { var fleteInternoCostoBl = new FleteInternoCostoBL(); fleteInternoDetalle.ListadoFleteInternoCosto = fleteInternoCostoBl.ObtenerPorFleteInternoDetalleId(fleteInternoDetalle); } } } return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para obtener flete interno detalle por flete interno id /// </summary> /// <returns></returns> internal List <FleteInternoDetalleInfo> ObtenerPorFleteInternoId(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); var parameters = AuxFleteInternoDetalleDAL.ObtenerParametrosObtenerPorFleteInternoId(fleteInternoInfo); var ds = Retrieve("FleteInternoDetalle_ObtenerPorFleteInternoID", parameters); List <FleteInternoDetalleInfo> result = null; if (ValidateDataSet(ds)) { result = MapFleteInternoDetalleDAL.ObtenerPorFleteInternoId(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> /// Obtener costos por flete /// </summary> /// <returns></returns> internal List <FleteInternoCostoInfo> ObtenerCostosPorFleteConfiguracion(FleteInternoInfo fleteInternoInfo, ProveedorInfo proveedorInfo) { try { Logger.Info(); var parameters = AuxFleteInternoDAL.ObtenerCostosPorFleteConfiguracion(fleteInternoInfo, proveedorInfo); var ds = Retrieve("FleteInterno_ObtenerCostosPorFleteConfiguracion", parameters); List <FleteInternoCostoInfo> result = null; if (ValidateDataSet(ds)) { result = MapFleteInternoDAL.ObtenerCostosPorFleteConfiguracion(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> /// Iniciliaza el contexto /// </summary> private void InicializaContexto() { Contexto = new FleteInternoInfo { Organizacion = new OrganizacionInfo(), TipoMovimiento = new TipoMovimientoInfo(), AlmacenOrigen = new AlmacenInfo(), AlmacenDestino = new AlmacenInfo(), Producto = new ProductoInfo(), Activo = EstatusEnum.Activo }; }
/// <summary> /// Cancela un flete /// </summary> /// <param name="fleteInternoInfo"></param> /// <param name="usuarioId"></param> internal void CancelarFlete(FleteInternoInfo fleteInternoInfo, int usuarioId) { try { var fleteInternoBl = new FleteInternoBL(); var fleteInternoDetalleBl = new FleteInternoDetalleBL(); var fleteInternoCostoBl = new FleteInternoCostoBL(); using (var transaction = new TransactionScope()) { fleteInternoInfo.Activo = EstatusEnum.Inactivo; fleteInternoInfo.UsuarioModificacionId = usuarioId; fleteInternoBl.ActualizarEstado(fleteInternoInfo); fleteInternoInfo.Activo = EstatusEnum.Activo; var listaFleteInternoDetalle = fleteInternoDetalleBl.ObtenerPorFleteInternoId(fleteInternoInfo); //Desactivar detalles if (listaFleteInternoDetalle != null) { foreach (var fleteInternoDetalleInfo in listaFleteInternoDetalle) { fleteInternoDetalleInfo.Activo = EstatusEnum.Inactivo; fleteInternoDetalleInfo.UsuarioModificacionId = usuarioId; fleteInternoDetalleBl.Actualizar(fleteInternoDetalleInfo); fleteInternoDetalleInfo.Activo = EstatusEnum.Activo; var listaFleteInternoCosto = fleteInternoCostoBl.ObtenerPorFleteInternoDetalleId(fleteInternoDetalleInfo); foreach (var fleteInternoCosto in listaFleteInternoCosto) { fleteInternoCosto.Activo = EstatusEnum.Inactivo; fleteInternoCosto.UsuarioModificacionId = usuarioId; } fleteInternoCostoBl.Actualizar(listaFleteInternoCosto); } } transaction.Complete(); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un flete interno por configuracion /// </summary> /// <returns></returns> internal FleteInternoInfo ObtenerPorConfiguracion(FleteInternoInfo fleteInternoInfo) { FleteInternoInfo result; try { Logger.Info(); var fleteInternoDal = new FleteInternoDAL(); result = fleteInternoDal.ObtenerPorConfiguracion(fleteInternoInfo); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(result); }
/// <summary> /// Actualiza un flete /// </summary> /// <param name="fleteInternoInfo"></param> /// <param name="usuarioId"></param> public void CancelarFlete(FleteInternoInfo fleteInternoInfo, int usuarioId) { try { Logger.Info(); var registrarProgramacionFletesInternaBl = new RegistrarProgramacionFletesInternaBL(); registrarProgramacionFletesInternaBl.CancelarFlete(fleteInternoInfo, usuarioId); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Actualiza el campo activo de un flete interno /// </summary> internal void ActualizarEstado(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); var fleteInternDal = new FleteInternoDAL(); fleteInternDal.ActualizarEstado(fleteInternoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un listado de costos por fleteconfiguracion /// </summary> /// <param name="fleteInternoInfo"></param> /// <param name="proveedorInfo"></param> /// <returns></returns> public List <FleteInternoCostoInfo> ObtenerCostosPorFleteConfiguracion(FleteInternoInfo fleteInternoInfo, ProveedorInfo proveedorInfo) { try { Logger.Info(); var fleteInternoBl = new FleteInternoBL(); List <FleteInternoCostoInfo> resultado = fleteInternoBl.ObtenerCostosPorFleteConfiguracion(fleteInternoInfo, proveedorInfo); return(resultado); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Crea un flete interno /// </summary> /// <returns></returns> internal int Crear(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); var fleteInternoDal = new FleteInternoDAL(); int result = fleteInternoDal.Crear(fleteInternoInfo); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un listado de flete interno detalle por flete interno id /// </summary> /// <param name="fleteInternoInfo"></param> /// <returns></returns> public List <FleteInternoDetalleInfo> ObtenerPorFleteInternoId(FleteInternoInfo fleteInternoInfo) { List <FleteInternoDetalleInfo> fleteInternoDetalleLista; try { Logger.Info(); var fleteInternoDetalleBl = new FleteInternoDetalleBL(); fleteInternoDetalleLista = fleteInternoDetalleBl.ObtenerPorFleteInternoId(fleteInternoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(fleteInternoDetalleLista); }
/// <summary> /// Obtiene un flete interno /// </summary> /// <param name="filtro"></param> /// <returns></returns> public FleteInternoInfo ObtenerPorConfiguracion(FleteInternoInfo filtro) { FleteInternoInfo fleteInterno; try { Logger.Info(); var fleteInternoBl = new FleteInternoBL(); fleteInterno = fleteInternoBl.ObtenerPorConfiguracion(filtro); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(fleteInterno); }
/// <summary> /// Actualizar flete interno detalle /// </summary> internal void ActualizarEstado(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); Dictionary <string, object> parameters = AuxFleteInternoDAL.ObtenerParametrosActualizarEstado(fleteInternoInfo); Update("FleteInterno_ActualizarEstado", 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> /// Actualizar flete interno detalle /// </summary> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosActualizarEstado(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@FleteInternoID", fleteInternoInfo.FleteInternoId }, { "@Activo", fleteInternoInfo.Activo.GetHashCode() }, { "@UsuarioModificacionID", fleteInternoInfo.UsuarioModificacionId } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); } return(null); }
/// <summary> /// Obtiene un listado de fletes por pagina /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <FleteInternoInfo> ObtenerPorPaginaFiltroDescripcionOrganizacion(PaginacionInfo pagina, FleteInternoInfo filtro) { ResultadoInfo <FleteInternoInfo> fleteInternoLista; try { Logger.Info(); var fleteInternoBl = new FleteInternoBL(); fleteInternoLista = fleteInternoBl.ObtenerPorPaginaFiltroDescripcionOrganizacion(pagina, filtro); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(fleteInternoLista); }
/// <summary> /// Obtiene parametros para crear un flete interno /// </summary> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosCrearFleteInterno(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@OrganizacionID", fleteInternoInfo.Organizacion.OrganizacionID }, { "@TipoMovimientoID", fleteInternoInfo.TipoMovimiento.TipoMovimientoID }, { "@AlmacenIDOrigen", fleteInternoInfo.AlmacenOrigen.AlmacenID }, { "@AlmacenIDDestino", fleteInternoInfo.AlmacenDestino.AlmacenID }, { "@ProductoID", fleteInternoInfo.Producto.ProductoId }, { "@Activo", fleteInternoInfo.Activo.GetHashCode() }, { "@UsuarioCreacionID", fleteInternoInfo.UsuarioCreacionId } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); } return(null); }
/// <summary> /// Obtiene parametros para obtener un listado de fletes internos /// </summary> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosObtenerPorPaginaFiltroDescripcionOrganizacion(PaginacionInfo pagina, FleteInternoInfo filtro) { try { Logger.Info(); filtro.Organizacion = filtro.Organizacion ?? new OrganizacionInfo(); filtro.TipoMovimiento = filtro.TipoMovimiento ?? new TipoMovimientoInfo(); filtro.AlmacenOrigen = filtro.AlmacenOrigen ?? new AlmacenInfo(); filtro.AlmacenDestino = filtro.AlmacenDestino ?? new AlmacenInfo(); filtro.Producto = filtro.Producto ?? new ProductoInfo(); var parametros = new Dictionary <string, object> { { "@FleteInternoID", filtro.FleteInternoId }, { "@OrganizacionID", filtro.Organizacion.OrganizacionID }, { "@DescripcionOrganizacion", filtro.Organizacion.Descripcion }, { "@ParametroTipoMovimientoID", TipoMovimiento.PaseProceso }, { "@TipoMovimientoID", filtro.TipoMovimiento.TipoMovimientoID }, { "@AlmacenIDOrigen", filtro.AlmacenOrigen.AlmacenID }, { "@AlmacenIDDestino", filtro.AlmacenDestino.AlmacenID }, { "@ProductoID", filtro.Producto.ProductoId }, { "@Activo", filtro.Activo.GetHashCode() }, { "@Inicio", pagina.Inicio }, { "@Limite", pagina.Limite } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); } return(null); }
/// <summary> /// Hace el guardado de la premezcla /// </summary> internal void Guardar(FleteInternoInfo fleteInternoInfo, int usuarioId) { try { var fleteInternoBl = new FleteInternoBL(); var fleteInternoDetalleBl = new FleteInternoDetalleBL(); var fleteInternoCostoBl = new FleteInternoCostoBL(); var listaFleteInternoCostoAgregados = new List <FleteInternoCostoInfo>(); var listaFleteInternoCostoModificados = new List <FleteInternoCostoInfo>(); var listaFleteInternoCostoEliminados = new List <FleteInternoCostoInfo>(); using (var transaction = new TransactionScope()) { var fleteInternoId = 0; //Si el flete es nuevo se crea if (!fleteInternoInfo.Guardado) { fleteInternoInfo.UsuarioCreacionId = usuarioId; fleteInternoId = fleteInternoBl.Crear(fleteInternoInfo); } else { fleteInternoId = fleteInternoInfo.FleteInternoId; } //Procesar cada detalle foreach (var fleteInternoDetalleP in fleteInternoInfo.ListadoFleteInternoDetalle) { var fleteInternoDetalleId = 0; if (!fleteInternoDetalleP.Guardado) { fleteInternoDetalleP.FleteInternoId = fleteInternoId; fleteInternoDetalleP.UsuarioCreacionId = usuarioId; fleteInternoDetalleId = fleteInternoDetalleBl.Crear(fleteInternoDetalleP); } else { if (fleteInternoDetalleP.Modificado) { //Actualizar flete interno detalle fleteInternoDetalleBl.Actualizar(fleteInternoDetalleP); } else { if (fleteInternoDetalleP.Eliminado) { //Actualizar activo a 0 fleteInternoDetalleBl.Actualizar(fleteInternoDetalleP); foreach (var fleteInternoCostoInfo in fleteInternoDetalleP.ListadoFleteInternoCosto) { fleteInternoCostoInfo.Activo = EstatusEnum.Inactivo; fleteInternoCostoInfo.UsuarioModificacionId = usuarioId; } fleteInternoCostoBl.Actualizar(fleteInternoDetalleP.ListadoFleteInternoCosto); } } fleteInternoDetalleId = fleteInternoDetalleP.FleteInternoDetalleId; } //Guardar agregados listaFleteInternoCostoAgregados.Clear(); listaFleteInternoCostoAgregados.AddRange(fleteInternoDetalleP.ListadoFleteInternoCosto.Where(fleteInternoCostoInfoP => !fleteInternoCostoInfoP.Guardado)); if (listaFleteInternoCostoAgregados.Count > 0) { //Crear flete interno costo foreach (var fleteInternoCostoInfo in listaFleteInternoCostoAgregados) { fleteInternoCostoInfo.Tarifa = Decimal.Round(fleteInternoCostoInfo.Tarifa, 2);// fleteInternoCostoInfo.Tarifa; // } fleteInternoCostoBl.Crear(listaFleteInternoCostoAgregados, new FleteInternoDetalleInfo() { FleteInternoDetalleId = fleteInternoDetalleId }); } //Guardar modificados listaFleteInternoCostoModificados.Clear(); listaFleteInternoCostoModificados.AddRange(fleteInternoDetalleP.ListadoFleteInternoCosto.Where(fleteInternoCostoInfoP => fleteInternoCostoInfoP.Modificado)); if (listaFleteInternoCostoModificados.Count > 0) { //Actualizar flete interno costo foreach (var fleteInternoCostoInfo in listaFleteInternoCostoModificados) { fleteInternoCostoInfo.Tarifa = Decimal.Round(fleteInternoCostoInfo.Tarifa, 2);//fleteInternoCostoInfo.Tarifa / 1000; } fleteInternoCostoBl.Actualizar(listaFleteInternoCostoModificados); } //Guardar eliminados listaFleteInternoCostoEliminados.Clear(); listaFleteInternoCostoEliminados.AddRange(fleteInternoDetalleP.ListadoFleteInternoCosto.Where(fleteInternoCostoInfoP => fleteInternoCostoInfoP.Eliminado)); if (listaFleteInternoCostoEliminados.Count > 0) { //Actualizar flete interno costo fleteInternoCostoBl.Actualizar(listaFleteInternoCostoEliminados); } } transaction.Complete(); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtener listado de fleteinternodetalle por fleteinterno /// </summary> /// <param name="fleteInternoInfo"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosObtenerPorFleteInternoId(FleteInternoInfo fleteInternoInfo) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@FleteInternoID", fleteInternoInfo.FleteInternoId }, { "@Activo", fleteInternoInfo.Activo.GetHashCode() }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); } return(null); }
/// <summary> /// Obtiene una lista paginada de contrato /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal ResultadoInfo <FleteInternoInfo> ObtenerPorPaginaFiltroDescripcionOrganizacion(PaginacionInfo pagina, FleteInternoInfo filtro) { ResultadoInfo <FleteInternoInfo> fleteInternoLista = null; try { Dictionary <string, object> parameters = AuxFleteInternoDAL.ObtenerParametrosObtenerPorPaginaFiltroDescripcionOrganizacion(pagina, filtro); DataSet ds = Retrieve("FleteInterno_ObtenerPorPaginaFiltroDescripcionOrganizacion", parameters); if (ValidateDataSet(ds)) { fleteInternoLista = MapFleteInternoDAL.ObtenerPorPaginaFiltroDescripcionOrganizacion(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(fleteInternoLista); }
/// <summary> /// Obtener costos por flete configuracion /// </summary> /// <param name="fleteInternoInfo"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerCostosPorFleteConfiguracion(FleteInternoInfo fleteInternoInfo, ProveedorInfo proveedorInfo) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "ProveedorID", proveedorInfo.ProveedorID }, { "@OrganizacionID", fleteInternoInfo.Organizacion.OrganizacionID }, { "@AlmacenIDOrigen", fleteInternoInfo.AlmacenOrigen.AlmacenID }, { "@ProductoID", fleteInternoInfo.Producto.ProductoId }, { "@Activo", EstatusEnum.Activo } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); } return(null); }