public void ClienteObtenerPorIdExistente() { var pl = new ClientePL(); ClienteInfo cliente = pl.ObtenerPorID(3); Assert.AreNotEqual(cliente, null); }
/// <summary> /// Método para guardar los valores del contexto /// </summary> private void Guardar() { bool guardar = ValidaGuardar(); if (guardar) { try { var clientePL = new ClientePL(); clientePL.Guardar(Contexto); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); confirmaSalir = false; Close(); } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.Cliente_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.Cliente_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } }
private bool ValidarCliente() { var retorno = false; if (skAyudaCliente.Clave.Trim() != "") { var clientePL = new ClientePL(); var clienteInfo = new ClienteInfo(); clienteInfo.CodigoSAP = skAyudaCliente.Clave; clienteInfo = clientePL.ObtenerClientePorCliente(clienteInfo); retorno = true; if (clienteInfo == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaIndividualGanado_MensajeClienteInvalido, MessageBoxButton.OK, MessageImage.Warning); skAyudaCliente.AsignarFoco(); retorno = false; } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaIndividualGanado_MensajeValidacionCliente, MessageBoxButton.OK, MessageImage.Warning); skAyudaCliente.AsignarFoco(); } return(retorno); }
public void ClienteObtenerPorId() { var pl = new ClientePL(); ClienteInfo cliente = pl.ObtenerPorID(100); Assert.AreEqual(cliente, null); }
private bool ValidarInicioProceso() { bool resultado = false; ClientePL clientepl = new ClientePL(); MuertesEnTransitoPL muertesPl = new MuertesEnTransitoPL(); string mensaje = string.Empty; int organizacionId = AuxConfiguracion.ObtenerOrganizacionUsuario(); if (clientepl.ObtenerTotalClientesActivos() > 0) { if (muertesPl.ObtenerTotalFoliosValidos(organizacionId) > 0) { resultado = true; } else { mensaje = Properties.Resources.MuertesEnTransito_NoExistenFoliosMuerteGanadoRegistrados; } } else { mensaje = Properties.Resources.MuertesEnTransito_NoExistenClientesActivos; } if (!resultado) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], mensaje, MessageBoxButton.OK, MessageImage.Error); deshabilitaControles(); } return(resultado); }
/// <summary> /// Metodo que valida los datos para guardar /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { if (string.IsNullOrWhiteSpace(Contexto.CodigoSAP)) { resultado = false; mensaje = Properties.Resources.ClienteEdicion_MsgCodigoSAPRequerida; txtCodigoSAP.Focus(); } else if (string.IsNullOrWhiteSpace(Contexto.Descripcion)) { resultado = false; mensaje = Properties.Resources.ClienteEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.ClienteEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int clienteId = Contexto.ClienteID; var clientePL = new ClientePL(); ClienteInfo cliente = clientePL.ObtenerPorDescripcion(Contexto.Descripcion); if (cliente != null && (clienteId == 0 || clienteId != cliente.ClienteID)) { resultado = false; mensaje = string.Format(Properties.Resources.ClienteEdicion_MsgDescripcionExistente, cliente.ClienteID); } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
public void ClienteObtenerPorPagina() { var pl = new ClientePL(); var pagina = new PaginacionInfo { Inicio = 1, Limite = 15 }; var filtro = new ClienteInfo { Descripcion = null }; ResultadoInfo <ClienteInfo> listaPaginada = pl.ObtenerPorPagina(pagina, filtro); Assert.AreNotEqual(listaPaginada, null); }
public void ClienteObtenerPorPaginaSinDatos() { var pl = new ClientePL(); var pagina = new PaginacionInfo { Inicio = 1, Limite = 15 }; var filtro = new ClienteInfo { Descripcion = "1331312313khgdjkfghjkd" }; ResultadoInfo <ClienteInfo> listaPaginada = pl.ObtenerPorPagina(pagina, filtro); Assert.AreEqual(listaPaginada, null); }
private void Buscar() { try { if (!string.IsNullOrWhiteSpace(Contexto.Sociedad) && !string.IsNullOrWhiteSpace(Contexto.CodigoSAP)) { Contexto.CodigoSAP = Contexto.CodigoSAP.PadLeft(10, '0'); var clientePL = new ClientePL(); ClienteInfo clienteExiste = clientePL.ObtenerClientePorCliente(Contexto); MessageBoxResult resultado = MessageBoxResult.No; if (clienteExiste != null && clienteExiste.ClienteID > 0) { resultado = SkMessageBox.Show(this, Properties.Resources.ClienteNuevo_ClienteExiste, MessageBoxButton.YesNo, MessageImage.Question); if (resultado == MessageBoxResult.No) { return; } } Contexto = clientePL.ObtenerClienteSAP(Contexto); if (Contexto == null || string.IsNullOrWhiteSpace(Contexto.CodigoSAP)) { SkMessageBox.Show(this, Properties.Resources.ClienteNuevo_ClienteNoEncontrado, MessageBoxButton.OK, MessageImage.Warning); return; } if (Contexto.Bloqueado) { SkMessageBox.Show(this, Properties.Resources.ClienteNuevo_ClienteBloqueado, MessageBoxButton.OK, MessageImage.Warning); return; } if (resultado == MessageBoxResult.Yes && clienteExiste != null) { Contexto.ClienteID = clienteExiste.ClienteID; Contexto.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); } btnGuardar.IsEnabled = true; } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.ClienteNuevo_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
public MuertesEnTransitoVenta() { InitializeComponent(); ClientePL clientepl = new ClientePL(); MuertesEnTransitoPL muertesPl = new MuertesEnTransitoPL(); if (ValidarInicioProceso()) { organizacionID = Convert.ToInt32(Application.Current.Properties["OrganizacionID"]); usuarioID = Convert.ToInt32(Application.Current.Properties["UsuarioID"]); AgregarAyudaFolioEntrada(); dgAretes.ItemsSource = Animales; InicializaContexto(); skAyudaCliente.ObjetoNegocio = new ClientePL(); InicializarFormulario(); skAyudaCliente.EsBindeable = false; skAyudaCliente.AyudaConDatos += (sender, args) => { if (muertesEnTransitoInfoSeleccionado != null) { Contexto.Proveedor.EmbarqueID = muertesEnTransitoInfoSeleccionado.EmbarqueID; ClienteInfo cliente = clientepl.ObtenerClientePorCliente(Contexto.Cliente); if (cliente != null) { if (cliente.Activo == EstatusEnum.Activo) { Contexto.Cliente = cliente; muertesEnTransitoInfoSeleccionado.Cliente = Contexto.Cliente; skAyudaCliente.Contexto = cliente; skAyudaCliente.txtClave.Text = cliente.CodigoSAP; skAyudaCliente.txtDescripcion.Text = cliente.Descripcion; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Cliente_ClienteNoActivo, MessageBoxButton.OK, MessageImage.Error); skAyudaCliente.Contexto = new ClienteInfo(); skAyudaCliente.txtClave.Text = string.Empty; skAyudaCliente.txtDescripcion.Text = string.Empty; } } } }; skAyudaFolioEntrada.AsignarFoco(); } }
//si se encontro o selecciono un cliente con la ayuda: private void SkAyudaClientes_OnAyudaConDatos(object sender, EventArgs e) { try { var clienteVentaPL = new ClientePL(); var cliente = clienteVentaPL.Obtener_Nombre_CodigoSAP_PorID(Contexto.Cliente); Contexto.Cliente.CodigoSAP = cliente.CodigoSAP; skAyudaClientes.txtClave.Text = Contexto.Cliente.CodigoSAP;//:se carga el codigoSAP del proveedor seleccionado skAyudaClientes.txtDescripcion.Text = Contexto.Cliente.Descripcion; } catch (Exception ex) { Logger.Error(ex); MessageBox.Show(ex.Message); } }
public void ClienteCrear() { var random = new Random(); int randomNumber = random.Next(0, 100); var pl = new ClientePL(); var cliente = new ClienteInfo { ClienteID = 0, Descripcion = string.Format("Prueba Unitaria {0}", randomNumber), CodigoSAP = string.Format("{0:D10}", randomNumber), UsuarioCreacionID = 1, Activo = EstatusEnum.Activo }; cliente.ClienteID = pl.Guardar(cliente); Assert.AreNotEqual(cliente.ClienteID, 0); }
public void ClienteGuardarDescripcionExistente() { var pl = new ClientePL(); var cliente = new ClienteInfo { ClienteID = 0, Descripcion = "Cliente Administradores", Activo = EstatusEnum.Activo }; try { pl.Guardar(cliente); } catch (Exception) { Assert.AreEqual(cliente.ClienteID, 0); } }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaCliente(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var clientePL = new ClientePL(); ClienteInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <ClienteInfo> resultadoInfo = clientePL.ObtenerPorPagina(pagina, filtros); if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0) { gridDatos.ItemsSource = resultadoInfo.Lista; ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros; } else { ucPaginacion.TotalRegistros = 0; gridDatos.ItemsSource = new List <Cliente>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Cliente_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Cliente_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
public void ClienteActualizar() { var random = new Random(); int randomNumber = random.Next(0, 100); var pl = new ClientePL(); ClienteInfo cliente = pl.ObtenerPorID(3); if (cliente != null) { string descripcion; try { descripcion = string.Format("Cliente actualizado {0}", randomNumber); cliente.Descripcion = descripcion; cliente.UsuarioModificacionID = 2; pl.Guardar(cliente); } catch (Exception) { descripcion = string.Empty; } Assert.AreEqual(cliente.Descripcion, descripcion); } }
/// <summary> /// Método con el cual se valida el folio del ticket ingresado /// </summary> private bool ValidarFolioTicket() { if (txtFolioTicket.Text.Trim() != "") { var venta = new VentaGanadoPL(); var ventadetalle = new VentaGanadoDetallePL(); var usuarioPl = new UsuarioPL(); TicketInfo Ticket = new TicketInfo(); Ticket.FolioTicket = int.Parse(txtFolioTicket.Text.Trim()); if ((string)cmbTipo.SelectedItem == Properties.Resources.SalidaIndividualDeGanado_cmbTipoExterno) { Ticket.TipoVenta = TipoVentaEnum.Externo; } else { Ticket.TipoVenta = TipoVentaEnum.Propio; } listaAretes.Items.Clear(); skAyudaCliente.LimpiarCampos(); Ticket.Organizacion = AuxConfiguracion.ObtenerOrganizacionUsuario(); VentaGanadoInfo ganado = venta.ObtenerVentaGanadoPorTicket(Ticket); if (ganado != null) { UsuarioInfo usuarioSubioGanado = usuarioPl.ObtenerPorID(ganado.UsuarioModificacionID); var clientePl = new ClientePL(); var cliente = new ClienteInfo { ClienteID = ganado.ClienteID, CodigoSAP = ganado.CodigoSAP }; cliente = clientePl.ObtenerClientePorCliente(cliente); skAyudaCliente.Clave = cliente.CodigoSAP; skAyudaCliente.Descripcion = cliente.Descripcion; skAyudaCliente.Info = cliente; txtCorral.Text = ganado.CodigoCorral; var pesoTara = decimal.Parse(ganado.PesoTara.ToString(CultureInfo.InvariantCulture).Replace(".00", "").Replace(",00", "")); txtPesoTara.Text = pesoTara.ToString(CultureInfo.CurrentCulture); txtPesoTara.IsEnabled = false; txtFolioTicket.IsEnabled = false; if (!basculaConectada) { txtPesoBruto.IsEnabled = true; } skAyudaCliente.IsEnabled = false; _pesoTomado = false; ObtenerPesoBascula(); List <VentaGanadoDetalleInfo> detalle = ventadetalle.ObtenerVentaGanadoPorTicket(ganado.VentaGanadoID); if (Ticket.TipoVenta == TipoVentaEnum.Propio) { if (detalle != null) { if (detalle.Count > 0) { lblTotalCabezas.IsEnabled = true; lblNumeroTotalCabezas.IsEnabled = true; lblNumeroTotalCabezas.Content = detalle.Count.ToString(); lblNumeroTotalCabezas.Visibility = Visibility.Visible; lblTotalCabezas.Visibility = Visibility.Visible; } listaAretes.Visibility = Visibility.Visible; cmbTipo.IsEnabled = false; cmbTipo.SelectedIndex = 0; foreach (VentaGanadoDetalleInfo ventaGanadoDetalleInfo in detalle) { listaAretes.Items.Add(ventaGanadoDetalleInfo); } nombreUsuarioSubioGanado = usuarioSubioGanado.Nombre; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaIndividualGanado_MensajeTicketNoTieneAretes, MessageBoxButton.OK, MessageImage.Warning); Limpiar(); return(false); } } else { if (ganado.TotalCabezas > 0) { cmbTipo.SelectedIndex = 1; cmbTipo.IsEnabled = false; listaAretes.Visibility = Visibility.Hidden; lblTotalCabezas.IsEnabled = true; lblNumeroTotalCabezas.IsEnabled = true; lblNumeroTotalCabezas.Content = ganado.TotalCabezas.ToString(); lblNumeroTotalCabezas.Visibility = Visibility.Visible; lblTotalCabezas.Visibility = Visibility.Visible; nombreUsuarioSubioGanado = usuarioSubioGanado.Nombre; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaIndividualGanado_MensajeTicketNoTieneAretes, MessageBoxButton.OK, MessageImage.Warning); Limpiar(); return(false); } } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaIndividualGanado_MensajeFolioTicketInvalido, MessageBoxButton.OK, MessageImage.Warning); Limpiar(); return(false); } } return(true); }
/// <summary> /// Obtiene los datos del elemento seleccionado en la ayuda Folio de Entrada. /// </summary> /// <param name="filtro"></param> private void ObtenerDatosAyudaFolioEntrada(string filtro) { List <string> aretes = new List <string>(); muertesEnTransitoInfoSeleccionado = skAyudaFolioEntrada.Info; InicializarAyudaFolioEntrada(); skAyudaCliente.LimpiarCampos(); MuertesEnTransitoPL muertePl = new MuertesEnTransitoPL(); ValidacionesFolioVentaMuerte validaciones = new ValidacionesFolioVentaMuerte(); if (muertesEnTransitoInfoSeleccionado != null && muertesEnTransitoInfoSeleccionado.EntradaGanadoID != 0) { foreach (AnimalInfo arete in dgAretes.Items) { aretes.Add(arete.Arete); } validaciones = muertePl.ValidarFolio(muertesEnTransitoInfoSeleccionado.FolioEntrada, organizacionID, aretes); if (!validaciones.RegistroCondicionMuerte) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MuertesEnTransito_FolioSinCondicionMuerte, MessageBoxButton.OK, MessageImage.Warning); InicializarFormulario(); skAyudaFolioEntrada.AsignarFoco(); } else if (validaciones.FolioConMuertesRegistradas) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MuertesEnTransito_FolioConRegistroMuertes, MessageBoxButton.OK, MessageImage.Warning); InicializarFormulario(); skAyudaFolioEntrada.AsignarFoco(); } else if (muertesEnTransitoInfoSeleccionado.MuertesTransito == 0) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MuertesEnTransito_msgNoTieneMuertes, MessageBoxButton.OK, MessageImage.Warning); InicializarFormulario(); skAyudaFolioEntrada.AsignarFoco(); } else if (muertesEnTransitoInfoSeleccionado.MuertesRegistradas != 0) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MuertesEnTransito_msgMuertesRegistradas, MessageBoxButton.OK, MessageImage.Warning); InicializarFormulario(); skAyudaFolioEntrada.AsignarFoco(); } else if (!validaciones.EstatusLote) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MuertesEnTransito_LoteInactivo, MessageBoxButton.OK, MessageImage.Stop); InicializarFormulario(); skAyudaFolioEntrada.AsignarFoco(); } else if (validaciones.Cabezas == 0) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MuertesEnTransito_LoteSinCabezas, MessageBoxButton.OK, MessageImage.Stop); InicializarFormulario(); skAyudaFolioEntrada.AsignarFoco(); } else { muertesEnTransitoInfoSeleccionado.OrganizacionID = organizacionID; txtArete.IsEnabled = true; chkSinArete.IsChecked = false; if (muertesEnTransitoInfoSeleccionado.TipoOrigenID == (int)TipoOrganizacion.CompraDirecta) { txtArete.IsEnabled = false; chkSinArete.IsChecked = true; } else { AnimalesDelCorral = new List <AnimalInfo>(); var muertesEnTransitoPl = new MuertesEnTransitoPL(); AnimalesDelCorral = muertesEnTransitoPl.ObtenerAretesPorFolioEntrada(muertesEnTransitoInfoSeleccionado); } if (ProveedoresAsignadosAlEmbarque(muertesEnTransitoInfoSeleccionado.EmbarqueID) <= 1) { var pl = new ProveedorPL(); var cl = new ClientePL(); var clienteInfo = new ClienteInfo(); var info = new ProveedorInfo() { CodigoSAP = muertesEnTransitoInfoSeleccionado.CodigoProveedor }; clienteInfo = cl.ObtenerPorDescripcion(muertesEnTransitoInfoSeleccionado.Proveedor); Contexto.Proveedor = pl.ObtenerPorCodigoSAP(info); if (clienteInfo != null) { skAyudaCliente.IsEnabled = false; muertesEnTransitoInfoSeleccionado.Cliente = clienteInfo; skAyudaCliente.Clave = muertesEnTransitoInfoSeleccionado.Cliente.CodigoSAP; skAyudaCliente.Descripcion = muertesEnTransitoInfoSeleccionado.Cliente.Descripcion; Contexto.Cliente = clienteInfo; } else { skAyudaCliente.IsEnabled = true; skAyudaCliente.Clave = string.Empty; skAyudaCliente.Descripcion = string.Empty; SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MuertesEnTransito_ProveedorNoEsCliente, MessageBoxButton.OK, MessageImage.Warning); skAyudaCliente.Focus(); } } else { skAyudaCliente.IsEnabled = true; } Contexto.Proveedor.EmbarqueID = muertesEnTransitoInfoSeleccionado.EmbarqueID; countAreteGenerico = muertesEnTransitoInfoSeleccionado.MuertesRegistradas + 1; txtOrigen.Text = muertesEnTransitoInfoSeleccionado.Origen; txtTipoOrigen.Text = muertesEnTransitoInfoSeleccionado.TipoOrigen; txtCorral.Text = muertesEnTransitoInfoSeleccionado.Corral; txtLote.Text = muertesEnTransitoInfoSeleccionado.Lote; txtCabezas.Text = muertesEnTransitoInfoSeleccionado.Cabezas.ToString(); txtMuertesEnTransito.Text = muertesEnTransitoInfoSeleccionado.MuertesTransito.ToString(); Animales.Clear(); dgAretes.Items.Refresh(); txtArete.Clear(); txtArete.Focus(); } } }
/// <summary> /// Metodo para armar los objetos para generar poliza /// </summary> /// <param name="datosPoliza">Objeto salidaGanadotransitoInfo</param> /// <returns>poliza</returns> public override IList <PolizaInfo> GeneraPoliza(object datosPoliza) { IList <PolizaInfo> polizaSalida = new List <PolizaInfo>(); var noLinea = 1; var costosPl = new CostoPL(); var cliente = new ClientePL(); var cuentasSap = ObtenerCuentasSAP(); var interfaceBl = new InterfaceSalidaBL(); var parOrganizacion = new ParametroOrganizacionBL(); var parametroCentro = new ParametroOrganizacionInfo(); var input = (SalidaGanadoEnTransitoInfo)datosPoliza; var costosClaves = costosPl.ObtenerTodos(EstatusEnum.Activo); var costoAbono = new CostoInfo { ClaveContable = string.Empty }; var costoGanado = input.Costos.FirstOrDefault(x => x.CostoID == Costo.CostoGanado.GetHashCode()); var claveCuenta = parOrganizacion.ObtenerPorOrganizacionIDClaveParametro(input.OrganizacionID, ParametrosEnum.CTAFALTANTESOBRANTE.ToString()); ClaveContableInfo clavecontablecargo; detalles = input.DetallesSalida; datos = obtenerDatosPolizaSalidaPorVenta(input); input.Cliente = cliente.ObtenerPorID(input.Cliente.ClienteID); //la var datos debe contener datos para poder acceder a su valor en la propiedad PostFijoRef3 var ref3 = Ref3(input); var archivoFolio = ArchivoFolio(input); #region linea1(+) Proveedor var linea1 = InicializarPolizaInfo(input, ref3, archivoFolio, noLinea); linea1.Importe = input.Importe.ToString("N", CultureInfo.InvariantCulture); linea1.Cliente = input.Cliente.CodigoSAP; //linea1.Cuenta = input.Cliente.CodigoSAP; polizaSalida.Add(linea1); noLinea++; #endregion #region linea2(-) Beneficiario var linea2 = InicializarPolizaInfo(input, ref3, archivoFolio, noLinea); //linea2.Cliente = input.Cliente.CodigoSAP; linea2.Importe = "-" + input.Importe.ToString("N", CultureInfo.InvariantCulture); var claveContableAbono = interfaceBl.ObtenerCuentaInventario(costoAbono, input.OrganizacionID, ClaveCuenta.CuentaBeneficioInventario); if (claveContableAbono != null) { var cuentaSap = cuentasSap.FirstOrDefault(clave => clave.CuentaSAP == claveContableAbono.Valor); claveContableAbono.Descripcion = cuentaSap == null ? string.Empty : cuentaSap.Descripcion; } else { claveContableAbono = new ClaveContableInfo { Valor = string.Empty }; } var beneficio = false; if (claveContableAbono.Valor.StartsWith(PrefijoCuentaCentroBeneficio)) { parametroCentro = ObtenerParametroOrganizacionPorClave(input.OrganizacionID, ParametrosEnum.CTACENTROBENEFICIOENG.ToString()); if (parametroCentro == null) { throw new ExcepcionServicio(string.Format("{0}", "CENTRO DE BENEFICIO NO CONFIGURADO")); } beneficio = true; } else { if (claveContableAbono.Valor.StartsWith(PrefijoCuentaCentroCosto) || claveContableAbono.Valor.StartsWith(PrefijoCuentaCentroGasto)) { parametroCentro = ObtenerParametroOrganizacionPorClave(input.OrganizacionID, ParametrosEnum.CTACENTROCOSTOENG.ToString()); if (parametroCentro == null) { throw new ExcepcionServicio(string.Format("{0}", "CENTRO DE BENEFICIO NO CONFIGURADO")); } } } if (beneficio) { linea2.CentroBeneficio = parametroCentro.Valor; } else { linea2.CentroCosto = parametroCentro.Valor; } linea2.Cuenta = claveContableAbono.Valor; polizaSalida.Add(linea2); noLinea++; #endregion #region linea3 cargo a cuenta costo ganado(-) //se elimino esta linea #endregion #region linea4 cargo a costo corral(-) if (costoGanado == null) { return(polizaSalida); } var linea4 = InicializarPolizaInfo(input, ref3, archivoFolio, noLinea); linea4.Cuenta = claveCuenta.Valor; if (claveCuenta.Valor.Substring(0, 4) == "5001") { linea4.CentroCosto = datos.ParametroOrganizacionValor; } var importeCostos = input.DetallesSalida.Sum(costo => costo.ImporteCosto); linea4.Importe = "-" + importeCostos.ToString(CultureInfo.InvariantCulture); polizaSalida.Add(linea4); noLinea++; #endregion #region linea5 cargoACuentaResultados (-)(importe total) var linea5 = InicializarPolizaInfo(input, ref3, archivoFolio, noLinea); if (claveCuenta.Valor.Substring(0, 4) == "5001") { linea5.CentroCosto = datos.ParametroOrganizacionValor; } var salidaVentaTransito = input.DetallesSalida.FirstOrDefault(detalle => detalle.CostoId == Costo.CostoGanado.GetHashCode()); if (salidaVentaTransito != null) { linea5.Importe = salidaVentaTransito.ImporteCosto.ToString(CultureInfo.InvariantCulture); } costos = ObtenerCostos(); var firstOrDefault = costos.FirstOrDefault(x => x.CostoID == costoGanado.CostoID); if (firstOrDefault != null) { costoAbono.ClaveContable = firstOrDefault.ClaveContable; clavecontablecargo = ObtenerCuentaInventario(costoAbono, input.OrganizacionID, TipoPoliza.PolizaMuerteTransito); if (clavecontablecargo != null) { linea5.Cuenta = clavecontablecargo.Valor; } } polizaSalida.Add(linea5); noLinea++; #endregion #region linea6 abono a cuenta Resultados a la misma cuenta que el punto anterior en foreach var linea6 = new List <PolizaInfo>(); foreach (var costoCargo in input.DetallesSalida.SkipWhile(costo => costo.CostoId == Costo.CostoGanado.GetHashCode())) { var temp = InicializarPolizaInfo(input, ref3, archivoFolio, noLinea); temp.Importe = costoCargo.ImporteCosto.ToString(CultureInfo.InvariantCulture); var claveCosto = costosClaves.FirstOrDefault(x => x.CostoID == costoCargo.CostoId); if (claveCosto != null) { costoAbono.ClaveContable = claveCosto.ClaveContable; clavecontablecargo = ObtenerCuentaInventario(costoAbono, input.OrganizacionID, TipoPoliza.PolizaMuerteTransito); if (clavecontablecargo != null) { temp.Cuenta = clavecontablecargo.Valor; } } if (claveCuenta.Valor.Substring(0, 4) == "5001") { temp.CentroCosto = datos.ParametroOrganizacionValor; } linea6.Add(temp); noLinea++; } foreach (var polizaItem in linea6) { polizaSalida.Add(polizaItem); } #endregion return(polizaSalida); }