public static string TransferirSeries(int pTransferenciaId) { using (var scope = new TransactionScope()) { try { using (var db = new VENDIXEntities()) { var t = db.Transferencia.Find(pTransferenciaId); t.Estado = "C"; Actualizar(db, t); var series = TransferenciaSerieBL.Listar(x => x.TransferenciaId == pTransferenciaId, null, "SerieArticulo"); foreach (var item in series) { item.SerieArticulo.EstadoId = 6; // estado trsnsfrido SerieArticuloBL.Actualizar(item.SerieArticulo); } } scope.Complete(); return(string.Empty); } catch (Exception ex) { scope.Dispose(); return(ex.Message); } } //string qry = "UPDATE ALMACEN.Transferencia" + // " SET Estado = 'C' WHERE TransferenciaId =" + pTransferenciaId; //String qry2 = " UPDATE ALMACEN.SerieArticulo SET EstadoId = '4'" + // " FROM ALMACEN.TransferenciaSerie INNER JOIN ALMACEN.SerieArticulo" + // " ON ALMACEN.TransferenciaSerie.SerieArticuloId = ALMACEN.SerieArticulo.SerieArticuloId" + // " WHERE TransferenciaId = " + pTransferenciaId; //return EjecutarSql(qry); }
public static object AgregarDetalleTranferencia(string pNumeroSerie, int pMovimientoId) { using (var scope = new TransactionScope()) { try { //string rpta; var a = SerieArticuloBL.Obtener(x => x.NumeroSerie == pNumeroSerie, includeProperties: "Articulo").Articulo; // MovimientoDetBL.Crear(new MovimientoDet { ArticuloId = a.ArticuloId, Cantidad=1,Descripcion=a.Descripcion,Descuento= }); scope.Complete(); return(true); } catch (Exception ex) { scope.Dispose(); return(ex.Message); } } }
public static int RealizarPedido(int pClienteId, List <Pedido> pPedidos) { using (var scope = new TransactionScope()) { try { var cabecera = new OrdenVenta { OficinaId = VendixGlobal.GetOficinaId(), Subtotal = 0, TotalNeto = 0, TotalImpuesto = 0, TotalDescuento = 0, Estado = "ENV", UsuarioRegId = VendixGlobal.GetUsuarioId(), FechaReg = VendixGlobal.GetFecha(), PersonaId = pClienteId, TipoVenta = "CON" }; Guardar(cabecera); var detalle = new List <OrdenVentaDet>(); OrdenVentaDet item; decimal tNeto = 0; decimal tDescuento = 0; foreach (var i in pPedidos) { item = new OrdenVentaDet(); var art = ArticuloBL.Obtener(x => x.ArticuloId == i.ArticuloId, "ListaPrecio"); var precio = art.ListaPrecio.First().Monto.Value; item.OrdenVentaId = cabecera.OrdenVentaId; item.ArticuloId = art.ArticuloId; item.Cantidad = i.Cantidad; item.Descripcion = art.Denominacion; item.ValorVenta = precio; item.Descuento = i.Descuento; item.Subtotal = i.Cantidad * (precio - i.Descuento); item.Estado = true; var lstSerie = SerieArticuloBL .Listar(x => x.ArticuloId == i.ArticuloId && x.EstadoId == Constante.SerieArticulo.EN_ALMACEN, x => x.OrderBy(y => y.SerieArticuloId)) .Take(i.Cantidad); foreach (var l in lstSerie) { item.OrdenVentaDetSerie.Add(new OrdenVentaDetSerie { SerieArticuloId = l.SerieArticuloId }); //SerieArticuloBL.ActualizarParcial( // new SerieArticulo { SerieArticuloId = l.SerieArticuloId, EstadoId = Constante.SerieArticulo.PREVENTA }, // x => x.EstadoId); } detalle.Add(item); tNeto += item.Subtotal; tDescuento += item.Descuento; } OrdenVentaDetBL.Guardar(detalle); cabecera.TotalNeto = tNeto; cabecera.TotalDescuento = tDescuento; cabecera.Subtotal = Math.Round(tNeto / (1 + Constante.IGV), 2); cabecera.TotalImpuesto = Math.Round(tNeto - cabecera.Subtotal, 2); ActualizarParcial(cabecera, x => x.TotalNeto, x => x.TotalDescuento, x => x.Subtotal, x => x.TotalImpuesto); int?retid; using (var db = new VENDIXEntities()) { retid = db.usp_PagarCuentaxCobrar(cabecera.OrdenVentaId, 0, VendixGlobal.GetCajaDiarioId(), VendixGlobal.GetUsuarioId()).ToList()[0]; } scope.Complete(); return(cabecera.OrdenVentaId); } catch (Exception ex) { scope.Dispose(); throw new Exception(ex.InnerException.Message); } } }