Exemple #1
0
 /// <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>
        /// 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);
            }
        }