public LotesModel SubirImagenLote(LotesModel model) { Stockhistorico pieza = null; string lote; string loteid; CalcularPartesLote(model.Lote, out lote, out loteid); try { pieza = _db.Stockhistorico.First(f => f.empresa == _context.Empresa && f.lote == lote && f.loteid == loteid); var carpetasService = FService.Instance.GetService(typeof(CarpetasModel), _context, _db) as CarpetasService; var ruta = carpetasService.GenerateRutaCarpeta("Lotes", "Imagenes", model.Lote); model.Fkcarpetas = carpetasService.GetCarpeta(ruta)?.Id; model.Fkarticulos = pieza.fkarticulos; model.Descripcion = _db.Articulos.Where(f => f.empresa == _context.Empresa && f.id == pieza.fkarticulos).Select(f => f.descripcion).SingleOrDefault(); model.LargoProduccion = pieza.largo; model.AnchoProduccion = pieza.ancho; model.GruesoProduccion = pieza.grueso; } catch (Exception e) { throw new Exception(string.Format("La pieza {0} no existe", model.Lote)); } return(model); }
public ActionResult Imagenes() { var model = new LotesModel(); model.Toolbar.Titulo = General.SubirImagen; model.Toolbar.Acciones = HelpItem(); return(View(model)); }
public ActionResult Imagenes(LotesModel model) { if (!string.IsNullOrEmpty(model.Lote)) { try { var lotesService = new LotesService(ContextService); lotesService.SubirImagenLote(model); } catch (Exception e) { ModelState.AddModelError("Error", e.Message); } } else { ModelState.AddModelError("Error", "Introduce un nĂºmero de lote"); } model.Toolbar.Titulo = General.SubirImagen; model.Toolbar.Acciones = HelpItem(); return(View("Imagenes", model)); }
public LotesModel Get(string id) { var intid = int.Parse(id); var obj = _db.Stockhistorico.Single(f => f.id == intid && f.empresa == _context.Empresa); var unidades = _db.Unidades.Single(f => f.id == obj.fkunidadesmedida); var loteid = Funciones.Qint(obj.loteid); var estadoActual = EstadoStock.SinStock; if (_db.Stockactual.Any( f => f.cantidaddisponible > 0 && f.empresa == obj.empresa && f.lote == obj.lote && f.loteid == obj.loteid && f.fkarticulos == obj.fkarticulos)) { estadoActual = EstadoStock.EnStock; } else if (_db.ReservasstockLin.Include("Reservasstock").Any(f => f.empresa == obj.empresa && f.lote == obj.lote && f.tabla == loteid && _db.Estados.Any(j => (j.documento + "-" + j.id) == f.Reservasstock.fkestados && j.tipoestado < (int)TipoEstado.Finalizado))) { estadoActual = EstadoStock.Reservado; } else if ( _db.Transformacionesloteslin.Include("Transformacioneslotes") .Any( f => f.empresa == obj.empresa && f.lote == obj.lote && f.tabla == loteid && _db.Estados.Any( j => (j.documento + "-" + j.id) == f.Transformacioneslotes.fkestados && j.tipoestado < (int)TipoEstado.Finalizado))) { estadoActual = EstadoStock.Transformacion; } var result = new LotesModel(); result.Estado = estadoActual; result.Fkvariedades = obj.fkvariedades; result.Loteproveedor = obj.referenciaproveedor; result.Fkalmacenes = obj.fkalmacenes; result.NombreAlmacen = _db.Almacenes.Where(f => f.empresa == obj.empresa && f.id == obj.fkalmacenes).Select(f => f.descripcion).SingleOrDefault(); result.Zona = obj.fkalmaceneszona?.ToString(); result.Fkcalificacioncomercial = obj.fkcalificacioncomercial; result.Fkalmaceneszona = obj.fkalmaceneszona?.ToString() ?? string.Empty; result.Fkincidenciasmaterial = obj.fkincidenciasmaterial; result.Fktipograno = obj.fktipograno; result.Fktonomaterial = obj.fktonomaterial; result.Lotereferencia = string.Format("{0}{1}", obj.lote, Funciones.RellenaCod(obj.loteid, 3)); result.Tipodealmacenlote = (TipoAlmacenlote?)obj.tipoalmacenlote; result.Fkcarpetas = obj.fkcarpetas; result.Decimales = unidades.decimalestotales; result.CantidadProduccion = obj.cantidaddisponible; result.LargoProduccion = obj.largo; result.AnchoProduccion = obj.ancho; result.GruesoProduccion = obj.grueso; var modelUnidades = new UnidadesModel(); modelUnidades.Formula = (TipoStockFormulas)unidades.formula; var metros = obj.metros ?? 0; result.MetrosProduccion = obj.cantidaddisponible == 0 ? UnidadesService.CalculaResultado(modelUnidades, 1, obj.largo, obj.ancho, obj.grueso, metros):obj.metros; result.Unidades = unidades.codigounidad; result.Formula = unidades.formula; result.Costeadicionalmaterial = obj.costeadicionalmaterial; result.Costeadicionalportes = obj.costeadicionalportes; result.Costeadicionalotro = obj.costeadicionalotro; result.Costeadicionalvariable = obj.costeacicionalvariable; result.Pesoneto = obj.pesonetolote; // jmm result.Codigoproveedor = obj.codigoproveedor; result.Fechaentrada = obj.fechaentrada; result.Precioentrada = obj.precioentrada; result.Referenciaentrada = obj.referenciaentrada; result.Codigodocumentoentrada = obj.codigodocumentoentrada.ToString(); result.CantidadEntrada = obj.cantidadentrada; result.LargoEntrada = obj.largoentrada; result.AnchoEntrada = obj.anchoentrada; result.GruesoEntrada = obj.gruesoentrada; result.MetrosEntrada = obj.metrosentrada; result.Netocompra = obj.netocompra; result.Preciovaloracion = obj.preciovaloracion; result.Codigocliente = obj.codigocliente; result.Fechasalida = obj.fechasalida; result.Preciosalida = obj.preciosalida; result.Referenciasalida = obj.referenciasalida; result.Codigodocumentosalida = obj.codigodocumentosalida.ToString(); result.CantidadSalida = obj.cantidadsalida; result.LargoSalida = obj.largosalida; result.AnchoSalida = obj.anchosalida; result.GruesoSalida = obj.gruesosalida; result.MetrosSalida = obj.metrossalida; result.CantidadProduccion = obj.cantidaddisponible; result.MetrosDisponibles = UnidadesService.CalculaResultado(modelUnidades, obj.cantidaddisponible, obj.largo, obj.ancho, obj.grueso, metros); //articulo descripcion result.Fkarticulos = obj.fkarticulos; //entrada //var entradaObj = GetModeloEntrada(obj.lote, loteid); //if (entradaObj != null) //{ // result.Codigoproveedor = entradaObj.Cuenta; // result.Fechaentrada = entradaObj.Fecha; // result.Precioentrada = entradaObj.Precio; // result.Referenciaentrada = entradaObj.Referencia; // result.Codigodocumentoentrada = entradaObj.Codigodocumento; // result.CantidadEntrada = entradaObj.Cantidad; // result.LargoEntrada = entradaObj.Largo; // result.AnchoEntrada = entradaObj.Ancho; // result.GruesoEntrada = entradaObj.Grueso; // result.MetrosEntrada = entradaObj.Metros; // result.Netocompra = entradaObj.Precio; //} ////salida //var salidaObj = GetModeloSalida(obj.lote,loteid); //if (salidaObj != null) //{ // result.Codigocliente = salidaObj.Cuenta; // result.Fechasalida = salidaObj.Fecha; // result.Preciosalida = salidaObj.Precio; // result.Referenciasalida = salidaObj.Referencia; // result.Codigodocumentosalida = salidaObj.Codigodocumento; // result.CantidadSalida = salidaObj.Cantidad; // result.LargoSalida = salidaObj.Largo; // result.AnchoSalida = salidaObj.Ancho; // result.GruesoSalida = salidaObj.Grueso; // result.MetrosSalida = salidaObj.Metros; //} result.Documentosrelacionados = GetDocumentosRelacionados(obj.lote, obj.loteid); return(result); }