private void AttemptAddMovimientoCmd()
        {
            LoteModel lot = new LoteModel(new LoteDataMapper());

            lot.UnidLote = UNID.getNewUNID();
            lot.UnidPOM  = UNID.getNewUNID();
            lot.saveLote();
            //factura
            foreach (FacturaCompraModel item in this.Facturas)
            {
                item.UnidLote    = lot.UnidLote;
                item.UnidFactura = UNID.getNewUNID();
                item.saveFactura();
                //factura detalle
                foreach (FacturaCompraDetalleModel fac in item.FacturaDetalle)
                {
                    fac.Factura = item;
                    fac.saveFacturaDetalle();
                }
            }

            //Agregar recibo
            DAL.POCOS.RECIBO recibo = new DAL.POCOS.RECIBO()
            {
                UNID_RECIBO      = this.UnidRecibo,
                FECHA_CREACION   = this.FechaCreacion,
                TT               = this.TroubleTicket,
                PO               = this.PO,
                UNID_SOLICITANTE = (this.SelectedSolicitante.UnidSolicitante == 0) ? (long?)null : this.SelectedSolicitante.UnidSolicitante
            };
            ReciboDataMapper reciboDataMapper = new ReciboDataMapper();

            reciboDataMapper.insertElement(recibo, this.ActualUser);


            foreach (InventoryApp.Model.Recibo.MovimientoModel mov in this.Movimientos)
            {
                //Agregar movimiento
                DAL.POCOS.MOVIMENTO movimiento = new MOVIMENTO()
                {
                    UNID_MOVIMIENTO = mov.UnidMovimiento
                    ,
                    FECHA_MOVIMIENTO = mov.FechaCaptura
                    ,
                    UNID_ALMACEN_DESTINO = (mov.DestinoAlmacen != null) ? mov.DestinoAlmacen.UnidAlmacen : (long?)null
                    ,
                    UNID_ALMACEN_PROCEDENCIA = (mov.OrigenAlmacen != null) ? mov.OrigenAlmacen.UnidAlmacen : (long?)null
                    ,
                    UNID_CLIENTE_PROCEDENCIA = (mov.OrigenCliente != null) ? mov.OrigenCliente.UnidCliente : (long?)null
                    ,
                    UNID_PROVEEDOR_PROCEDENCIA = (mov.OrigenProveedor != null) ? mov.OrigenProveedor.UnidProveedor : (long?)null
                    ,
                    TT = this.TroubleTicket
                    ,
                    UNID_TIPO_MOVIMIENTO = MovimientoRecibo
                };
                MovimientoDataMapper movDataMapper = new MovimientoDataMapper();
                movDataMapper.insertElement(movimiento);

                foreach (InventoryApp.Model.Recibo.ReciboItemModel item in mov.Items)
                {
                    long?aux = null;
                    if (item.ItemStatus != null)
                    {
                        aux = item.ItemStatus.UnidItemStatus;
                    }

                    //Agregar el item
                    DAL.POCOS.ITEM pItem = new DAL.POCOS.ITEM()
                    {
                        UNID_ITEM = item.UnidItem
                        ,
                        SKU = item.Sku
                        ,
                        NUMERO_SERIE = item.NumeroSerie
                        ,
                        UNID_ITEM_STATUS = aux
                        ,
                        COSTO_UNITARIO = item.CostoUnitario
                        ,
                        UNID_FACTURA_DETALE = item.FacturaDetalle.UnidFacturaCompraDetalle
                        ,
                        UNID_ARTICULO = item.Articulo.UnidArticulo
                        ,
                        PEDIMENTO_EXPO = item.PedimentoExpo
                        ,
                        PEDIMENTO_IMPO = item.PedimentoImpo
                        ,
                        CANTIDAD = item.Cantidad
                        ,
                        IS_ACTIVE = true
                    };
                    ItemDataMapper itemDataMapper = new ItemDataMapper();
                    itemDataMapper.insertElement(pItem);

                    //Agregar detalle del movimiento
                    DAL.POCOS.MOVIMIENTO_DETALLE movDetalle = new DAL.POCOS.MOVIMIENTO_DETALLE()
                    {
                        UNID_MOVIMIENTO = mov.UnidMovimiento
                        ,
                        UNID_ITEM = item.UnidItem
                        ,
                        UNID_MOVIMIENTO_DETALLE = item.UnidMovimientoDetalle
                        ,
                        CANTIDAD = item.Cantidad
                        ,
                        UNID_ITEM_STATUS = item.ItemStatus.UnidItemStatus
                        ,
                        IS_ACTIVE = true
                    };
                    MovimientoDetalleDataMapper mdDataMapper = new MovimientoDetalleDataMapper();
                    mdDataMapper.insertElement(movDetalle);

                    //Actualizar el último movimiento
                    DAL.POCOS.ULTIMO_MOVIMIENTO ulitmoMovto = new DAL.POCOS.ULTIMO_MOVIMIENTO()
                    {
                        UNID_ITEM               = item.UnidItem,
                        UNID_ALMACEN            = mov.DestinoAlmacen.UnidAlmacen,
                        UNID_MOVIMIENTO_DETALLE = item.UnidMovimientoDetalle,
                        CANTIDAD         = item.Cantidad,
                        UNID_ITEM_STATUS = item.ItemStatus.UnidItemStatus,
                        IS_ACTIVE        = false
                    };
                    UltimoMovimientoDataMapper umDataMapper = new UltimoMovimientoDataMapper();
                    umDataMapper.udpateElement(ulitmoMovto);
                }

                //Agregar recibodetalle
                DAL.POCOS.RECIBO_MOVIMIENTO rm = new DAL.POCOS.RECIBO_MOVIMIENTO()
                {
                    UNID_RECIBO            = this._UnidRecibo,
                    UNID_RECIBO_MOVIMIENTO = mov.UnidMovimiento,
                    UNID_MOVIMIENTO        = mov.UnidMovimiento,
                    UNID_FACTURA           = mov.Items.First().FacturaDetalle.Factura.UnidFactura
                };
                ReciboMovimientoDataMapper rmDataMaper = new ReciboMovimientoDataMapper();
                rmDataMaper.insertElement(rm);
            }

            if (this._CatalogReciboViewModel != null)
            {
                this._CatalogReciboViewModel.updateCollection();
            }
        }
        private void SaveRecibo2()
        {
            ReciboDataMapper rdm = new ReciboDataMapper();

            rdm.udpateElement(new RECIBO()
            {
                UNID_SOLICITANTE = this.SelectedSolicitante.UnidSolicitante,
                PO          = this.PO,
                UNID_RECIBO = this.UnidRecibo
            }, this.ActualUser);

            rdm.LimpiarRecibo(this._DelMovs, this.UnidRecibo);

            foreach (InventoryApp.Model.Recibo.MovimientoModel mov in this.Movimientos)
            {
                //Agregar movimiento
                DAL.POCOS.MOVIMENTO movimiento = new MOVIMENTO()
                {
                    UNID_MOVIMIENTO = mov.UnidMovimiento
                    ,
                    FECHA_MOVIMIENTO = mov.FechaCaptura
                    ,
                    UNID_ALMACEN_DESTINO = (mov.DestinoAlmacen != null) ? mov.DestinoAlmacen.UnidAlmacen : (long?)null
                    ,
                    UNID_ALMACEN_PROCEDENCIA = (mov.OrigenAlmacen != null) ? mov.OrigenAlmacen.UnidAlmacen : (long?)null
                    ,
                    UNID_CLIENTE_PROCEDENCIA = (mov.OrigenCliente != null) ? mov.OrigenCliente.UnidCliente : (long?)null
                    ,
                    UNID_PROVEEDOR_PROCEDENCIA = (mov.OrigenProveedor != null) ? mov.OrigenProveedor.UnidProveedor : (long?)null
                    ,
                    TT = this.TroubleTicket
                    ,
                    UNID_TIPO_MOVIMIENTO = MovimientoRecibo
                    ,
                    IS_ACTIVE = true
                    ,
                    FINISHED = true
                };
                MovimientoDataMapper movDataMapper = new MovimientoDataMapper();
                movDataMapper.udpateElementRecibo(movimiento);

                foreach (InventoryApp.Model.Recibo.ReciboItemModel item in mov.Items)
                {
                    long?aux = null;
                    if (item.ItemStatus != null)
                    {
                        aux = item.ItemStatus.UnidItemStatus;
                    }

                    //Agregar el item
                    DAL.POCOS.ITEM pItem = new DAL.POCOS.ITEM()
                    {
                        UNID_ITEM = item.UnidItem
                        ,
                        SKU = item.Sku
                        ,
                        NUMERO_SERIE = item.NumeroSerie
                        ,
                        UNID_ITEM_STATUS = aux
                        ,
                        COSTO_UNITARIO = item.CostoUnitario
                        ,
                        UNID_FACTURA_DETALE = item.FacturaDetalle.UnidFacturaCompraDetalle
                        ,
                        UNID_ARTICULO = item.Articulo.UnidArticulo
                        ,
                        PEDIMENTO_EXPO = item.PedimentoExpo
                        ,
                        PEDIMENTO_IMPO = item.PedimentoImpo
                        ,
                        CANTIDAD = item.Cantidad
                        ,
                        IS_ACTIVE = true
                    };
                    ItemDataMapper itemDataMapper = new ItemDataMapper();
                    itemDataMapper.updateElementRecibo(pItem);

                    //Agregar detalle del movimiento
                    DAL.POCOS.MOVIMIENTO_DETALLE movDetalle = new DAL.POCOS.MOVIMIENTO_DETALLE()
                    {
                        UNID_MOVIMIENTO = mov.UnidMovimiento
                        ,
                        UNID_ITEM = item.UnidItem
                        ,
                        UNID_MOVIMIENTO_DETALLE = item.UnidMovimientoDetalle
                        ,
                        CANTIDAD = item.Cantidad
                        ,
                        UNID_ITEM_STATUS = item.ItemStatus.UnidItemStatus
                        ,
                        IS_ACTIVE = true
                    };
                    MovimientoDetalleDataMapper mdDataMapper = new MovimientoDetalleDataMapper();
                    mdDataMapper.udpateElementRecibo(movDetalle);

                    //Actualizar el último movimiento
                    DAL.POCOS.ULTIMO_MOVIMIENTO ulitmoMovto = new DAL.POCOS.ULTIMO_MOVIMIENTO()
                    {
                        UNID_ITEM               = item.UnidItem,
                        UNID_ALMACEN            = mov.DestinoAlmacen.UnidAlmacen,
                        UNID_MOVIMIENTO_DETALLE = item.UnidMovimientoDetalle,
                        CANTIDAD         = item.Cantidad,
                        UNID_ITEM_STATUS = item.ItemStatus.UnidItemStatus,
                        IS_ACTIVE        = true
                    };
                    UltimoMovimientoDataMapper umDataMapper = new UltimoMovimientoDataMapper();
                    umDataMapper.udpateElement(ulitmoMovto);
                }

                //Agregar recibodetalle
                DAL.POCOS.RECIBO_MOVIMIENTO rm = new DAL.POCOS.RECIBO_MOVIMIENTO()
                {
                    UNID_RECIBO            = this._UnidRecibo,
                    UNID_RECIBO_MOVIMIENTO = mov.UnidMovimiento,
                    UNID_MOVIMIENTO        = mov.UnidMovimiento,
                    UNID_FACTURA           = mov.Items.First().FacturaDetalle.Factura.UnidFactura,
                    IS_ACTIVE = true
                };
                ReciboMovimientoDataMapper rmDataMaper = new ReciboMovimientoDataMapper();
                rmDataMaper.udpateElementRecibo(rm);
            }
        }
Example #3
0
        public void AttempGuardar()
        {
            //Agregar Factura detalle
            FacturaCompraDetalleModel fd = new FacturaCompraDetalleModel();

            fd.UnidFacturaCompraDetalle = UNID.getNewUNID();
            fd.Factura               = new FacturaCompraModel();
            fd.Factura.UnidFactura   = FacturaCollection[0].UnidFactura;
            fd.Articulo              = new ArticuloModel();
            fd.Articulo.UnidArticulo = ItemModelCollection[0].Articulo.UNID_ARTICULO;
            fd.Cantidad              = ItemModelCollection[0].CantidadItem;
            fd.CostoUnitario         = ItemModelCollection[0].CostoUnitario;
            fd.ImpuestoUnitario      = FacturaCollection[0].PorIva;
            fd.Unidad            = new UnidadModel(null);
            fd.Unidad.UnidUnidad = ItemModelCollection[0].UnidUnidad;
            fd.saveFacturaDetalle();

            //Agregar el item
            DAL.POCOS.ITEM pItem = new DAL.POCOS.ITEM()
            {
                UNID_ITEM = UNID.getNewUNID()
                ,
                SKU = ItemModel.Sku
                ,
                NUMERO_SERIE = ItemModel.NumeroSerie
                ,
                UNID_ITEM_STATUS = UltimoMovimiento[0].ItemStatus2.UNID_ITEM_STATUS
                ,
                COSTO_UNITARIO = ItemModelCollection[0].CostoUnitario
                ,
                UNID_FACTURA_DETALE = fd.UnidFacturaCompraDetalle
                ,
                UNID_ARTICULO = ItemModelCollection[0].Articulo.UNID_ARTICULO
                ,
                PEDIMENTO_EXPO = 0
                ,
                PEDIMENTO_IMPO = 0
                ,
                CANTIDAD = ItemModelCollection[0].CantidadItem
                ,
                IS_ACTIVE = true
                ,
                UNID_PROPIEDAD = ItemModelCollection[0].Propiedad.UNID_PROPIEDAD
            };
            ItemDataMapper itemDataMapper = new ItemDataMapper();

            itemDataMapper.insertElement(pItem);

            //Agregar movimiento Dummy
            DAL.POCOS.MOVIMENTO mov = new DAL.POCOS.MOVIMENTO()
            {
                UNID_MOVIMIENTO = UNID.getNewUNID()
                ,
                FECHA_MOVIMIENTO = DateTime.Now
                ,
                UNID_TIPO_MOVIMIENTO = 16
                ,
                IS_ACTIVE = false
                ,
                IS_MODIFIED = true
            };
            MovimientoDataMapper movDataMapper = new MovimientoDataMapper();

            movDataMapper.insertElement(mov);

            foreach (UltimoMovimientoModel um in UltimoMovimiento)
            {
                //Agregar detalle del movimiento
                DAL.POCOS.MOVIMIENTO_DETALLE movDetalle = new DAL.POCOS.MOVIMIENTO_DETALLE()
                {
                    UNID_MOVIMIENTO = mov.UNID_MOVIMIENTO
                    ,
                    UNID_ITEM = pItem.UNID_ITEM
                    ,
                    UNID_MOVIMIENTO_DETALLE = UNID.getNewUNID()
                    ,
                    CANTIDAD = um.Cantidad
                    ,
                    UNID_ITEM_STATUS = um.ItemStatus2.UNID_ITEM_STATUS
                    ,
                    IS_ACTIVE = true
                };
                MovimientoDetalleDataMapper mdDataMapper = new MovimientoDetalleDataMapper();
                mdDataMapper.insertElement(movDetalle);

                //Actualizar el último movimiento
                DAL.POCOS.ULTIMO_MOVIMIENTO ulitmoMovto = new DAL.POCOS.ULTIMO_MOVIMIENTO()
                {
                    UNID_ITEM               = pItem.UNID_ITEM,
                    UNID_ALMACEN            = um.UnidAlmacen,
                    UNID_PROVEEDOR          = um.UnidProveedor,
                    UNID_CLIENTE            = um.UnidCliente,
                    UNID_MOVIMIENTO_DETALLE = movDetalle.UNID_MOVIMIENTO_DETALLE,
                    CANTIDAD         = um.Cantidad,
                    UNID_ITEM_STATUS = um.ItemStatus2.UNID_ITEM_STATUS,
                    IS_ACTIVE        = true
                };
                UltimoMovimientoDataMapper umDataMapper = new UltimoMovimientoDataMapper();
                umDataMapper.insertElement(ulitmoMovto);
            }

            MessageBox.Show("Se ha agregado el Item correctamente");

            this.ItemModel.NumeroSerie = "";
            this.ItemModel.Sku         = "";
            this.CatalogPropiedad.Propiedad.Clear();

            this.CatalogProveedor.Proveedor.Clear();
            this.UltimoMovimiento.Clear();

            this.FillWithItemDetallesAnterior = true;
            this.FillWithDestinos             = false;
            this.FillWithDestinos2            = false;
            this.FillWithIFactura             = false;
            this.FillWithItemDetalles         = false;

            this.Sku         = null;
            this.NumeroSerie = null;
            this.Error       = null;

            this.ItemModel           = new AgregarItemModel();
            this.ItemModelCollection = new ObservableCollection <AgregarItemModel>();
            this.Factura             = new FacturaCompraModel();
            this.FacturaCollection   = new ObservableCollection <FacturaCompraModel>();
            this.CatalogProveedor    = new CatalogProveedorModel(new ProveedorDataMapper());
            if (this.CatalogProveedor != null && this.CatalogProveedor.Proveedor.Count > 1)
            {
                this.ItemModel.Proveedor = this.CatalogProveedor.Proveedor[1];
            }

            this.CatalogStatus    = new CatalogItemStatusModel(new ItemStatusDataMapper());
            this.UltimoMovimiento = new ObservableCollection <UltimoMovimientoModel>();
            this.CatalogPropiedad = new CatalogPropiedadModel(new PropiedadDataMapper());
        }