Exemple #1
0
        public PreventaInternalModel GetPreventa(int id)
        {
            IQueryable <PreVenta> preventa = _context.Preventa.AsNoTracking();

            preventa = preventa.Where(p => p.FCRMVH_NROFOR == id &&
                                      p.FCRMVH_MODFOR == "FC" &&
                                      p.FCRMVH_CODFOR == "PREVAP");

            var prevent      = preventa.FirstOrDefault();
            var prevenResult = new PreventaInternalModel();

            if (prevent != null)
            {
                var itemspreven_ = _context.ItemPreVentas.Where(i => i.FCRMVI_NROFOR == id &&
                                                                i.FCRMVI_CODFOR == "PREVAP" &&
                                                                i.FCRMVI_USERID == prevent.FCRMVH_USERID).ToList();

                var itemsp_ = new List <ItemPreventaInternalModel>();
                foreach (var i in itemspreven_)
                {
                    var producto = GetProductoPorTIPPRO_ARTCOD(i.FCRMVI_TIPPRO, i.FCRMVI_ARTCOD);

                    var itemActual = new ItemPreventaInternalModel()
                    {
                        Cantidad            = i.FCRMVI_CANTID,
                        CodigoArticulo      = producto.STMPDH_ARTCOD,
                        IndCod              = producto.STMPDH_INDCOD,
                        DescripcionArticulo = producto.STMPDH_DESCRP,
                        Precio              = i.FCRMVI_PRECIO,
                        TipoProducto        = i.FCRMVI_TIPPRO,
                        Total = i.FCRMVI_TOTLIN
                    };
                    itemsp_.Add(itemActual);
                }

                prevenResult.FechaDesde      = prevent.FCRMVH_FCHDES;
                prevenResult.FechaHasta      = prevent.FCRMVH_FCHHAS;
                prevenResult.FechaMovimiento = prevent.FCRMVH_FCHMOV;
                prevenResult.NumeroCliente   = prevent.FCRMVH_NROCTA;
                prevenResult.UserName        = prevent.FCRMVH_USERID;
                prevenResult.NumeroPreventa  = prevent.FCRMVH_NROFOR;
                prevenResult.Observacion     = prevent.FCRMVH_TEXTOS;
                prevenResult.ItemsPreventa   = itemsp_;
            }


            return(prevenResult);
        }
Exemple #2
0
        public async Task <PreventaInternalModel> GetLastPreventaPorVendedor(string id)
        {
            var preventa = _context.Preventa
                           .Where(mf => mf.FCRMVH_MODFOR == "FC" &&
                                  mf.FCRMVH_CODFOR == "PREVEN" &&
                                  mf.FCRMVH_USERID == id)
                           .OrderByDescending(mf => mf.FCRMVH_NROFOR).FirstOrDefault();

            List <ItemPreVenta> itemspreven_ = _context.ItemPreVentas.Where(i => i.FCRMVI_NROFOR == preventa.FCRMVH_NROFOR &&
                                                                            i.FCRMVI_CODFOR == "PREVEN" &&
                                                                            i.FCRMVI_USERID == preventa.FCRMVH_USERID).ToList();

            var itemsp_ = new List <ItemPreventaInternalModel>();

            foreach (var i in itemspreven_)
            {
                var itemActual = new ItemPreventaInternalModel()
                {
                    //NumeroItem = i.FCRMVI_NROITM,
                    Cantidad       = i.FCRMVI_CANTID,
                    CodigoArticulo = i.FCRMVI_ARTCOD,
                    Precio         = i.FCRMVI_PRECIO,
                    TipoProducto   = i.FCRMVI_TIPPRO,
                    Total          = i.FCRMVI_TOTLIN
                };
                itemsp_.Add(itemActual);
            }

            var prevenResult = new PreventaInternalModel()
            {
                FechaDesde      = preventa.FCRMVH_FCHDES,
                FechaHasta      = preventa.FCRMVH_FCHHAS,
                FechaMovimiento = preventa.FCRMVH_FCHMOV,
                NumeroCliente   = preventa.FCRMVH_NROCTA,
                UserName        = preventa.FCRMVH_USERID,
                NumeroPreventa  = preventa.FCRMVH_NROFOR,
                Observacion     = preventa.FCRMVH_TEXTOS,
                ItemsPreventa   = itemsp_
            };

            return(await Task.Run(() => prevenResult));
        }
Exemple #3
0
        public List <ItemPreventaInternalModel> GetItemsPreventa(int idPreven)
        {
            var query = _context.ItemPreVentas
                        .Where(i => i.FCRMVI_CODFOR == "PREVAP" && i.FCRMVI_NROFOR == idPreven).ToList();


            var items = new List <ItemPreventaInternalModel>();

            foreach (var i in query)
            {
                var itemActual = new ItemPreventaInternalModel()
                {
                    //NumeroItem = i.FCRMVI_NROITM,
                    Cantidad       = i.FCRMVI_CANTID,
                    CodigoArticulo = i.FCRMVI_ARTCOD,
                    Precio         = i.FCRMVI_PRECIO,
                    TipoProducto   = i.FCRMVI_TIPPRO,
                    Total          = i.FCRMVI_TOTLIN
                };
                items.Add(itemActual);
            }

            return(items);
        }
Exemple #4
0
        public async Task <PreventaInternalModel[]> GetPreventasPorVendedorAsync(PrevapFilterInputModel model)
        {
            var output = new PrevapOutputModel();

            IQueryable <PreVenta> preventas = _context.Preventa.AsNoTracking();

            if (!string.IsNullOrEmpty(model.NumeroVendedor))
            {
                preventas = preventas.Where(p => p.FCRMVH_USERID == model.NumeroVendedor &&
                                            p.FCRMVH_MODFOR == "FC" &&
                                            p.FCRMVH_CODFOR == "PREVAP");
            }

            if (!string.IsNullOrEmpty(model.NumeroCliente))
            {
                preventas = preventas.Where(p => p.FCRMVH_NROCTA == model.NumeroCliente);
            }

            DateTime fromDateParam = model.FechaDesde ?? DateTime.MinValue;
            DateTime toDateParam   = model.FechaHasta.HasValue ? model.FechaHasta.Value.AddDays(1).Date.AddSeconds(-1) : DateTime.MaxValue;

            preventas = preventas.Where(c => DbFunctions.TruncateTime(c.FCRMVH_FECALT) >= fromDateParam.Date && DbFunctions.TruncateTime(c.FCRMVH_FECALT) <= toDateParam);

            var preventa = preventas.OrderByDescending(venta => venta.FCRMVH_NROFOR).Take(10).ToList();

            var preventas_ = new List <PreventaInternalModel>();

            foreach (var p in preventa)
            {
                var itemspreven_ = _context.ItemPreVentas.Where(i => i.FCRMVI_NROFOR == p.FCRMVH_NROFOR &&
                                                                i.FCRMVI_CODFOR == "PREVAP" &&
                                                                i.FCRMVI_USERID == p.FCRMVH_USERID);

                var itemsp_ = new List <ItemPreventaInternalModel>();
                foreach (var i in itemspreven_)
                {
                    var itemActual = new ItemPreventaInternalModel()
                    {
                        Cantidad       = i.FCRMVI_CANTID,
                        CodigoArticulo = i.FCRMVI_ARTCOD,
                        Precio         = i.FCRMVI_PRECIO,
                        TipoProducto   = i.FCRMVI_TIPPRO,
                        Total          = i.FCRMVI_TOTLIN
                    };
                    itemsp_.Add(itemActual);
                }

                var prevenResult = new PreventaInternalModel()
                {
                    FechaDesde      = p.FCRMVH_FCHDES,
                    FechaHasta      = p.FCRMVH_FCHHAS,
                    FechaMovimiento = p.FCRMVH_FCHMOV,
                    NumeroCliente   = p.FCRMVH_NROCTA,
                    UserName        = p.FCRMVH_USERID,
                    NumeroPreventa  = p.FCRMVH_NROFOR,
                    Observacion     = p.FCRMVH_TEXTOS,
                    ItemsPreventa   = itemsp_
                };
                preventas_.Add(prevenResult);
            }

            return(await Task.Run(() => preventas_.ToArray()));
        }