/// <summary> /// Método que obtiene el chofer por su identificador /// </summary> /// <param name="proveedorChoferId"></param> /// <returns></returns> internal ProveedorChoferInfo ObtenerProveedorChoferPorId(int proveedorChoferId) { ProveedorChoferInfo resultado; try { Logger.Info(); var proveedorChofer = new ProveedorChoferDAL(); resultado = proveedorChofer.ObtenerProveedorChoferPorId(proveedorChoferId); if (resultado != null) { var choferBl = new ChoferBL(); resultado.Chofer = choferBl.ObtenerPorID(resultado.Chofer); var proveedorBl = new ProveedorBL(); resultado.Proveedor = proveedorBl.ObtenerPorID(resultado.Proveedor.ProveedorID); } } catch (ExcepcionGenerica ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
/// <summary> /// /// </summary> /// <param name="proveedorId"></param> /// <returns></returns> internal List <ProveedorChoferInfo> ObtenerProveedorChoferPorProveedorId(int proveedorId) { List <ProveedorChoferInfo> listaProveedorChofer; try { Logger.Info(); var proveedorChofer = new ProveedorChoferDAL(); listaProveedorChofer = proveedorChofer.ObtenerProveedorChoferPorProveedorId(proveedorId); if (listaProveedorChofer != null) { foreach (var registroProveedorChofer in listaProveedorChofer) { var choferBl = new ChoferBL(); registroProveedorChofer.Chofer = choferBl.ObtenerPorID(registroProveedorChofer.Chofer); var proveedorBl = new ProveedorBL(); registroProveedorChofer.Proveedor = proveedorBl.ObtenerPorID(registroProveedorChofer.Proveedor.ProveedorID); } } } catch (ExcepcionGenerica ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(listaProveedorChofer); }
/// <summary> /// Obtiene el proveedor chofer por el Chofer y Proveedor /// </summary> /// <param name="proveedorId"></param> /// <param name="choferId"></param> /// <returns></returns> internal ProveedorChoferInfo ObtenerProveedorChoferPorProveedorIdChoferId(int proveedorId, int choferId) { ProveedorChoferInfo proveedorChofer = null; try { Logger.Info(); var proveedorChoferDal = new ProveedorChoferDAL(); proveedorChofer = proveedorChoferDal.ObtenerProveedorChoferPorProveedorIdChoferId(proveedorId, choferId); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(proveedorChofer); }
/// <summary> /// Obtiene los campos de la tabla ProveedorChofer consultando por ChoferID /// </summary> /// <param name="proveedorId"></param> /// <param name="choferId"></param> /// <returns></returns> internal ProveedorChoferInfo ObtenerProveedorChoferPorChoferID(int proveedorId, int choferId) { try { Logger.Info(); var proveedorChoferDal = new ProveedorChoferDAL(); ProveedorChoferInfo result = proveedorChoferDal.ObtenerProveedorChoferPorChoferID(proveedorId, choferId); return(result); } catch (ExcepcionGenerica ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo que Guarda un proveedor /// </summary> /// <param name="info"></param> internal void Guardar(ProveedorInfo info) { try { Logger.Info(); using (var tscope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required)) { var proveedorDAL = new ProveedorDAL(); if (info.ProveedorID != 0) { proveedorDAL.Actualizar(info); var provComisionDal = new ComisionDAL(); var provChofDAL = new ProveedorChoferDAL(); var lista = (from p in info.Choferes select new ProveedorChoferInfo() { Proveedor = info, Chofer = p, Activo = EstatusEnum.Activo, UsuarioCreacionID = info.UsuarioModificacionID ?? 0 }).ToList(); provChofDAL.Guardar(lista); provComisionDal.GuardarComisiones(info.Comisiones); if (info.TipoProveedor.TipoProveedorID == TipoProveedorEnum.Comisionistas.GetHashCode()) { var listaRetenciones = new List <ProveedorRetencionInfo>(); ObtenerListaProveedorRetencion(listaRetenciones, info); if (listaRetenciones.Any()) { var proveedorRetencionBL = new ProveedorRetencionBL(); IList <ProveedorRetencionInfo> listaRetencionesGuardadas = proveedorRetencionBL.ObtenerPorProveedorID(info.ProveedorID); if (listaRetencionesGuardadas != null && listaRetencionesGuardadas.Any()) { ProveedorRetencionInfo proveedorRetencionInfo; foreach (var retencion in listaRetenciones) { if (retencion.Iva != null) { proveedorRetencionInfo = listaRetencionesGuardadas.FirstOrDefault(ret => ret.Iva.IvaID > 0); if (proveedorRetencionInfo != null) { retencion.ProveedorRetencionID = proveedorRetencionInfo.ProveedorRetencionID; retencion.UsuarioModificacionID = info.UsuarioModificacionID ?? 0; } } else { proveedorRetencionInfo = listaRetencionesGuardadas.FirstOrDefault(ret => ret.Retencion.TipoRetencion.Equals(retencion.Retencion.TipoRetencion)); if (proveedorRetencionInfo != null) { retencion.ProveedorRetencionID = proveedorRetencionInfo.ProveedorRetencionID; retencion.UsuarioModificacionID = info.UsuarioModificacionID ?? 0; } } } } proveedorRetencionBL.GuardarLista(listaRetenciones); } } } else { proveedorDAL.Crear(info); } tscope.Complete(); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }