private void AgregarTitulosMovimientos(CrearVentaData ventaData, VentaTitulo titulo, Guid ventaId, int?actualPr, int?actualCn) { //foreach (var titulo in ventaData.Titulos) // { TitulosMovimiento tituloMovimiento = new TitulosMovimiento(); tituloMovimiento.TituloId = titulo.TituloId; tituloMovimiento.TipoComprobanteId = ventaData.TipoComprobanteSeleccionado; tituloMovimiento.ComprobanteId = ventaId; tituloMovimiento.SucursalComprobante = ventaData.SucursalId; tituloMovimiento.Fecha = _clock.Now; TituloStock stock = new TituloStock(); stock = Uow.TitulosStock.Obtener(t => t.TituloId == titulo.TituloId && t.SucursalId == ventaData.SucursalId); if (stock != null) { tituloMovimiento.CntAntPr = actualPr; tituloMovimiento.CntAntCn = actualCn; tituloMovimiento.CntMinPr = titulo.CantidadPropia ?? 0; tituloMovimiento.CntMinCn = titulo.CantidadConsignada ?? 0; tituloMovimiento.FechaAlta = _clock.Now; tituloMovimiento.OperadorAltaId = ventaData.OperadorId; tituloMovimiento.SucursalAltaId = ventaData.SucursalId; } Uow.TitulosMovimiento.Agregar(tituloMovimiento); Uow.Commit(); ///} }
private void MigracionStockFuturoJournal(bool propio, Guid?proveedorId) { _tituloseleccionado = (TituloDto)GridTitulos.CurrentRow.DataBoundItem; var tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id); var migracionTituloStock = _migracionRepo.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id); //LAPAZ Guid?_idProveedor = proveedorId; var provFuturoOJournal = Uow.Proveedores.Obtener(p => p.Id == _idProveedor); //si el titulo stock no existe lo doy de alta if (tituloStock == null) { tituloStock = new TituloStock(); tituloStock.TituloId = _tituloseleccionado.Id; tituloStock.SucursalId = Context.SucursalActual.Id; tituloStock.StkCn = 0; tituloStock.StkPr = 0; tituloStock.FechaAlta = _clock.Now; tituloStock.SucursalAltaId = Context.SucursalActual.Id; tituloStock.OperadorAltaId = Context.OperadorActual.Id; Uow.TitulosStock.Agregar(tituloStock); Uow.Commit(); tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id); } DateTime fechaCompra = DateTime.Parse("2015-01-01"); var compraLists = Uow.Compras.Listado().Where(p => p.ProveedorId == provFuturoOJournal.Id && p.FechaAlta > fechaCompra).OrderBy(p => p.FechaAlta).ToList(); Compra compraList; if (compraLists.Count > 0) { compraList = compraLists.First(); } else { compraList = null; } var compras = new Compra(); if (compraList == null) { compras = new Compra(); compras.Id = Guid.NewGuid(); compras.LCN = "0000000000000"; compras.TipoComprobanteId = TipoComprobanteEnum.RemitosConsignacProveedor; compras.ProveedorId = provFuturoOJournal.Id; compras.LetraComprobante = "X"; compras.PuntoVenta = Context.SucursalActual.Id; compras.NumeroComprobante = "0000000000000"; compras.FechaComprobante = _clock.Now; compras.Concepto = "REMITO POR CONSIGNACION PROVEEDOR"; compras.ImporteNeto = 0; compras.ImporteIVA = 0; compras.EstadoCompraId = 1; compras.OperadorAltaId = Context.OperadorActual.Id; compras.SucursalAltaId = Context.SucursalActual.Id; compras.FechaAlta = _clock.Now; Uow.Compras.Agregar(compras); } else { //compraList = Uow.Compras.Listado().Where(p => p.ProveedorId == provFuturoOJournal.Id).OrderBy(p => p.FechaAlta).First(); compras = Uow.Compras.Obtener(c => c.Id == compraList.Id); } var compraDetalle = new ComprasDetalle(); compraDetalle.Id = Guid.NewGuid(); compraDetalle.CompraId = compras.Id; compraDetalle.TituloId = _tituloseleccionado.Id; compraDetalle.PrecioCompra = 0; compraDetalle.FechaAlta = _clock.Now; compraDetalle.SucursalAltaId = Context.SucursalActual.Id; compraDetalle.OperadorAltaId = Context.OperadorActual.Id; compraDetalle.FechaModificacion = _clock.Now; compraDetalle.SucursalModificacionId = Context.SucursalActual.Id; compraDetalle.OperadorModificacionId = Context.OperadorActual.Id; //Si propio es true descontamos e incrementamos los propios, si no consignados if (propio) { //Descuento 1 libro migracionTituloStock.StkPr -= 1; tituloStock.StkPr += 1; //Modifico las propiedades CantidadPropia = tituloStock.StkPr; MigracionCantidadPropia = migracionTituloStock.StkPr; //Agrego en compra detalle compraDetalle.CntPr = 1; //Comiteo los cambios a la base _migracionRepo.Modificar(migracionTituloStock); _migracionRepo.Commit(); } else { //Descuento 1 libro migracionTituloStock.StkCn -= 1; tituloStock.StkCn += 1; //Modifico las propiedades CantidadConsignada = tituloStock.StkCn; MigracionCantidadConsignada = migracionTituloStock.StkCn; //Agrego en compra detalle compraDetalle.CntCn = 1; //Agrego la consignacion TitulosConsignacion consignacion = new TitulosConsignacion(); consignacion.Id = Guid.NewGuid(); consignacion.TituloId = _tituloseleccionado.Id; consignacion.ClienteId = Guid.Empty; consignacion.ProveedorId = provFuturoOJournal.Id; consignacion.TipoConsignacion = 1; consignacion.CntPr = 0; consignacion.CntCn = 1; consignacion.CntVn = 0; consignacion.FechaAlta = _clock.Now; consignacion.SucursalAltaId = Context.SucursalActual.Id; consignacion.OperadorAltaId = Context.OperadorActual.Id; Uow.TitulosConsignaciones.Agregar(consignacion); //Comiteo los cambios a la base _migracionRepo.Modificar(migracionTituloStock); _migracionRepo.Commit(); } tituloStock.FechaModificacion = _clock.Now; tituloStock.OperadorModificacionId = Context.OperadorActual.Id; Uow.ComprasDetalles.Agregar(compraDetalle); Uow.TitulosStock.Modificar(tituloStock); Uow.Commit(); }
private void MigracionStockPropio(bool propio) { _tituloseleccionado = (TituloDto)GridTitulos.CurrentRow.DataBoundItem; var tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id); var migracionTituloStock = _migracionRepo.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id); //LAPAZ Guid _idProveedor8Marzo = Guid.Parse("A7F325F0-EF29-4D81-B6A1-4A1A8688E075"); //SANTY HP //Guid _idProveedor8Marzo = Guid.Parse("A827DD36-4B41-4F4F-BB81-B56DE923B4D2"); //USUARIO PC //Guid _idProveedor8Marzo = Guid.Parse("03979D63-B3B4-4615-9979-CD5DFC4F9B72"); var prov8Marzo = Uow.Proveedores.Obtener(p => p.Id == _idProveedor8Marzo || p.Denominacion == "8 DE MARZO"); //var prov8Marzo = Uow.Proveedores.Obtener(p => p.Denominacion=="8 DE MARZO"); //var compraList = _paseLibroNegocio.Listado("FechaAlta","Asc",prov8Marzo.Id); //si el titulo stock no existe lo doy de alta if (tituloStock == null) { tituloStock = new TituloStock(); tituloStock.TituloId = _tituloseleccionado.Id; tituloStock.SucursalId = Context.SucursalActual.Id; tituloStock.StkCn = 0; tituloStock.StkPr = 0; tituloStock.FechaAlta = _clock.Now; tituloStock.SucursalAltaId = Context.SucursalActual.Id; tituloStock.OperadorAltaId = Context.OperadorActual.Id; Uow.TitulosStock.Agregar(tituloStock); Uow.Commit(); tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloseleccionado.Id && t.SucursalId == Context.SucursalActual.Id); } //Traigo la primer compra, que es donde se estan almacenando los detalles de compra del proveedor 8 de Marzo var compraList = Uow.Compras.Listado().Where(p => p.ProveedorId == prov8Marzo.Id).OrderBy(p => p.FechaAlta).First(); var compras = new Compra(); if (compraList == null) { compras = new Compra(); compras.Id = Guid.NewGuid(); compras.LCN = "0000000000000"; compras.TipoComprobanteId = TipoComprobanteEnum.RemitoTransferencia; compras.ProveedorId = prov8Marzo.Id; compras.LetraComprobante = "X"; compras.PuntoVenta = Context.SucursalActual.Id; compras.NumeroComprobante = "0000000000000"; compras.FechaComprobante = _clock.Now; compras.Concepto = "REMITO POR TRANSFERENCIA"; compras.ImporteNeto = 0; compras.ImporteIVA = 0; compras.EstadoCompraId = 1; compras.OperadorAltaId = Context.OperadorActual.Id; compras.SucursalAltaId = Context.SucursalActual.Id; compras.FechaAlta = _clock.Now; compras.FechaModificacion = _clock.Now; compras.OperadorModificacionId = Context.OperadorActual.Id; compras.SucursalModificacionId = Context.SucursalActual.Id; Uow.Compras.Agregar(compras); } else { compras = Uow.Compras.Obtener(c => c.Id == compraList.Id); } var compraDetalle = new ComprasDetalle(); compraDetalle.Id = Guid.NewGuid(); compraDetalle.CompraId = compras.Id; compraDetalle.TituloId = _tituloseleccionado.Id; compraDetalle.PrecioCompra = 0; compraDetalle.FechaAlta = _clock.Now; compraDetalle.SucursalAltaId = Context.SucursalActual.Id; compraDetalle.OperadorAltaId = Context.OperadorActual.Id; compraDetalle.FechaModificacion = _clock.Now; compraDetalle.SucursalModificacionId = Context.SucursalActual.Id; compraDetalle.OperadorModificacionId = Context.OperadorActual.Id; //Si propio es true descontamos e incrementamos los propios, si no consignados if (propio) { //Descuento 1 libro migracionTituloStock.StkPr -= 1; tituloStock.StkPr += 1; //Modifico las propiedades CantidadPropia = tituloStock.StkPr; MigracionCantidadPropia = migracionTituloStock.StkPr; //Agrego en compra detalle compraDetalle.CntPr = 1; //Comiteo los cambios a la base _migracionRepo.Modificar(migracionTituloStock); _migracionRepo.Commit(); } else { //Descuento 1 libro migracionTituloStock.StkCn -= 1; tituloStock.StkCn += 1; //Modifico las propiedades CantidadConsignada = tituloStock.StkCn; MigracionCantidadConsignada = migracionTituloStock.StkCn; //Agrego en compra detalle compraDetalle.CntCn = 1; //Comiteo los cambios a la base _migracionRepo.Modificar(migracionTituloStock); _migracionRepo.Commit(); } tituloStock.FechaModificacion = _clock.Now; tituloStock.OperadorModificacionId = Context.OperadorActual.Id; Uow.ComprasDetalles.Agregar(compraDetalle); Uow.TitulosStock.Modificar(tituloStock); Uow.Commit(); }
private void BtnSeleccionar_Click(object sender, EventArgs e) { //controlo que tenga algun ìtem seleccionado de la grilla var selectedRow = this.GridTitulos.SelectedRows.FirstOrDefault(); if (selectedRow == null) { return; } //validacion cachorra. despues mejorar con los dto y toda la gilada decimal pVenta; if (TxtPrecioVenta.Text != "") { pVenta = Convert.ToDecimal(TxtPrecioVenta.Text); } else { pVenta = 0; } decimal pCompra; if (TxtPrecioCompra.Text != "") { pCompra = Convert.ToDecimal(TxtPrecioCompra.Text); } else { pCompra = 0; } if (pVenta < pCompra) { _messageBoxDisplayService.ShowError("El precio de venta no puede ser menor al precio de compra."); return; } //controlo que el titulo ya lo tenga el proveedor/si no lo tiene, agrego el titulo al proveedor var proveedorActual = Uow.Proveedores.Obtener(p => p.Id == _proveedorId); var codigoProveedor = proveedorActual.Cuenta; var tituloActual = Uow.Titulos.Obtener(t => t.Id == Id); var nuevoCod = codigoProveedor.ToString().PadLeft(4, '0').Substring(0, 4) + tituloActual.Cod.Substring(4); var tituloCheck = Uow.Titulos.Obtener(t => t.Cod == nuevoCod); if (tituloCheck == null) { var tituloProv = Uow.Titulos.Obtener(t => t.Id == Id); var libroNew = new Titulo(); libroNew.Id = Guid.NewGuid(); _idLibro = libroNew.Id; _codLibro = nuevoCod; libroNew.Cod = nuevoCod; libroNew.ISBN = tituloProv.ISBN; libroNew.NombreTitulo = tituloProv.NombreTitulo; libroNew.ProveedorId = _proveedorId; libroNew.AutorId = tituloProv.AutorId; libroNew.EditorialId = tituloProv.EditorialId; libroNew.TemaId = tituloProv.TemaId; libroNew.SubtemaId = tituloProv.SubtemaId; libroNew.PrecioVentaTitulo = PrecioVenta; libroNew.PrecioCompraTitulo = PrecioBase; libroNew.CodigoBarra = tituloProv.CodigoBarra; libroNew.ISBNg = tituloProv.ISBNg; libroNew.FechaAltaTitulo = tituloProv.FechaAltaTitulo; libroNew.TipoArticuloId = tituloProv.TipoArticuloId; libroNew.ModoStockId = tituloProv.ModoStockId; libroNew.TipoTituloId = tituloProv.TipoTituloId; libroNew.UnidadesId = tituloProv.UnidadesId; libroNew.TomosTitulosId = tituloProv.TomosTitulosId; libroNew.EstadoTituloId = tituloProv.EstadoTituloId; libroNew.AdicionalId = tituloProv.AdicionalId; libroNew.PesoTitulo = tituloProv.PesoTitulo; libroNew.PaisId = tituloProv.PaisId; libroNew.FechaEdicion = tituloProv.FechaEdicion; libroNew.IdiomaId = tituloProv.IdiomaId; libroNew.PartesId = tituloProv.PartesId; libroNew.Paginas = tituloProv.Paginas; libroNew.Encuad = tituloProv.Encuad; libroNew.Comentario = tituloProv.Comentario; libroNew.StkMin = tituloProv.StkMin; libroNew.FUltVta = tituloProv.FUltVta; libroNew.Fingreso = _clock.Now; libroNew.nControl = tituloProv.nControl; libroNew.UbicacionId = null; libroNew.PresentacionId = tituloProv.PresentacionId; libroNew.FechaAlta = _clock.Now; libroNew.SucursalAltaId = Context.SucursalActual.Id; libroNew.OperadorAltaId = Context.OperadorActual.Id; libroNew.FechaModificacion = _clock.Now; libroNew.SucursalModificacionId = Context.SucursalActual.Id; libroNew.OperadorModificacionId = Context.OperadorActual.Id; libroNew.Activo = true; Uow.Titulos.Agregar(libroNew); var tituloStockNew = new TituloStock(); tituloStockNew.TituloId = libroNew.Id; tituloStockNew.SucursalId = Context.SucursalActual.Id; tituloStockNew.StkCn = 0; tituloStockNew.StkPr = 0; tituloStockNew.FechaAlta = _clock.Now; tituloStockNew.SucursalAltaId = Context.SucursalActual.Id; tituloStockNew.OperadorAltaId = Context.OperadorActual.Id; tituloStockNew.FechaModificacion = _clock.Now; tituloStockNew.SucursalModificacionId = Context.SucursalActual.Id; tituloStockNew.OperadorModificacionId = Context.OperadorActual.Id; Uow.TitulosStock.Agregar(tituloStockNew); Uow.Commit(); } else { _idLibro = tituloCheck.Id; _codLibro = tituloCheck.Cod; } //mandar libro CompraTitulo titulo = ObtenerTitulo(); //Validar cambios de precios if (TitulosValidator.SolicitarAutorizacionPorCambioDePrecios(titulo.MapToTitulo())) { var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } } var esValido = this.ValidarForm(); if ((esValido)) { OnTituloAgregado(titulo); //modifico el precio de toodos los proveedores ActualizarPrecioTitulo(titulo); } else { this.DialogResult = DialogResult.None; } }
private void ActualizarStock() { var tituloStock = Uow.TitulosStock.Obtener(t => t.TituloId == _tituloId && t.SucursalId == this.Context.SucursalActual.Id); if (tituloStock != null) { tituloStock.OperadorModificacionId = this.Context.OperadorActual.Id; tituloStock.SucursalModificacionId = this.Context.SucursalActual.Id; tituloStock.StkPr = StockPropio; tituloStock.StkCn = StockConsignado; Uow.TitulosStock.Modificar(tituloStock); } else { tituloStock = new TituloStock(); tituloStock.TituloId = _tituloId; tituloStock.OperadorAltaId = this.Context.OperadorActual.Id; tituloStock.SucursalAltaId = this.Context.SucursalActual.Id; tituloStock.SucursalId = this.Context.SucursalActual.Id; tituloStock.FechaAlta = _clock.Now; tituloStock.StkPr = StockPropio; tituloStock.StkCn = StockConsignado; Uow.TitulosStock.Agregar(tituloStock); } Uow.Commit(); var tituloStockMigracion = _tituloStockMigracionRepo.Obtener(t => t.TituloId == _tituloId && t.SucursalId == this.Context.SucursalActual.Id); if (tituloStockMigracion != null) { tituloStockMigracion.OperadorModificacionId = this.Context.OperadorActual.Id; tituloStockMigracion.SucursalModificacionId = this.Context.SucursalActual.Id; tituloStockMigracion.StkPr = StockPropioMigracion; tituloStockMigracion.StkCn = StockConsignadoMigracion; _tituloStockMigracionRepo.Modificar(tituloStockMigracion); } else { tituloStockMigracion = new TituloStockMigracion(); tituloStockMigracion.TituloId = _tituloId; tituloStockMigracion.OperadorAltaId = this.Context.OperadorActual.Id; tituloStockMigracion.SucursalAltaId = this.Context.SucursalActual.Id; tituloStockMigracion.SucursalId = this.Context.SucursalActual.Id; tituloStockMigracion.FechaAlta = _clock.Now; tituloStockMigracion.StkPr = StockPropioMigracion; tituloStockMigracion.StkCn = StockConsignadoMigracion; _tituloStockMigracionRepo.Agregar(tituloStockMigracion); } _tituloStockMigracionRepo.Commit(); }