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); }
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)); }
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); }
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())); }