コード例 #1
0
        public virtual CreadorCarrier <TDto> Crear(params string[] args)
        {
            var creadorCarrier = new CreadorCarrier <TDto>();

            creadorCarrier.SetEntidad(this.Mapeador.EntidadToDto(this.CreadorEntidad.Crear(args)));
            return(creadorCarrier);
        }
コード例 #2
0
        /// <summary>
        /// args[0] = Tipo (enum)
        /// args[1] = deposito
        /// args[2] = proveedor
        /// args[3] = orden de compra (varias)
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public override CreadorCarrier <Servicios.DTO.Stock.Ingreso> Crear(params int[] args)
        {
            ParameterOverride[] parameters = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", "OrdenDeCompra") };
            var creadorCarrier             = new CreadorCarrier <Servicios.DTO.Stock.Ingreso>();
            var creadorOrdenDeCompra       = (ICreador <Modelo.Proveedores.OrdenDeCompra>)FabricaNegocios.Instancia.Resolver(typeof(ICreador <Modelo.Proveedores.OrdenDeCompra>), parameters);
            var result = new Modelo.Stock.Ingreso();

            //dasdasdsadsa
            parameters[1] = new ParameterOverride("entidad", "Articulo");
            var buscadorArticulo = (IBuscadorArticulo)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorArticulo), parameters);

            parameters[1] = new ParameterOverride("entidad", "Deposito");
            var buscaDeposito = (IBuscadorDTO <Inteldev.Core.Modelo.Stock.Deposito, Core.DTO.Stock.Deposito>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO <Inteldev.Core.Modelo.Stock.Deposito, Core.DTO.Stock.Deposito>), parameters);

            parameters[1] = new ParameterOverride("entidad", "Proveedor");
            var buscaProveedor = (IBuscadorDTO <Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO <Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor>), parameters);

            if (args[0] == 1)
            {
                List <int> ordenesDeCompra = new List <int>();
                for (int i = 3; i < args.Length; i++)
                {
                    ordenesDeCompra.Add(args[i]);
                }
                parameters[1] = new ParameterOverride("entidad", "OrdenDeCompra");
                var buscadorOrdenDeCompra = (IBuscadorOrdenDeCompra)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorOrdenDeCompra), parameters);
                parameters[1] = new ParameterOverride("entidad", "OrdenDeCompraDetalle");
                var buscadorOrdenDeCompraDetalle = (IBuscadorOrdenDeCompraDetalle)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorOrdenDeCompraDetalle), parameters);
                var articulos = buscadorOrdenDeCompraDetalle.buscaArticulosIngresoStock(ordenesDeCompra);
                foreach (var articulo in articulos)
                {
                    var item = new Modelo.Stock.ItemIngreso();
                    //articulos es un diccionario que tiene articulos - orden de compra
                    item.Articulo      = articulo.Key;
                    item.OrdenDeCompra = articulo.Value;
                    result.Items.Add(item);
                }
                result.OrdenesDeCompra = buscadorOrdenDeCompra.BuscarOrdenes(ordenesDeCompra);
            }
            else
            {
                var articulos = buscadorArticulo.obtenerArticulosProveedor(args[2]);
                foreach (var articulo in articulos)
                {
                    var item = new Inteldev.Fixius.Modelo.Stock.ItemIngreso();
                    item.Articulo = articulo;
                    result.Items.Add(item);
                }
            }
            if (result.OrdenesDeCompra.Count == 0)
            {
                result.OrdenesDeCompra.Add(creadorOrdenDeCompra.Crear());
            }
            var dto = this.Mapeador.EntidadToDto(result);

            dto.Proveedor = buscaProveedor.BuscarSimple(args[2], Core.CargarRelaciones.NoCargarNada);
            dto.Deposito  = buscaDeposito.BuscarSimple(args[1], Core.CargarRelaciones.NoCargarNada);
            creadorCarrier.SetEntidad(dto);
            return(creadorCarrier);
        }
コード例 #3
0
        public override CreadorCarrier <Servicios.DTO.Proveedores.OrdenDeCompra> Crear(params int[] args)
        {
            var creadorCarrier = new CreadorCarrier <Servicios.DTO.Proveedores.OrdenDeCompra>();
            var entidad        = this.CreadorEntidad.Crear(args);

            ParameterOverride[] parameters = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", "Proveedor") };
            var buscaprov = (IBuscador <Modelo.Proveedores.Proveedor>)FabricaNegocios.Instancia.Resolver(typeof(IBuscador <Modelo.Proveedores.Proveedor>), parameters);

            entidad.Proveedor = buscaprov.BuscarSimple(args[0]);

            //area es el args[1]
            var areaID       = args[1];
            var sectorId     = args[2];
            var subSectorId  = args[3];
            var familiaId    = args[4];
            var subFamiliaId = args[5];

            parameters[1] = new ParameterOverride("entidad", "ListaDePrecios");
            var buscaLista = (BuscadorListaDePrecios)FabricaNegocios.Instancia.Resolver(typeof(IBuscador <Modelo.Proveedores.ListaDePrecios>), parameters);

            entidad.ListaDePrecios = buscaLista.obtenerListaProveedor(entidad.Proveedor.Id, true);
            var mapper = (IMapeadorOrdenDeCompra)this.Mapeador;

            parameters[1] = new ParameterOverride("entidad", "Articulo");
            var buscaArticulo = (IBuscadorArticulo)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorArticulo), parameters);
            var articulos     = buscaArticulo.obtenerArticulosProveedor(entidad.Proveedor.Id, areaID, sectorId, subSectorId, familiaId, subFamiliaId);

            parameters[1] = new ParameterOverride("entidad", "ObjetivosDeCompra");
            var buscaObjetivos = (IBuscadorObjetivos)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorObjetivos), parameters);
            var objetivos      = buscaObjetivos.obtenerObjetivosProveedor(entidad.Proveedor.Id);

            creadorCarrier.SetEntidad(mapper.EntidadToDto(entidad, articulos, objetivos));
            return(creadorCarrier);
        }
コード例 #4
0
        public virtual CreadorCarrier <TDto> Crear()
        {
            var creadorCarrier = new CreadorCarrier <TDto>();

            creadorCarrier.SetEntidad(this.Mapeador.EntidadToDto(this.CreadorEntidad.Crear()));
            return(creadorCarrier);
        }
コード例 #5
0
        ///// <summary>
        ///// args[0] = condicionAnteIVA empresa
        ///// args[1] = proveedor
        ///// args[2] = Tipo de Documento
        ///// args[3] = numero
        ///// args[4] = prenumero
        ///// args[5] = empresa
        ///// </summary>
        ///// <param name="args"></param>
        ///// <returns></returns>
        //public override CreadorCarrier<Servicios.DTO.Proveedores.DocumentoCompra> Crear(params int[] args)
        //{

        //    ////aca tengo que obtener la letra del proveedor
        //    //ParameterOverride[] parameters = new ParameterOverride[2];
        //    //parameters[0] = new ParameterOverride("empresa", this.empresa);
        //    //parameters[1] = new ParameterOverride("entidad", "Letra");
        //    //var buscadorLetra = (IBuscadorLetra)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorLetra), parameters);
        //    //parameters[1] = new ParameterOverride("entidad", "Proveedor");
        //    //var buscadorProveedor = (IBuscadorDTO<Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO<Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor>), parameters);
        //    //parameters[0] = new ParameterOverride("empresa", "");
        //    //parameters[1] = new ParameterOverride("entidad", "Empresa");
        //    //var buscadorEmpresa = (IBuscadorDTO<Core.Modelo.Organizacion.Empresa, Core.DTO.Organizacion.Empresa>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO<Core.Modelo.Organizacion.Empresa, Core.DTO.Organizacion.Empresa>), parameters);
        //    //parameters[0] = new ParameterOverride("empresa", this.empresa);
        //    //parameters[1] = new ParameterOverride("entidad", "DocumentoProveedor");
        //    //var buscadorComprobante = (IBuscadorComprobante)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorComprobante), parameters);
        //    //parameters[1] = new ParameterOverride("entidad", "DocumentoCompra");

        //    //var buscadorDocumento = (IBuscadorDocumentoDeCompra)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDocumentoDeCompra), parameters);
        //    ////var proveedor = buscadorProveedor.BuscarPorCodigo<ComprobanteDeCompra>(args[1],Core.CargarRelaciones.NoCargarNada);
        //    //var proveedor = buscadorProveedor.BuscarSimple(args[1], Core.CargarRelaciones.CargarTodo);
        //    ////var empresa = buscadorEmpresa.BuscarSimple(args[5],Core.CargarRelaciones.NoCargarNada);
        //    //var condicion = (Modelo.Fiscal.CondicionAnteIVA)proveedor.CondicionAnteIva;
        //    //string letra = buscadorLetra.ObtenerLetra((Modelo.Fiscal.CondicionAnteIVA)args[0], condicion, (Modelo.Proveedores.TipoDocumento)args[2]);
        //    //var result = base.Crear().GetEntidad();
        //    //result.Prenumero = args[4].ToString();
        //    //result.TipoDocumento = (Servicios.DTO.Proveedores.TipoDocumento)args[2];
        //    //result.Numero = args[3].ToString();
        //    //result.Proveedor = proveedor;
        //    //result.FormaDePago = proveedor.FormaDePago;
        //    //result.ProveedorId = proveedor.Id;
        //    //result.Letra = letra;
        //    //result.Empresa = buscadorEmpresa.BuscarSimple(args[5], Core.CargarRelaciones.NoCargarNada);
        //    ////result.EmpresaId = result.Empresa.Id;
        //    //parameters[1] = new ParameterOverride("entidad", "ReferenciaContable");
        //    //var buscadorImputacion = (IBuscadorDTO<Inteldev.Fixius.Modelo.Contabilidad.ReferenciaContable, Inteldev.Fixius.Servicios.DTO.Contabilidad.ReferenciaContable>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO<Inteldev.Fixius.Modelo.Contabilidad.ReferenciaContable, Inteldev.Fixius.Servicios.DTO.Contabilidad.ReferenciaContable>), parameters);
        //    //ReferenciaContable imputacion = new ReferenciaContable();
        //    //try
        //    //{
        //    //    imputacion = buscadorImputacion.BuscarLista(1, Core.CargarRelaciones.CargarTodo).Where(p => p.Empresa == result.Empresa && p.Imputacion == Core.DTO.Contabilidad.Imputaciones.ProveedoresVarios).FirstOrDefault();
        //    //}
        //    //catch (NullReferenceException e)
        //    //{
        //    //    imputacion = null;
        //    //}

        //    //if (imputacion != null)
        //    //{
        //    //    result.ItemsConceptos.Add(new Servicios.DTO.Proveedores.ItemsConceptos() { Concepto = imputacion.Concepto, Tipo = Servicios.DTO.Proveedores.TipoConcepto.Final });
        //    //}

        //    var creadorCarrier = new CreadorCarrier<Servicios.DTO.Proveedores.DocumentoCompra>();
        //    ////aca tengo que fijarme que no este repetido el numero, proveedor
        //    //if (buscadorComprobante.BuscarRepetido(result.Proveedor.Id, result.Numero, result.Prenumero, result.Letra, (Modelo.Proveedores.TipoDocumento)result.TipoDocumento) != null)
        //    //{
        //    //    creadorCarrier.SetError(true);
        //    //    creadorCarrier.SetMensaje(string.Format("Comprobante repetido para proveedor {0}", proveedor.Nombre));
        //    //}
        //    //else
        //    //    creadorCarrier.SetEntidad(result);
        //    ////buscar todos los notas de credito internas pendientes
        //    //List<Inteldev.Fixius.Servicios.DTO.Proveedores.DocumentoCompra> notas = new List<Servicios.DTO.Proveedores.DocumentoCompra>();
        //    //if (result.TipoDocumento == Servicios.DTO.Proveedores.TipoDocumento.NotaDeCredito)
        //    //{
        //    //    notas = this.Mapeador.ToListDto(buscadorDocumento.BuscaNCInternasPendiente(proveedor.Id));
        //    //}
        //    //else
        //    //{
        //    //    if (result.TipoDocumento == Servicios.DTO.Proveedores.TipoDocumento.NotaDeDebito)
        //    //        notas = this.Mapeador.ToListDto(buscadorDocumento.BuscaNDInternasPendiente(proveedor.Id));
        //    //}
        //    //if (notas != null)
        //    //{
        //    //    foreach (var item in notas)
        //    //    {
        //    //        var nota = item.Clonar<Inteldev.Fixius.Servicios.DTO.Proveedores.NotaPendiente>();
        //    //        result.NotasPendientes.Add(nota);
        //    //    }
        //    //}
        //    return creadorCarrier;
        //}

        public override CreadorCarrier <Servicios.DTO.Proveedores.DocumentoCompra> Crear(params string[] args)
        {
            var nuevoDoc = new Inteldev.Fixius.Servicios.DTO.Proveedores.DocumentoCompra();

            var creadorCarrier = new CreadorCarrier <Inteldev.Fixius.Servicios.DTO.Proveedores.DocumentoCompra>();

            #region interpretacion de parametros

            var empresa  = args[0];
            var sucursal = args[1];
            var provId   = Convert.ToInt32(args[2]);
            var tipoDoc  = Convert.ToInt32(args[3]);
            var preNro   = args[4];
            var nro      = args[5];

            #endregion

            #region resolución de buscadores

            ParameterOverride[] parameters = new ParameterOverride[2];
            parameters[0] = new ParameterOverride("empresa", this.empresa);

            parameters[1] = new ParameterOverride("entidad", "Empresa");
            var buscadorEmpresa = (IBuscadorDTO <Core.Modelo.Organizacion.Empresa, Core.DTO.Organizacion.Empresa>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO <Core.Modelo.Organizacion.Empresa, Core.DTO.Organizacion.Empresa>), parameters);

            parameters[1] = new ParameterOverride("entidad", "Sucursal");
            var buscadorSucursal = (IBuscadorDTO <Core.Modelo.Organizacion.Sucursal, Core.DTO.Organizacion.Sucursal>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO <Core.Modelo.Organizacion.Sucursal, Core.DTO.Organizacion.Sucursal>), parameters);

            parameters[1] = new ParameterOverride("entidad", "Proveedor");
            var buscadorProveedor = (IBuscadorDTO <Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor>)FabricaNegocios.Instancia.Resolver(typeof(IBuscadorDTO <Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor>), parameters);

            #endregion

            #region busquedas

            var emp           = buscadorEmpresa.BuscarSimple(empresa, Core.CargarRelaciones.NoCargarNada);
            var suc           = buscadorSucursal.BuscarSimple(sucursal, Core.CargarRelaciones.NoCargarNada);
            var tipoDocumento = (Inteldev.Fixius.Servicios.DTO.Proveedores.TipoDocumento)tipoDoc;
            var prov          = buscadorProveedor.BuscarSimple(provId, Core.CargarRelaciones.NoCargarNada);

            #endregion

            nuevoDoc.Empresa          = emp;
            nuevoDoc.Sucursal         = suc;
            nuevoDoc.TipoDocumento    = tipoDocumento;
            nuevoDoc.Proveedor        = prov;
            nuevoDoc.Prenumero        = preNro;
            nuevoDoc.Numero           = nro;
            nuevoDoc.Fecha            = DateTime.Now;
            nuevoDoc.FechaContable    = DateTime.Now;
            nuevoDoc.FechaIngreso     = DateTime.Now;
            nuevoDoc.FechaVencimiento = DateTime.Now;

            creadorCarrier.SetEntidad(nuevoDoc);

            return(creadorCarrier);
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
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);
        }
コード例 #8
0
        //public virtual bool PuedeImprimir()
        //{
        //    return false;
        //}

        //public virtual object Imprimir(TEntidad tEntidad)
        //{
        //    throw new NotImplementedException();
        //}

        public object Crear(CreadorCarrier <TEntidad> creadorCarrier)
        {
            if (!creadorCarrier.GetError())
            {
                this.Editar(creadorCarrier.GetEntidad());
                return(true);
            }
            else
            {
                Mensajes.Aviso(creadorCarrier.GetMensaje());
                return(false);
            }
        }
コード例 #9
0
        public override CreadorCarrier <Servicios.DTO.Proveedores.ListaDePrecios> Crear(params int[] args)
        {
            var entidad = this.CreadorEntidad.Crear(args);

            ParameterOverride[] parameters = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", "Proveedor") };
            var buscaprov = (IBuscador <Modelo.Proveedores.Proveedor>)FabricaNegocios.Instancia.Resolver(typeof(IBuscador <Modelo.Proveedores.Proveedor>), parameters);

            entidad.Proveedor = buscaprov.BuscarSimple(args[0]);
            var devuelve       = this.Mapeador.EntidadToDto(entidad);
            var creadorCarrier = new CreadorCarrier <Servicios.DTO.Proveedores.ListaDePrecios>();

            creadorCarrier.SetEntidad(devuelve);
            return(creadorCarrier);
        }
コード例 #10
0
        /// <summary>
        /// args[0] = tipo
        /// args[1] = folder
        /// args[2] = areaID
        /// args[3] = sectorID
        /// args[4] = subsectorID
        /// args[5] = familiaID
        /// args[6] = subFamiliaID
        /// args[7] = marcaID
        /// args[8] = listaID
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public override CreadorCarrier <Servicios.DTO.Precios.CambioDePreciosDeVenta> Crear(params int[] args)
        {
            /*
             * el datatable tiene como columnas el articulo, costo, CFU, las dos columnas por cada unidad de negocio (precio y margen)
             * */
            var creadorCarrier = new CreadorCarrier <Servicios.DTO.Precios.CambioDePreciosDeVenta>();

            ParameterOverride[] parameters = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", entidad) };
            var creadorItem = (ICreadorItemCambioDePrecioDeVenta <ListaDePreciosDetalle>)FabricaNegocios.Instancia.Resolver(typeof(ICreadorItemCambioDePrecioDeVenta <ListaDePreciosDetalle>), parameters);
            var result      = new Inteldev.Fixius.Modelo.Precios.CambioDePreciosDeVenta();

            result.ItemsCambioDePrecioDeVenta = creadorItem.CreaItems(args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
            var dto = this.Mapeador.EntidadToDto(result);

            dto.TipoDeCambio = (Inteldev.Fixius.Servicios.DTO.Precios.TipoCambioDePreciosDeVenta)args[0];
            creadorCarrier.SetEntidad(dto);
            return(creadorCarrier);
        }
コード例 #11
0
        /// <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);
        }