예제 #1
0
 /// <summary>
 /// Obtiene los fletes
 /// </summary>
 /// <param name="contratoInfo"></param>
 /// <returns></returns>
 public List <ProgramaciondeFletesInfo> ObtenerFletes(ContratoInfo contratoInfo)
 {
     try
     {
         Logger.Info();
         var programacionFletesDal = new ProgramaciondeFletesDAL();
         var costosFletes          = new CostoBL();
         List <ProgramaciondeFletesInfo> resultado = programacionFletesDal.ObtenerFletes(contratoInfo);
         if (resultado != null)
         {
             foreach (var programaciondeFletesInfo in resultado)
             {
                 var fleteDetalle =
                     costosFletes.ObtenerPorFleteID(programaciondeFletesInfo.Flete.FleteID);
                 programaciondeFletesInfo.Flete.LisaFleteDetalleInfo = fleteDetalle;
             }
         }
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #2
0
        /// <summary>
        /// Guardar programacion de fletes
        /// </summary>
        /// <param name="listaProgramaciondeFletesInfos"></param>
        public void GuardarProgramaciondeFlete(List <ProgramaciondeFletesInfo> listaProgramaciondeFletesInfos)
        {
            try
            {
                Logger.Info();
                var programacionFletesDal = new ProgramaciondeFletesDAL();
                var programacionFletes    = new ProgramaciondeFletesInfo();
                var contrato   = new ContratoInfo();
                var contratoBl = new ContratoBL();
                if (listaProgramaciondeFletesInfos.Count > 0)
                {
                    contrato.ContratoId   = listaProgramaciondeFletesInfos[0].Flete.ContratoID;
                    contrato.Organizacion = new OrganizacionInfo()
                    {
                        OrganizacionID = listaProgramaciondeFletesInfos[0].Organizacion.OrganizacionID
                    };
                }

                contrato = contratoBl.ObtenerPorId(contrato);
                using (var transaction = new TransactionScope())
                {
                    programacionFletesDal.GuardarProgramaciondeFlete(listaProgramaciondeFletesInfos);
                    if (programacionFletes != null)
                    {
                        foreach (var listaProgramaciondeFletes in listaProgramaciondeFletesInfos)
                        {
                            List <ProgramaciondeFletesInfo> listaFletes = programacionFletesDal.ObtenerFletes(contrato);
                            if (listaFletes != null)
                            {
                                programacionFletes = listaFletes.FirstOrDefault(registro => registro.Flete.Proveedor.ProveedorID == listaProgramaciondeFletes.Flete.Proveedor.ProveedorID);
                            }

                            if (listaProgramaciondeFletes.Flete.Opcion > 0)
                            {
                                for (int i = 0; i < listaProgramaciondeFletes.Flete.LisaFleteDetalleInfo.Count; i++)
                                {
                                    listaProgramaciondeFletes.Flete.LisaFleteDetalleInfo[i].FleteID =
                                        programacionFletes.Flete.FleteID;
                                    listaProgramaciondeFletes.Flete.LisaFleteDetalleInfo[i].UsuarioCreacion =
                                        listaProgramaciondeFletes.Flete.UsuarioCreacionID;
                                    listaProgramaciondeFletes.Flete.LisaFleteDetalleInfo[i].UsuarioModificacion =
                                        listaProgramaciondeFletes.Flete.UsuarioCreacionID;
                                }
                                programacionFletesDal.GuardarProgramaciondeFleteDetalle(
                                    listaProgramaciondeFletes.Flete.LisaFleteDetalleInfo);
                            }
                        }
                    }
                    transaction.Complete();
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }