private void GenerarLineas(AlbaranesComprasService albaranesService, List <FacturasComprasLinModel> lineas, IEnumerable <string> albaranesreferencia) { var list = albaranesreferencia.Where(f => CanImportarLinea(lineas, f)); foreach (var item in list) { GenerarLinea(albaranesService, lineas, item); } }
private void GenerarLinea(AlbaranesComprasService albaranesService, List <FacturasComprasLinModel> lineas, string referencia) { var albaran = albaranesService.GetByReferencia(referencia); albaran = albaranesService.get(albaran.Id.ToString()) as AlbaranesComprasModel; //if (albaran.Lineas.Any(f => (f.Cantidad ?? 0) - (f.Cantidadpedida ?? 0) > 0)) ANG - Se quita la comprobación de cantidad pedida. El albaran se factura entero if (albaran.Lineas.Any(f => (f.Cantidad ?? 0) != 0)) { var maxId = lineas.Any() ? lineas.Max(f => f.Id) + 1 : 1; lineas.AddRange(ImportarLineas(albaran.Id, maxId, albaranesService.GetLineasImportarAlbaran(referencia))); } if (lineas.Count == 0) { throw new ValidationException("Los albaranes seleccionados no han generado ninguna linea"); } }
private void ModificarCantidadesPedidasAlbaranes(FacturasComprasModel model, TipoOperacion tipo = TipoOperacion.Editar) { var AlbaranesComprasService = new AlbaranesComprasService(_context, _db); AlbaranesComprasService.EjercicioId = EjercicioId; foreach (var item in model.Lineas) { var albaran = _db.AlbaranesCompras.Include("AlbaranesComprasLin").Single( f => f.empresa == model.Empresa && f.id == item.Fkalbaranes); foreach (var linea in albaran.AlbaranesComprasLin) { linea.cantidadpedida = tipo == TipoOperacion.Baja ? 0 : linea.cantidad; } var validationService = AlbaranesComprasService._validationService as AlbaranesComprasValidation; validationService.EjercicioId = EjercicioId; validationService.FlagActualizarCantidadesFacturadas = true; validationService.ValidarGrabar(albaran); _db.AlbaranesCompras.AddOrUpdate(albaran); } _db.SaveChanges(); }