public void AttemptAddDetalle() { LoteModel lot = new LoteModel(new LoteDataMapper()); lot.UnidLote = UNID.getNewUNID(); lot.UnidPOM = UNID.getNewUNID(); lot.saveLote(); this._facturaCompraModel.UnidLote = lot.UnidLote; this._facturaCompraModel.UnidFactura = UNID.getNewUNID(); this.FacturaCompraModel.saveFactura(); this.FacturaCompraDetalleModel.UnidFacturaCompraDetalle = UNID.getNewUNID(); FacturaCompraModel aux = new FacturaCompraModel(new FacturaDataMapper()); aux.UnidFactura = this._facturaCompraModel.UnidFactura; this._facturaCompraDetalleModel.Factura = aux; this.FacturaCompraDetalleModel.saveFacturaDetalle(); if (this.ModifyItemViewModel != null) { this.ModifyItemViewModel.Update(); } else { this.AgregarItemViewModel.Update(); } }
private void SaveFactura() { LoteModel lot = null; FacturaCompraDataMapper fcdmp = new FacturaCompraDataMapper(); FacturaCompraDetalleDataMapper fcdDm = new FacturaCompraDetalleDataMapper(); //Guardar foreach (FacturaCompraModel item in this.Facturas) { if (item.IsNew) { //insertar la nueva factura if (lot == null) { lot = new LoteModel(new LoteDataMapper()); lot.UnidLote = UNID.getNewUNID(); lot.UnidPOM = UNID.getNewUNID(); lot.saveLote(); } item.UnidLote = lot.UnidLote; item.UnidFactura = UNID.getNewUNID(); item.saveFactura(); //factura detalle foreach (FacturaCompraDetalleModel fac in item.FacturaDetalle) { fac.Factura = item; fac.saveFacturaDetalle(); } } else { //Actualizar Factura fcdmp.udpateElement(new FACTURA() { UNID_FACTURA = item.UnidFactura, FACTURA_NUMERO = item.NumeroFactura, FECHA_FACTURA = item.FechaFactura, IS_ACTIVE = item.IsActive, IVA_POR = item.PorIva, UNID_MONEDA = item.Moneda.UnidMoneda, UNID_PROVEEDOR = item.Proveedor.UnidProveedor, NUMERO_PEDIMENTO = item.NumeroPedimento, UNID_TIPO_PEDIMENTO = item.TipoPedimento.UnidTipoPedimento, TC = item.TC }, this.ActualUser); //Generar Array para insertar/actualizar/eliminar las factura detalle List <FACTURA_DETALLE> fds = new List <FACTURA_DETALLE>(); foreach (FacturaCompraDetalleModel det in item.FacturaDetalle) { fds.Add(det.ConvertToPoco(det)); fds[fds.Count - 1].UNID_FACTURA = item.UnidFactura; } if (fds.Count > 0) { fcdDm.udpateElements(fds); } } //Borrar facturas fcdmp.deleteFacturas(this._DelFacturas, this.ActualUser); } //end foreach } //end func
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(); } }