public List <PreventaInternalModel> GetPreventasHeaderPorVendedor(string id) { var preventa = _context.Preventa .Where(mf => mf.FCRMVH_MODFOR == "FC" && mf.FCRMVH_CODFOR == "PREVEN" && mf.FCRMVH_USERID == id) .ToList(); var preventas_ = new List <PreventaInternalModel>(); foreach (var p in preventa) { 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, }; preventas_.Add(prevenResult); } return(preventas_); }
public PreVenta MapearPreventa(PreventaInternalModel preventa) { var NewPreventa = new PreVenta() { FCRMVH_NROCTA = preventa.NumeroCliente }; return(NewPreventa); }
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 List <ItemPreVenta> MapearItemPreVenta(PreventaInternalModel items) { List <ItemPreVenta> ItemsPreventa = new List <ItemPreVenta>(); foreach (var i in items.ItemsPreventa) { var NewItem = new ItemPreVenta() { FCRMVI_ARTCOD = i.CodigoArticulo, FCRMVI_TIPPRO = i.TipoProducto }; ItemsPreventa.Add(NewItem); } return(ItemsPreventa); }
public async Task <IHttpActionResult> CrearPreventa([FromBody] PreventaInternalModel preventa) { try { if (ModelState.IsValid) { //TODO: Obtener ultimo numero de PREVENTA -> NROFOR var LastPrevap = _cabodiRepository.GetLastNroPrevap(); //TODO: Obtener CLIENTE -> DIRENT, PAIENT, CODENT, VNDDOR var cliente = _cabodiRepository.GetCliente(preventa.NumeroCliente); PreVenta NewPreventa = MapearPreventa(preventa, LastPrevap, cliente); List <ItemPreVenta> Items = MapearItemPreVenta(preventa, LastPrevap, cliente); _cabodiRepository.AddPreventa(NewPreventa); preventa.NumeroPreventa = NewPreventa.FCRMVH_NROFOR; var result = _cabodiRepository.SaveChanges(); foreach (var item in Items) { _cabodiRepository.AddItemPreventa(item); } if (await _cabodiRepository.SaveChangesAsync()) { preventa.NumeroPreventa = NewPreventa.FCRMVH_NROFOR; foreach (var item in preventa.ItemsPreventa) { var articulo = _cabodiRepository.GetProductoPorTIPPRO_ARTCOD(item.TipoProducto, item.CodigoArticulo); item.DescripcionArticulo = articulo.STMPDH_DESCRP; } return(Ok(preventa)); } } } catch (Exception ex) { return(InternalServerError(ex)); } return(BadRequest()); }
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 async Task <IHttpActionResult> CreatePreventa([FromBody] PreventaInternalModel prevent) { try { if (ModelState.IsValid) { prevent.NumeroPreventa = 99999; return(Ok(prevent)); } else { InternalServerError(); } } catch (Exception ex) { return(InternalServerError()); } return(BadRequest()); }
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())); }
private List <ItemPreVenta> MapearItemPreVenta(PreventaInternalModel items, int LastPrevap, Cliente cliente) { DateTime?_fechaHasta; if (items.FechaHasta == null) { if (items.FechaDesde == null) { _fechaHasta = items.FechaMovimiento; } else { _fechaHasta = items.FechaDesde; } } else { _fechaHasta = items.FechaHasta; } List <ItemPreVenta> ItemsPreventa = new List <ItemPreVenta>(); var nroItem = 0; foreach (var i in items.ItemsPreventa) { nroItem++; var articulo = _cabodiRepository.GetProductoPorTIPPRO_ARTCOD(i.TipoProducto, i.CodigoArticulo); var NewItem = new ItemPreVenta() { FCRMVI_MODFOR = "FC", FCRMVI_CODFOR = "PREVAP", FCRMVI_NROFOR = LastPrevap + 1,//"OBTENER Nro PREVENTA", FCRMVI_NROITM = nroItem, FCRMVI_NIVEXP = "1", FCRMVI_MODAPL = "FC", FCRMVI_CODAPL = "PREVAP", FCRMVI_NROAPL = LastPrevap + 1,//"OBTENER Nro PREVENTA", FCRMVI_ITMAPL = nroItem, FCRMVI_EXPAPL = "1", FCRMVI_ARTCOD = i.CodigoArticulo, FCRMVI_TIPPRO = i.TipoProducto, FCRMVI_MODCPT = articulo.STMPDH_MODCPT, FCRMVI_TIPCPT = articulo.STMPDH_TIPCPC, FCRMVI_CODCPT = articulo.STMPDH_CODCPT, FCRMVI_DEPOSI = "HAR001", FCRMVI_SECTOR = "U", FCRMVI_SUCURS = "0001", FCRMVI_FACSEC = articulo.STMPDH_FACSEC, FCRMVI_CNTSEC = i.Cantidad * articulo.STMPDH_FACSEC, FCRMVI_TIPUNI = "F", FCRMVI_FACFAC = 0, FCRMVI_CNTFAC = i.Cantidad, FCRMVI_UNIALT = articulo.STMPDH_UNIALT, FCRMVI_FACALT = articulo.STMPDH_FACALT, FCRMVI_CNTALT = i.Cantidad * articulo.STMPDH_FACALT, FCRMVI_TIPORI = i.TipoProducto, FCRMVI_ARTORI = i.CodigoArticulo, FCRMVI_NROCTA = cliente.VTMCLH_NROCTA, FCRMVI_NROSUB = cliente.VTMCLH_NROSUB, FCRMVI_PRECIO = i.Precio, FCRMVI_CANTID = i.Cantidad, FCRMVI_UNIMED = articulo.STMPDH_UNIMED, FCRMVI_UNICON = articulo.STMPDH_UNICON, FCRMVI_FACCON = articulo.STMPDH_FACCON, FCRMVI_CNTCON = i.Cantidad * articulo.STMPDH_FACCON, FCRMVI_PCTBF1 = 0, FCRMVI_PCTBF2 = 0, FCRMVI_PCTBF3 = 0, FCRMVI_PCTBF4 = 0, FCRMVI_PCTBF5 = 0, FCRMVI_PCTBF6 = 0, FCRMVI_PCTBF7 = 0, FCRMVI_PCTBF8 = 0, FCRMVI_PCTBF9 = 0, FCRMVI_PCTBFN = 0, FCRMVI_TEXTOS = null, FCRMVI_FCHENT = items.FechaDesde == null ? items.FechaMovimiento : items.FechaDesde, FCRMVI_FCHHAS = _fechaHasta, FCRMVI_MODORI = "FC", FCRMVI_CODORI = "PREVAP", FCRMVI_NROORI = LastPrevap + 1, FCRMVI_ITMORI = nroItem, FCRMVI_EXPORI = "1", FCRMVI_CUENTA = articulo.STMPDH_CUENVT, FCRMVI_CNTANT = 0, FCRMVI_PORANT = 0, FCRMVI_CANTST = i.Cantidad, FCRMVI_CNTORI = i.Cantidad, FCRMVI_NROINI = 0, FCRMVI_ITMINI = 1, FCRMVI_COFLIS = "PESOS", FCRMVI_CAMBIO = 0, FCRMVI_NROGAN = 0, FCRMVI_CNTVAR = 0, FCRMVI_CNTUNI = 0, FCRMVI_FACTOR = 0, FCRMVI_NCNPNA = "N", FCRMVI_NROOST = 0, FCRMVI_ITMOST = nroItem, FCRMVI_EXPOST = "1", FCRMVI_PREEXT = 0, FCRMVI_PREUSS = 0, FCRMVI_OALIAS = "FCRMVI", FCRMVI_CNTBON = 0, FCRMVI_PRENAC = i.Precio, FCRMVI_TOTLIN = i.Total, FCRMVI_USERID = items.UserName, FCRMVI_CODEMP = "CABODI", FCRMVI_EMPAPL = "CABODI", FCRMVI_EMPORI = "CABODI", FCRMVI_FECALT = items.FechaMovimiento }; ItemsPreventa.Add(NewItem); } return(ItemsPreventa); }
private PreVenta MapearPreventa(PreventaInternalModel preventa, int LastPrevap, Cliente cliente) { DateTime?_fechaHasta; if (preventa.FechaHasta == null) { if (preventa.FechaDesde == null) { _fechaHasta = preventa.FechaMovimiento; } else { _fechaHasta = preventa.FechaDesde; } } else { _fechaHasta = preventa.FechaHasta; } var NewPreventa = new PreVenta() { FCRMVH_MODFOR = "FC", FCRMVH_CODFOR = "PREVAP", FCRMVH_NROFOR = LastPrevap + 1, //"OBTENER Nro PREVENTA", FCRMVH_NROGEN = LastPrevap + 1, //"OBTENER Nro PREVENTA", FCRMVH_CIRCOM = "0100", FCRMVH_CIRGEN = "0100", FCRMVH_CIRAPL = "0100", FCRMVH_SUCURS = "0001", FCRMVH_NROCTA = preventa.NumeroCliente, FCRMVH_NROSUB = preventa.NumeroCliente, FCRMVH_DIRENT = cliente.VTMCLH_DIRENT, FCRMVH_PAIENT = cliente.VTMCLH_PAIENT, FCRMVH_CODENT = cliente.VTMCLH_CODENT, FCRMVH_CAMION = cliente.VTMCLH_CAMION, FCRMVH_VNDDOR = cliente.VTMCLH_VNDDOR, FCRMVH_CNDPAG = cliente.VTMCLH_CNDPAG, FCRMVH_DEPOSI = "HAR001", FCRMVH_SECTOR = "U", FCRMVH_CODLIS = cliente.VTMCLH_CNDPRE, FCRMVH_JURISD = cliente.VTMCLH_JURISD, FCRMVH_CNDIVA = cliente.VTMCLH_CNDIVA, FCRMVH_CODZON = cliente.VTMCLH_CODZON, FCRMVH_ISPRCT = "N", FCRMVH_ULTOPR = "A", FCRMVH_DEBAJA = "N", FCRMVH_CODEMP = "CABODI", FCRMVH_EMPGEN = "CABODI", FCRMVH_EMPFST = "CABODI", FCRMVH_MODGEN = "FC", FCRMVH_CODGEN = "PREVAP", FCRMVH_COFLIS = "PESOS", FCRMVH_COFDEU = "PESOS", FCRMVH_COFFAC = "PESOS", FCRMVH_CAMBIO = 0, FCRMVH_CAMUSS = 0, FCRMVH_NROFCR = 0, FCRMVH_NROFST = 0, FCRMVH_CAMSEC = 0, FCRMVH_DIAENT = 0, FCRMVH_TEXTOS = preventa.Observacion, FCRMVH_FECLIS = preventa.FechaMovimiento.Date, FCRMVH_FECALT = preventa.FechaMovimiento, FCRMVH_FECMOD = preventa.FechaMovimiento, FCRMVH_CONGEL = "S", FCRMVH_FCHMOV = preventa.FechaMovimiento.Date, FCRMVH_FCHDES = preventa.FechaDesde == null ? preventa.FechaMovimiento : preventa.FechaDesde, FCRMVH_FCHHAS = _fechaHasta, FCRMVH_USERID = preventa.UserName, FCRMVH_OALIAS = "FCRMVH" }; return(NewPreventa); }