/// <summary> /// Obtiene la lista de comisiones asignadas al proveedor identificado /// </summary> /// <param name="ProveedorID">ID del Proveedor</param> /// <returns></returns> public List <ComisionInfo> obtenerComisionesProveedor(int ProveedorID) { List <ComisionInfo> resultado = new List <ComisionInfo>(); try { Logger.Info(); var comisionDAL = new ComisionDAL(); resultado = comisionDAL.obtenerComisionesProveedor(ProveedorID); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
/// <summary> /// Obtiene el catalogo de tipos de comision /// </summary> /// <returns>Lista de tipos de comision</returns> public List <TipoComisionInfo> ObtenerTiposComision() { List <TipoComisionInfo> tiposComision = new List <TipoComisionInfo>(); try { Logger.Info(); var comisionDAL = new ComisionDAL(); tiposComision = comisionDAL.ObtenerTiposComisiones(); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(tiposComision); }
/// <summary> /// Guarda las comisiones del proveedor /// </summary> /// <param name="comsiones">Lista de comisiones a guardar</param> /// <returns>Retorna verdadero cuando los datos se guardaron correctamente</returns> public bool GuardarComisiones(List <ComisionInfo> comsiones) { bool resultado = false; try { Logger.Info(); var comisionDAL = new ComisionDAL(); resultado = comisionDAL.GuardarComisiones(comsiones); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
/// <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); } }