Example #1
0
        public IGestorMenu ResuelveMenu(UnidadeDeNegocio?UnidadActual)
        {
            IGestorMenu menu;

            switch (UnidadActual)
            {
            case Inteldev.Core.DTO.Organizacion.UnidadeDeNegocio.Preventa:
                menu = (IMenuPreventa)FabricaNegocios._Resolver(typeof(IMenuPreventa));
                break;

            case Inteldev.Core.DTO.Organizacion.UnidadeDeNegocio.Mayorista:
                menu = (IMenuMayorista)FabricaNegocios._Resolver(typeof(IMenuMayorista));
                break;

            case Inteldev.Core.DTO.Organizacion.UnidadeDeNegocio.Gestion:
                menu = (IMenuGestion)FabricaNegocios._Resolver(typeof(IMenuGestion));
                break;

            case Inteldev.Core.DTO.Organizacion.UnidadeDeNegocio.Representaciones:
                menu = (IMenuRepresentaciones)FabricaNegocios._Resolver(typeof(IMenuRepresentaciones));
                break;

            case Inteldev.Core.DTO.Organizacion.UnidadeDeNegocio.Logistica:
                menu = (IMenuLogistica)FabricaNegocios._Resolver(typeof(IMenuLogistica));
                break;

            default:
                menu = FabricaNegocios._Resolver <IGestorMenu>();
                break;
            }
            return(menu);
        }
Example #2
0
        public List <OrdenDeCompra> BuscarOrdenes(EstadoOrdenDeCompra estado, int ProveedorId)
        {
            var buscador = FabricaNegocios._Resolver <IBuscadorOrdenDeCompra>();
            var result   = buscador.BuscarOrdenes((Inteldev.Fixius.Modelo.Proveedores.EstadoOrdenDeCompra)estado, ProveedorId);

            return(this.Mapeador.ToListDto(result));
        }
Example #3
0
        protected override void sincronizarDetalle(DataTable dataTable, PropertyInfo propiedadEntidad, object entidad)
        {
            var listadetalle  = (propiedadEntidad.GetValue(entidad) as IEnumerable <object>).Cast <DetalleMovimiento>().ToList();
            var buscaArticulo = FabricaNegocios._Resolver <IBuscador <Articulo> >();

            foreach (DataRow row in dataTable.Rows)
            {
                var detalle = new DetalleMovimiento();
                foreach (DataColumn Columna in dataTable.Columns)
                {
                    switch (Columna.ColumnName)
                    {
                    case "Articulo":
                        var articulo = buscaArticulo.BuscarPorCodigo <Articulo>((string)row[Columna.ColumnName]);
                        detalle.Articulo = articulo;
                        if (articulo != null)
                        {
                            detalle.ArticuloId = articulo.Id;
                        }
                        else
                        {
                            detalle.ArticuloId = 0;
                        }
                        break;

                    case "Cantidad":
                        detalle.Cantidad = (int)row[Columna.ColumnName];
                        break;
                    }
                }
                listadetalle.Add(detalle);
            }
            propiedadEntidad.SetValue(entidad, listadetalle);
        }
        public ConceptoDeMovimiento ObtenerConcepto(Empresa empresa, TipoDocumento tipoDocumento, TipoConcepto tipoConcepto)
        {
            var buscadorRefencia = FabricaNegocios._Resolver <BuscadorReferencia>();

            buscadorRefencia.BuscarReferencia(empresa, tipoDocumento, tipoConcepto);
            return(buscadorRefencia.ObtenerConceptoMovimiento());
        }
        public List <Servicios.DTO.Preventa.CoordenadaCliente> BuscarCoordenadasClientes(List <string> codigosClientes)
        {
            var mapeadorCoordenadas = FabricaNegocios._Resolver <IMapeadorGenerico <Inteldev.Fixius.Modelo.Preventa.CoordenadaCliente, Inteldev.Fixius.Servicios.DTO.Preventa.CoordenadaCliente> >();
            var buscadorCoordenadas = (IBuscadorCoordenadaCliente)this.BuscadorEntidad;
            var result = buscadorCoordenadas.ObtenerCoordenadasClientes(codigosClientes);

            return(mapeadorCoordenadas.ToListDto(result));
        }
        public List <Servicios.DTO.Preventa.CoordenadaCliente> ObtenerCoordenadasDeClientes(int?preventistaId, DateTime dia)
        {
            var mapeadorCoordenadas = FabricaNegocios._Resolver <IMapeadorGenerico <Inteldev.Fixius.Modelo.Preventa.CoordenadaCliente, Inteldev.Fixius.Servicios.DTO.Preventa.CoordenadaCliente> >();
            var buscadorCoordenadas = (IBuscadorCoordenadaCliente)this.BuscadorEntidad;
            var result = buscadorCoordenadas.ObtenerCoordenadas(preventistaId, dia);

            return(mapeadorCoordenadas.ToListDto(result));
        }
        public Respuesta <TEntidad> Consultar(Parametros <TEntidad> parametros)
        {
            var consultador = FabricaNegocios._Resolver <IConsultador <TEntidad> >();
            var respuesta   = new Respuesta <TEntidad>();

            respuesta.Datos = consultador.Consulta(parametros);
            return(respuesta);
        }
Example #8
0
        public List <Cliente> ObtenerClientes(Preventista preventista, DateTime fecha)
        {
            var mapeadorPreventista = FabricaNegocios._Resolver <IMapeadorGenerico <Inteldev.Fixius.Modelo.Preventa.Preventista, Inteldev.Fixius.Servicios.DTO.Preventa.Preventista> >();
            var buscadorRutadeVenta = (IBuscadorRutaDeVenta)this.BuscadorEntidad;
            var result          = buscadorRutadeVenta.ObtenerClientes(mapeadorPreventista.DtoToEntidad(preventista), fecha);
            var mapeadorCliente = FabricaNegocios._Resolver <IMapeadorGenerico <Modelo.Clientes.Cliente, Servicios.DTO.Clientes.Cliente> >();

            return(mapeadorCliente.ToListDto(result));
        }
Example #9
0
        public List <RutaDeVenta> ObtenerRutasDelDia(Preventista preventista, DateTime fecha)
        {
            var mapeadorPreventista = FabricaNegocios._Resolver <IMapeadorGenerico <Inteldev.Fixius.Modelo.Preventa.Preventista, Inteldev.Fixius.Servicios.DTO.Preventa.Preventista> >();
            var buscadorRutadeVenta = (IBuscadorRutaDeVenta)this.BuscadorEntidad;
            var result = buscadorRutadeVenta.ObtenerRutasDelDia(mapeadorPreventista.DtoToEntidad(preventista), fecha);
            var x      = this.Mapeador.ToListDto(result);

            return(x);
        }
Example #10
0
        public List <Core.DTO.Locacion.Coordenada> ObtenerCoordenadas(string codigo, string empresa, string division)
        {
            var mapeadorCoordenada  = FabricaNegocios._Resolver <IMapeadorGenerico <Inteldev.Core.Modelo.Locacion.Coordenada, Inteldev.Core.DTO.Locacion.Coordenada> >();
            var buscadorRutadeVenta = (IBuscadorRutaDeVenta)this.BuscadorEntidad;
            var result = buscadorRutadeVenta.ObtenerCoordenadas(codigo, empresa, division).ToList();
            var x      = mapeadorCoordenada.ToListDto(result);

            return(x);
        }
Example #11
0
        public ListaDePrecios obtenerListaProveedor(int id, bool cargaEntidad)
        {
            this.BuscadorEntidad = FabricaNegocios._Resolver <IBuscadorListaDePrecios>();
            var buscador = (IBuscadorListaDePrecios)this.BuscadorEntidad;
            //var mapper = (MapeadorListaDePrecios)this.Mapeador;
            //var mapper = new MapeadorListaDePrecios();
            var result   = buscador.obtenerListaProveedor(id, cargaEntidad);
            var devuelvo = this.Mapeador.EntidadToDto(result);

            return(devuelvo);
        }
Example #12
0
        public string ObtenerLetra(CondicionAnteIVA CondicionDeIvaEmpresa, CondicionAnteIVA CondicionDeIvaProveedor, TipoDocumento documento)
        {
            string result    = "A";
            var    poneLetra = FabricaNegocios._Resolver <IPoneLetra>();

            poneLetra.ItemLetra.documento = documento;
            poneLetra.ItemLetra.condicionAnteIVAEmpresa   = CondicionDeIvaEmpresa;
            poneLetra.ItemLetra.condicionAnteIVAProveedor = CondicionDeIvaProveedor;
            result = poneLetra.ObtenerLetra(poneLetra.ItemLetra);
            return(result);
        }
        public Respuesta <Servicios.DTO.Proveedores.Proveedor> Consulta(Core.DTO.Parametros <Servicios.DTO.Proveedores.Proveedor> param)
        {
            var result = this.contexto.Consultar <DocumentoCompra>(CargarRelaciones.NoCargarNada)
                         .Where(p => p.ProveedorId == param.Entidad.Id).ToList();
            var mapeador  = FabricaNegocios._Resolver <IMapeadorGenerico <Modelo.Proveedores.DocumentoCompra, Servicios.DTO.Proveedores.DocumentoCompra> >();
            var respuesta = new Respuesta <Servicios.DTO.Proveedores.Proveedor>();

            respuesta.Datos  = mapeador.ToListDto(result);
            respuesta.Estado = EstadoRespuesta.OK;
            return(respuesta);
        }
        /// <summary>
        /// args[0] = proveedor
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public override CreadorCarrier <Servicios.DTO.Proveedores.DevolucionDeMercaderia> Crear(params int[] args)
        {
            var buscadorProveedor = FabricaNegocios._Resolver <IBuscadorDTO <Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor> >();
            var creadorDevolucion = FabricaNegocios._Resolver <ICreador <Modelo.Proveedores.DevolucionDeMercaderia> >();
            var devolucion        = creadorDevolucion.Crear();
            var result            = this.Mapeador.EntidadToDto(devolucion);

            result.Proveedor = buscadorProveedor.BuscarSimple(args[0], Core.CargarRelaciones.NoCargarNada);
            var creadorCarrier = new CreadorCarrier <Servicios.DTO.Proveedores.DevolucionDeMercaderia>();

            creadorCarrier.SetEntidad(result);
            return(creadorCarrier);
        }
Example #15
0
        /// <summary>
        /// Fijarse aca porque no se porque pasa el articulo y la cantidad
        /// args[0] = deposito
        /// args[1] = articulo
        /// args[2] = cantidad
        /// args[3] = tipoMovimiento
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public override CreadorCarrier <Servicios.DTO.Stock.Movimiento> Crear(params int[] args)
        {
            var result           = new Servicios.DTO.Stock.Movimiento();
            var buscadorDeposito = FabricaNegocios._Resolver <IBuscadorDTO <Core.Modelo.Stock.Deposito, Inteldev.Core.DTO.Stock.Deposito> >();

            result.DepositoId     = args[0];
            result.TipoMovimiento = (TipoMovimiento)args[3];
            result.Fecha          = DateTime.Now;
            var creadorCarrier = new CreadorCarrier <Servicios.DTO.Stock.Movimiento>();

            creadorCarrier.SetEntidad(result);
            return(creadorCarrier);
        }
Example #16
0
        public override void ConfigurarCamposValores(DocumentoCompra entidad)
        {
            string coc = this.obtenerCoc();

            SetearValores("fecha", DateTimeToDateFox(entidad.Fecha), "date()");
            SetearValores("fechacon", DateTimeToDateFox(entidad.FechaContable), "date()");
            SetearValores("tipo", tipoDocumento, "");
            SetearValores("letra", entidad.Letra.ToString(), "");
            SetearValores("sucursal", entidad.Prenumero.ToString().PadLeft(4, '0'), "");
            SetearValores("numero", entidad.Numero.ToString().PadLeft(8, '0'), "");
            SetearValores("proveedor", entidad.Proveedor.Codigo, "");
            SetearValores("nombre", entidad.Proveedor.RazonSocial, "");
            SetearValores("condiva", GrabadorFoxProveedor.CondicionAnteIva(entidad.Proveedor.CondicionAnteIva), "");
            SetearValores("cuit", entidad.Proveedor.Cuit, "");
            SetearValores("empresa", entidad.Empresa, "");
            SetearValores("es_totales", "S", "");

            var neto   = entidad.ItemsConceptos.Where(p => p.Tipo == TipoConcepto.Neto1).Sum(p => p.Debe + p.Haber);
            var exento = entidad.ItemsConceptos.Where(p => p.Tipo == TipoConcepto.Exento).Sum(p => p.Debe + p.Haber);
            var iva    = entidad.ItemsConceptos.Where(p => p.Tipo == TipoConcepto.IvaTasaDiferencial ||
                                                      p.Tipo == TipoConcepto.IvaTasaGeneral ||
                                                      p.Tipo == TipoConcepto.IvaTasaReducida).Sum(p => p.Debe + p.Haber);
            var percepcion = entidad.ItemsConceptos.Where(p => p.Tipo == TipoConcepto.PercepcionIva ||
                                                          p.Tipo == TipoConcepto.PercepcionIIBB).Sum(p => p.Debe + p.Haber);
            var importe = entidad.ItemsConceptos.Where(p => p.Tipo == TipoConcepto.Final).Sum(p => p.Debe + p.Haber);

            SetearValores("neto", neto, 0);
            SetearValores("exento", exento, 0);
            SetearValores("iva", iva, 0);
            SetearValores("percepcion", percepcion, 0);
            SetearValores("importe", importe, 0);
            SetearValores("coc", coc, "");

            var grabadorcompras = FabricaNegocios._Resolver <GrabadorFoxCompras>();

            grabadorcompras.ValorClavePrimaria = this.ValorClavePrimaria;
            grabadorcompras.tipoDocumento      = tipoDocumento;
            grabadorcompras.coc = coc;
            grabadorcompras.Dao = this.Dao;
            grabadorcompras.Grabar(entidad);

            var grabadorsubcompras = FabricaNegocios._Resolver <GrabadorFoxSubCompras>();

            grabadorsubcompras.ValorClavePrimaria = this.ValorClavePrimaria;
            grabadorsubcompras.tipoDocumento      = tipoDocumento;
            grabadorsubcompras.Dao = this.Dao;
            grabadorcompras.coc    = coc;
            grabadorsubcompras.GrabarSubCompras(entidad);
        }
Example #17
0
        public override Core.DTO.Carriers.GrabadorCarrier GrabarNuevo(Core.Modelo.Organizacion.Empresa Entidad, Core.Modelo.Usuarios.Usuario Usuario)
        {
            var carrier            = base.GrabarNuevo(Entidad, Usuario);
            var creadorReferencia  = FabricaNegocios._Resolver <ICreador <Modelo.Contabilidad.ReferenciaContable> >();
            var grabadorReferencia = FabricaNegocios._Resolver <IGrabador <Modelo.Contabilidad.ReferenciaContable> >();

            foreach (var item in Enum.GetValues(typeof(Imputaciones)))
            {
                var referencia = creadorReferencia.Crear();
                referencia.Empresa    = Entidad.Codigo;
                referencia.Imputacion = (Imputaciones)Enum.Parse(typeof(Imputaciones), item.ToString());
                grabadorReferencia.Grabar(referencia, Usuario);
            }
            return(carrier);
        }
        public void BuscarReferencia(Empresa empresa, TipoDocumento tipoDocumento, TipoConcepto tipoConcepto)
        {
            if (tipoConcepto != TipoConcepto.Neto1 && tipoConcepto != TipoConcepto.Exento)
            {
                var buscadorReferencia = FabricaNegocios._Resolver <IBuscadorDTO <Inteldev.Fixius.Modelo.Contabilidad.ReferenciaContable, Inteldev.Fixius.Servicios.DTO.Contabilidad.ReferenciaContable> >();
                Fixius.Servicios.DTO.Contabilidad.ReferenciaContable referenciaContable = new Servicios.DTO.Contabilidad.ReferenciaContable();
                var referenciasContables = buscadorReferencia.BuscarLista(1, Core.CargarRelaciones.CargarTodo).Where(p => p.Empresa.Id == empresa.Id);
                switch (tipoConcepto)
                {
                case TipoConcepto.IvaTasaGeneral:
                case TipoConcepto.IvaTasaReducida:
                case TipoConcepto.IvaTasaDiferencial:
                    if (tipoDocumento == TipoDocumento.Factura)
                    {
                        referenciaContable = referenciasContables.Where(p => p.Imputacion == Core.DTO.Contabilidad.Imputaciones.IVACF).FirstOrDefault();
                    }
                    else
                    {
                        referenciaContable = referenciasContables.Where(p => p.Imputacion == Core.DTO.Contabilidad.Imputaciones.IVADF).FirstOrDefault();
                    }
                    break;

                case TipoConcepto.ImpuestoInterno:
                    referenciaContable = referenciasContables.Where(p => p.Imputacion == Imputaciones.ImpInternos).FirstOrDefault();
                    break;

                case TipoConcepto.PercepcionIva:
                    referenciaContable = referenciasContables.Where(p => p.Imputacion == Imputaciones.PercepcionIva).FirstOrDefault();
                    break;

                case TipoConcepto.PercepcionIIBB:
                    referenciaContable = referenciasContables.Where(p => p.Imputacion == Imputaciones.PercepcionIIBB).FirstOrDefault();
                    break;

                case TipoConcepto.Final:
                    referenciaContable = referenciasContables.Where(p => p.Imputacion == Core.DTO.Contabilidad.Imputaciones.ProveedoresVarios).FirstOrDefault();
                    break;

                default:
                    break;
                }
                if (referenciaContable != null)
                {
                    this.concepto   = referenciaContable.Concepto;
                    this.imputacion = referenciaContable.Imputacion;
                }
            }
        }
Example #19
0
        public List <ResultadoBusqueda <Tdto> > Buscar(string busqueda, ListaParametrosDeBusqueda parametros = null)
        {
            List <ResultadoBusqueda <Tdto> > resultado = new List <ResultadoBusqueda <Tdto> >();

            Block.Busqueda = busqueda;
            List <object> listaPropiedades = new List <object>();
            var           dto         = Activator.CreateInstance(typeof(Tdto));
            var           propiedades = dto.GetType().GetProperties();

            foreach (var prop in propiedades)
            {
                if (prop.GetCustomAttributes(true).OfType <IncluirEnBuscadorAttribute>().Any())
                {
                    listaPropiedades.Add(prop);
                }
            }
            var mapeador = FabricaNegocios._Resolver <IMapeadorGenerico <Modelo.ParametrosMiniBusca, DTO.ParametrosMiniBusca> >();

            Block.AgregarPartes(listaPropiedades, mapeador.ToListEntidad(parametros.Parametros));
            foreach (var parte in Block.ObtenerPartes())
            {
                //var consulta = parte.ArmaConsulta(Buscador.ConsultaSimple(CargarRelaciones.CargarEntidades));
                //var lista = Buscador.BuscarLista(consulta, CargarRelaciones.CargarEntidades);
                var consulta = parte.ArmaConsulta(Buscador.ConsultaSimple(CargarRelaciones.NoCargarNada));
                var lista    = Buscador.BuscarLista(consulta, CargarRelaciones.NoCargarNada);
                if (lista != null)
                {
                    var parteResultado = new ResultadoBusqueda <Tdto>();
                    parteResultado.Nombre = parte.Nombre;
                    parteResultado.Lista  = Mapeador.ToListDto(lista.OrderBy(x => x.GetType().GetProperty(parte.Nombre)).ToList());
                    if (parteResultado.CantidadDeItems != 0)
                    {
                        resultado.Add(parteResultado);
                    }
                }
            }
            if (resultado.Count == 0)
            {
                var parteResultado = new ResultadoBusqueda <Tdto>();
                parteResultado.Nombre = "Sin resultados";
                parteResultado.Lista  = Mapeador.ToListDto(new List <TEntidad>());
                resultado.Add(parteResultado);
            }
            return(resultado);
        }
        public MainWindow()
        {
            #region Temporizador para la actualizacion automatica de datos
            aTimer          = new System.Timers.Timer(1000 * 55);
            aTimer.Elapsed += OnTimedEvent;
            //aTimer.Enabled = true;
            aTimer.Start();
            #endregion

            LogManager.Instancia.Mensajes.CollectionChanged += Mensajes_CollectionChanged;
            this.DataContext = this;
            Servidor.Instancia.PuertoHttp = 8000;
            Servidor.Instancia.PuertoTCP  = 8081;
            InitializeComponent();
            try
            {
                this.crearHosts();
                var reg = new Inteldev.Fixius.Negocios.RegistroNegocios();
                FabricaNegocios.Instancia.CargarRegistro(reg);

                //  Microsoft.Practices.Unity.ParameterOverride[] para = { new Microsoft.Practices.Unity.ParameterOverride("empresa", null), new Microsoft.Practices.Unity.ParameterOverride("entidad", typeof(Inteldev.Fixius.Modelo.Preventa.Preventista).Name.ToLower()) };
                //  var creprev = FabricaNegocios.Instancia.Resolver(typeof(ICreador<Inteldev.Fixius.Modelo.Preventa.Preventista>),para);

                //esto no me gusta mucho
                Inteldev.Fixius.Servicios.RegistroMapeos mapeos = new Inteldev.Fixius.Servicios.RegistroMapeos();
                mapeos.Configurar();
                var a = FabricaNegocios._Resolver <Inteldev.Core.Negocios.Menu.IGestorMenu>();
                var m = FabricaServicios._Resolver <Inteldev.Fixius.Servicios.DTO.Proveedores.Proveedor>();
                this.registro = new RegistroMapeadores();
                foreach (Mapeador item in registro.Mapeadores)
                {
                    this.dataGridMapaeadoresFox.ItemsSource = this.registro.Mapeadores;
                }
                a.Crear();
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.ToString());
            }
            this.PresentadorContexto           = new PresentadorGrillaServidor <Inteldev.Fixius.Modelo.Contexto, Inteldev.Fixius.Servicios.DTO.Contexto, ItemContexto>();
            this.PresentadorEmpresaContexto    = new PresentadorEmpresaContexto();
            this.PresentadorEmpresaEntidad     = new PresentadorEmpresaEntidad();
            this.dataGridRegistros.ItemsSource = FabricaNegocios.Instancia.ObtenerRegistro();
        }
        protected override void sincronizarDetalle(DataTable dataTable, PropertyInfo propiedadEntidad, object entidad)
        {
            var listadetalle  = (propiedadEntidad.GetValue(entidad) as IEnumerable <object>).Cast <Modelo.Stock.ItemIngreso>().ToList();
            var buscaArticulo = FabricaNegocios._Resolver <IBuscador <Articulo> >();

            buscaArticulo.CargarEntidadesRelacionadas = CargarRelaciones.NoCargarNada;
            var buscaOrdenDeCompra = FabricaNegocios._Resolver <IBuscador <OrdenDeCompra> >();

            foreach (DataRow row in dataTable.Rows)
            {
                var detalle     = new Modelo.Stock.ItemIngreso();
                var articuloCod = row.Field <string>("Articulo");
                foreach (DataColumn Columna in dataTable.Columns)
                {
                    switch (Columna.ColumnName)
                    {
                    case "Articulo":
                        var articulo = buscaArticulo.BuscarPorCodigo <Articulo>((string)row[Columna.ColumnName]);
                        detalle.Articulo = articulo;
                        if (articulo != null)
                        {
                            detalle.ArticuloId = articulo.Id;
                        }
                        else
                        {
                            detalle.ArticuloId = 0;
                        }
                        break;

                    case "Bultos":
                        detalle.Bultos = (int)row[Columna.ColumnName];
                        break;

                    case "Orden De Compra":
                        var ordenDeCompra = buscaOrdenDeCompra.BuscarPorCodigo <OrdenDeCompra>((string)row[Columna.ColumnName]);
                        detalle.OrdenDeCompra   = ordenDeCompra;
                        detalle.OrdenDeCompraId = ordenDeCompra.Id;
                        break;
                    }
                }
                listadetalle.Add(detalle);
            }
            propiedadEntidad.SetValue(entidad, listadetalle);
        }
Example #22
0
        public PresentadorGrillaServidor()
        {
            this.CmdAgregar  = new RelayCommand(p => this.AgregarItem());
            this.CmdEditar   = new RelayCommand(p => this.Editar(), q => this.PuedeEditar());
            this.CmdBorrar   = new RelayCommand(p => this.BorrarItem(), q => this.PuedeEliminar());
            this.CmdAceptar  = new RelayCommand(p => this.Aceptar());
            this.CmdCancelar = new RelayCommand(p => this.Cancelar());
            //tengo que instanciar al servicio aca de alguna forma.
            this.servicio = new ServicioABM <TDto, TEntidad>();
            this.mapeador = FabricaNegocios._Resolver <IMapeadorGenerico <TEntidad, TDto> >();
            var dett = this.servicio.ObtenerLista(1, Inteldev.Core.CargarRelaciones.NoCargarNada, "");

            this.Detalle = new ObservableCollection <TDto>();
            foreach (var item in dett)
            {
                this.Detalle.Add(item);
            }
            this.Objeto = this.Detalle.FirstOrDefault();
        }
        private void sincronizarDetalle(DataTable dataTable, ICollection <Modelo.Precios.ItemCambioDePrecioDeVenta> listadetalle)
        {
            var buscaArticulo = FabricaNegocios._Resolver <IBuscador <Articulo> >();

            buscaArticulo.CargarEntidadesRelacionadas = CargarRelaciones.NoCargarNada;
            foreach (DataRow row in dataTable.Rows)
            {
                var detalle    = new Modelo.Precios.ItemCambioDePrecioDeVenta();
                var articuloId = row.Field <int>("Articulo");
                foreach (DataColumn Columna in dataTable.Columns)
                {
                    switch (Columna.ColumnName)
                    {
                    case "Articulo":
                        var articulo = buscaArticulo.BuscarPorCodigo <Articulo>((int)row[Columna.ColumnName]);
                        detalle.Articulo = articulo;
                        if (articulo != null)
                        {
                            detalle.ArticuloId = articulo.Id;
                        }
                        else
                        {
                            detalle.ArticuloId = 0;
                        }
                        break;

                    case "Costo":
                        detalle.Costo = (decimal)row[Columna.ColumnName];
                        break;

                    case "CFU":
                        detalle.CFU = (decimal)row[Columna.ColumnName];
                        break;

                    default:
                        mapeaUnidadDeNegocios(Columna, row, detalle);
                        break;
                    }
                }
                listadetalle.Add(detalle);
            }
        }
Example #24
0
        protected override void sincronizarDetalle(DataTable dataTable, PropertyInfo propiedadEntidad, object entidad)
        {
            var listadetalle  = (propiedadEntidad.GetValue(entidad) as IEnumerable <object>).Cast <Modelo.Proveedores.DetalleDevolucionMercaderia>().ToList();
            var buscaArticulo = FabricaNegocios._Resolver <IBuscador <Modelo.Articulos.Articulo> >();

            buscaArticulo.CargarEntidadesRelacionadas = CargarRelaciones.NoCargarNada;
            foreach (DataRow row in dataTable.Rows)
            {
                if (row.RowState != DataRowState.Unchanged)
                {
                    var detalle     = new Modelo.Proveedores.DetalleDevolucionMercaderia();
                    var articuloCod = row.Field <string>("Articulo");
                    detalle.Articulo = buscaArticulo.BuscarPorCodigo <Modelo.Articulos.Articulo>(articuloCod);
                    detalle.Cantidad = row.Field <int>("Cantidad");
                    detalle.Costo    = row.Field <decimal>("Costo");
                    listadetalle.Add(detalle);
                }
            }
            propiedadEntidad.SetValue(entidad, listadetalle);
        }
        /// <summary>
        /// args[0] = proveedorId
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public override CreadorCarrier <Servicios.DTO.Proveedores.OrdenDePago> Crear(params int[] args)
        {
            var entidad = new Modelo.Proveedores.OrdenDePago();
            var buscadorDocumentoDeCompra = FabricaNegocios._Resolver <IBuscadorDocumentoDeCompra>();
            var buscadorProveedor         = FabricaNegocios._Resolver <IBuscador <Modelo.Proveedores.Proveedor> >();

            entidad.Proveedor   = buscadorProveedor.BuscarSimple(args[0]);
            entidad.ProveedorId = args[0];
            var buscadorOrdenDePago = FabricaNegocios._Resolver <IBuscadorOrdenDePago>();
            var documentosDeCompra  = buscadorDocumentoDeCompra.BuscaNoAplicados(args[0]);
            //las ordenes de pago pendientes, donde las pongo?
            var ordenesDePago       = buscadorOrdenDePago.BuscaNoAplicados(args[0]);
            var mapeadorOrdenDePago = (IMapeadorOrdenDePago)this.Mapeador;
            var dto = this.Mapeador.EntidadToDto(entidad);

            mapeadorOrdenDePago.CargaDocumentoCompra(dto.Detalle, documentosDeCompra);
            mapeadorOrdenDePago.CargaOrdenesDePago(dto.Detalle, ordenesDePago);
            var result = new CreadorCarrier <Servicios.DTO.Proveedores.OrdenDePago>();

            result.SetEntidad(dto);
            return(result);
        }
        public decimal ObtenerTasa(DTO.Proveedores.TipoConcepto tipoConcepto)
        {
            var buscadorTasa = FabricaNegocios._Resolver <IBuscadorTasa>();

            return(buscadorTasa.ObtenerTasa(tipoConcepto));
        }
        public List <OrdenDeCompra> ObtenerOrdenesDeCompra(EstadoOrdenDeCompra estado, int proveedorId)
        {
            var buscador = FabricaNegocios._Resolver <IBuscadorDTOOrdenDeCompra>();

            return(buscador.BuscarOrdenes(estado, proveedorId));
        }
        private void cargarDataTable(DataTable tabla, Modelo.Proveedores.ListaDePrecios lista)
        {
            ParameterOverride[] parameters = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", entidad) };
            var db = (Inteldev.Core.DataSwitch.IDataSwitch <Inteldev.Fixius.Modelo.Proveedores.ListaDePrecios>)FabricaNegocios.Instancia.Resolver(typeof(IDataSwitch <Inteldev.Fixius.Modelo.Proveedores.ListaDePrecios>), parameters);
            var buscadorDetalle = FabricaNegocios._Resolver <IBuscadorListaDePreciosDetalle <ListaDePreciosDetalle> >();
            var articulos       = db.Consultar <Articulo>(CargarRelaciones.NoCargarNada)
                                  .Where(art => art.Proveedor.Id == lista.Proveedor.Id)
                                  .Select(art => new { art.Id, art.Nombre }).ToList();


            var resultado = from a in articulos
                            join l in lista.Detalle on a.Id equals l.Articulo.Id into aa
                            from bb in aa.DefaultIfEmpty(new Modelo.Proveedores.ListaDePreciosDetalle())
                            select new
            {
                bb.Id,
                Articulo    = a.Id,
                Descripcion = a.Nombre,
                bb.Neto,
                bb.Iva,
                bb.ImpInterno,
                bb.Costo,
                bb.Final,
                bb.Columnas
            };
            var columnas = tabla.Columns;

            foreach (var item in resultado)
            {
                var row = tabla.NewRow();
                foreach (DataColumn columna in columnas)
                {
                    var    prop = item.GetType().GetProperty(columna.ColumnName);
                    object valor;
                    if (prop == null)
                    {
                        if (item.Columnas.Any())
                        {
                            valor = item.Columnas.Where(c => c.Nombre == columna.ColumnName).FirstOrDefault().Valor;
                        }
                        else
                        {
                            valor = 0;
                        }
                    }
                    else
                    {
                        valor = prop.GetValue(item);
                    }
                    if (valor != null)
                    {
                        row[columna.ColumnName] = valor;
                    }
                    else
                    {
                        if (columna.DataType.Equals(typeof(int)) || columna.DataType.Equals(typeof(decimal)))
                        {
                            row[columna.ColumnName] = 0;
                        }
                    }
                }
                tabla.Rows.Add(row);
            }
            foreach (DataRow row in tabla.Rows)
            {
                row.AcceptChanges();
            }
        }