Example #1
0
        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);
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
                }
            }
        }