/// <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); } }
/// <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); } }