public bool VerificarLote(string par) { using (Farmacia_FarmalivioEntities contex = new Farmacia_FarmalivioEntities()) { var varCat = new lote(); varCat = contex.lote.Where(x => x.nlote == par).SingleOrDefault(); if (varCat != null) { return(true); } else { return(false); } } }
public int guardarLote(int pro, int sec) { int contador = db.lote.Where(p => p.PRODUCTO_id == pro).Count(); contador = contador + 1; lote L = new lote(); L.nombre = contador.ToString(); L.PRODUCTO_id = pro; L.SECCION_BODEGA_id = sec; db.lote.Add(L); db.SaveChanges(); int id = Convert.ToInt16(db.lote.Max(p => p.id)); return(id); }
public JsonResult GuardarLote(lote lote) { var respuesta = new ResponseModel { Respuesta = true, Redirect = "", Error = "" }; if (ModelState.IsValid) { try { lote.estado = true; db.lote.Add(lote); db.SaveChanges(); } catch (Exception) { VerificacionDuplicado verif = new VerificacionDuplicado(); bool rpta = verif.VerificarLote(lote.nlote); respuesta.Respuesta = false; if (rpta) { respuesta.Error = "Ya existe un mismo Numero lote"; } else { respuesta.Error = "Hubo un problema al guardar"; } } } else { respuesta.Respuesta = false; ModelState.AddModelError("fecha_vencimiento", "La fecha de vencimiento es obligatorio"); respuesta.Error = "La fecha de vencimiento es obligatorio"; } return(Json(respuesta)); }
public String adicionarEntregasTemp(int idempleado, DateTime fecha, int idBodega, DataTable tablaConfigurados, String[] datos) { int NumerosEntregas = 0; Decimal idDocumento = 0; Decimal idOrdenEntrega = 0; Brainsbits.LLB.almacen.documento_temp _documento = new almacen.documento_temp(Empresa, Usuario); Inventario_temp _inventario = new Inventario_temp(Empresa, Usuario); Conexion _dato = new LDA.Conexion(Empresa); _dato.IniciarTransaccion(); #region validaciones idDocumento = _documento.AdicionarAlmDocumentosTemp(idempleado, "ENTREGA", "", fecha, Convert.ToDateTime("01/01/1900"), 0, "CONFIGURADO", "", _dato); if (idDocumento == 0) { _dato.DeshacerTransaccion(); MensajeError += "ADVERTENCIA: No fue posible crear el documento, por la siguiente razón \n" + _documento.MensajeError + " \ncomuniquese con el administrador"; } else { foreach (DataRow filaConf in tablaConfigurados.Rows) { int idproducto = Convert.ToInt32(filaConf["ID_PRODUCTO"]); int cantidad = Convert.ToInt32(filaConf["CANTIDAD"]); int idlote = Convert.ToInt32(filaConf["ID_LOTE"]); lote _lote = new lote(Empresa, Usuario); DataTable tablalo = _lote.ObtenerAlmLotePorId(idlote); DataRow filalo = tablalo.Rows[0]; Decimal costo = Convert.ToInt32(filalo["COSTO"]); String talla = filaConf["TALLA"].ToString(); Decimal idinventario = 0; idinventario = _inventario.AdicionarAlmInventarioTemp(Convert.ToInt32(idDocumento), idproducto, idBodega, idlote, 0, talla, cantidad, costo, fecha, "SALIDA", _dato); if (idinventario == 0) { _dato.DeshacerTransaccion(); MensajeError += "El registro de inventario no fue posible crearlo por: " + _inventario.MensajeError + " Valide con el Administrador"; } else { NumerosEntregas++; } } } if (NumerosEntregas == tablaConfigurados.Rows.Count) { _dato.AceptarTransaccion(); } else { _dato.DeshacerTransaccion(); NumerosEntregas = 0; } #endregion if (NumerosEntregas <= 0) { return(""); } return(idDocumento.ToString()); }
public String adicionarEntregas(int idempleado, DateTime fecha, int idBodega, DataTable tablaConfigurados, DataTable tablalotes, String[] datos, String faltantes) { int NumerosEntregas = 0; Decimal idDocumento = 0; Decimal idOrdenEntrega = 0; AsignacionServiciosComplementarios _OrdenEntrega = new AsignacionServiciosComplementarios(Empresa, Usuario); Brainsbits.LLB.almacen.documento _documento = new almacen.documento(Empresa, Usuario); Inventario _inventario = new Inventario(Empresa, Usuario); Conexion _dato = new LDA.Conexion(Empresa); _dato.IniciarTransaccion(); #region validaciones foreach (DataRow filaConf in tablaConfigurados.Rows) { foreach (DataRow filaLote in tablalotes.Rows) { if (filaConf["ID_PRODUCTO"].Equals(filaLote["ID_PRODUCTO"]) & filaConf["TALLA"].Equals(filaLote["TALLA"]) & Convert.ToInt32(filaConf["CANTIDAD_A_ENTREGAR"]) > Convert.ToInt32(filaLote["CANTIDAD_CONFIGURADA"])) { MensajeError += "La cantidad que se desea entregar es superior a la cantidad que se debe entregar. Valide por favor"; } else { idDocumento = _documento.AdicionarAlmDocumentos(idempleado, 0, "ENTREGA", "", "", fecha, new DateTime(), 0, 0, 0, "", "", _dato, 0, null); if (idDocumento == 0) { _dato.DeshacerTransaccion(); MensajeError += "ADVERTENCIA: No fue posible crear el documento, por la siguiente razón \n" + _documento.MensajeError + " \ncomuniquese con el administrador"; } else { idOrdenEntrega = _OrdenEntrega.AdicionarAsignacionServiciosComplementarios(Convert.ToInt32(idDocumento), idempleado, fecha, "", _dato); if (idOrdenEntrega == 0) { _dato.DeshacerTransaccion(); MensajeError += "ADVERTENCIA: No fue posible crear el documento de Orden de Entrega, por la siguiente razón \n" + _OrdenEntrega.MensajeError + " \ncomuniquese con el administrador"; } else { if (filaConf["ID_PRODUCTO"].Equals(filaLote["ID_PRODUCTO"]) & filaConf["TALLA"].Equals(filaLote["TALLA"]) & Convert.ToInt32(filaConf["CANTIDAD_A_ENTREGAR"]) <= Convert.ToInt32(filaLote["CONTENIDO_LOTE"])) { int idproducto = Convert.ToInt32(filaConf["ID_PRODUCTO"]); int cantidad = Convert.ToInt32(filaConf["CANTIDAD_A_ENTREGAR"]); int idlote = Convert.ToInt32(filaLote["ID_LOTE"]); lote _lote = new lote(Empresa, Usuario); DataTable tablalo = _lote.ObtenerAlmLotePorId(idlote, _dato); DataRow filalo = tablalo.Rows[0]; Decimal costo = Convert.ToInt32(filalo["COSTO"]); String talla = filaConf["TALLA"].ToString(); Decimal idinventario = 0; Decimal idEntrega = 0; idinventario = _inventario.AdicionarAlmInventario(Convert.ToInt32(idDocumento), idproducto, idBodega, cantidad, costo, fecha, "SALIDA", _dato, idlote, talla, 0, 0, null, filalo["REEMBOLSO"].ToString()); if (idinventario == 0) { _dato.DeshacerTransaccion(); MensajeError += "El registro de inventario no fue posible crearlo por: " + _inventario.MensajeError + " Valide con el Administrador"; } else { idEntrega = AdicionarConRegEntregasServiciosComplementarios(Convert.ToInt32(idOrdenEntrega), idproducto, fecha, talla, cantidad, cantidad, "COMPLETA", costo, 0, 0, 0, "N", "", _dato); if (idEntrega == 0) { _dato.DeshacerTransaccion(); MensajeError += "El registro de inventario no fue posible crearlo por: " + MensajeError + " Valide con el Administrador"; } else { NumerosEntregas++; break; } } } else { } } } } } } if (NumerosEntregas == tablaConfigurados.Rows.Count) { if (faltantes.Equals("")) { if (_OrdenEntrega.ActualizarAsignacionServiciosComplementarios(Convert.ToInt32(idOrdenEntrega), Convert.ToInt32(idDocumento), idempleado, fecha, "COMPLETO", _dato)) { if (_documento.ActualizarAlmDocumento(Convert.ToInt32(idDocumento), idempleado, 0, "ENTREGA", "", "" + idOrdenEntrega.ToString(), fecha, Convert.ToDateTime("01/01/1900"), 0, 0, 0, "COMPLETO", "", 0, _dato)) { _dato.AceptarTransaccion(); } else { _dato.DeshacerTransaccion(); MensajeError += "No fue posible actualizar el documento por: " + _documento.MensajeError; } } else { _dato.DeshacerTransaccion(); MensajeError += "No fue posible actualizar la orden de entrega por: " + _OrdenEntrega.MensajeError; } } else { if (_OrdenEntrega.ActualizarAsignacionServiciosComplementarios(Convert.ToInt32(idOrdenEntrega), Convert.ToInt32(idDocumento), idempleado, fecha, "INCOMPLETO", _dato)) { if (_documento.ActualizarAlmDocumento(Convert.ToInt32(idDocumento), idempleado, 0, "ENTREGA", "", "" + idOrdenEntrega.ToString(), fecha, Convert.ToDateTime("01/01/1900"), 0, 0, 0, "INCOMPLETO", faltantes, 0, _dato)) { _dato.AceptarTransaccion(); } else { _dato.DeshacerTransaccion(); MensajeError += "No fue posible actualizar el documento por: " + _documento.MensajeError; } } else { _dato.DeshacerTransaccion(); MensajeError += "No fue posible actualizar la orden de entrega por: " + _OrdenEntrega.MensajeError; } } } else { NumerosEntregas = 0; } #endregion if (NumerosEntregas <= 0) { return(""); } return(idOrdenEntrega.ToString()); }
protected DataTable ConsultarInventario(String centroCostos, String subcentroCosto, String ciudad, String[] datos, DataRow fila) { String id_Ciudad; DataTable tablaentregas = new DataTable(); tablaentregas.Columns.Add("ID_PRODUCTO"); tablaentregas.Columns.Add("ID_LOTE"); tablaentregas.Columns.Add("CANTIDAD"); tablaentregas.Columns.Add("TALLA"); DataRow entrega = tablaentregas.NewRow(); if (!(centroCostos.Equals("0"))) { centroCosto _centroC = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaCentro = _centroC.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(centroCostos)); DataRow filaCentros = tablaCentro.Rows[0]; id_Ciudad = filaCentros["ID_CIUDAD"].ToString(); } else if (!(subcentroCosto.Equals("0"))) { subCentroCosto _SubCentroC = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSub = _SubCentroC.ObtenerSubCentrosDeCostoPorIdSubCosto(Convert.ToDecimal(subcentroCosto)); DataRow filaSubCentro = tablaSub.Rows[0]; centroCosto _centroC = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaCentro = _centroC.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(filaSubCentro["ID_CENTRO_C"].ToString())); DataRow filaCentros = tablaCentro.Rows[0]; id_Ciudad = filaCentros["ID_CIUDAD"].ToString(); } else { id_Ciudad = ciudad; } int id_empresa = Convert.ToInt32(datos[3].ToString()); ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString()); DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(id_Ciudad); DataRow filaCiudad = tablaCiudad.Rows[0]; String id_regional = filaCiudad["ID_REGIONAL"].ToString(); bodega _bodega = new bodega(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablabodega = _bodega.ObtenerAlmRegBodegaPorIds(id_regional, id_Ciudad, id_empresa); if (tablabodega.Rows.Count <= 0) { Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron bodegas para la empresa en la ubicación seleccionada. Valide por favor."; configurarMensajes(true, System.Drawing.Color.Red, Label_MENSAJE, Panel_MENSAJES); } else { DataRow filaBodega = tablabodega.Rows[0]; lote _lote = new lote(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); HiddenField_idBodega.Value = filaBodega["ID_BODEGA"].ToString(); DataTable tablaLote = _lote.ObtenerAlmLotePorIdProductoBodega(Convert.ToInt32(fila["ID_PRODUCTO"]), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString())); if (tablaLote.Rows.Count <= 0) { Label_MENSAJE.Text = "ADVERTENCIA: No hay existencias del producto " + fila["NOMBRE"].ToString() + " para la empresa seleccionada. Valide por favor."; configurarMensajes(true, System.Drawing.Color.Red, Label_MENSAJE, Panel_MENSAJES); } else { int contLote; foreach (DataRow filalotes in tablaLote.Rows) { entrega = tablaentregas.NewRow(); contLote = Convert.ToInt32(filalotes["ENTRADAS"]) - Convert.ToInt32(filalotes["SALIDAS"]); entrega[0] = filalotes["ID_PRODUCTO"]; entrega[1] = filalotes["ID_LOTE"]; entrega[2] = contLote; entrega[3] = filalotes["TALLA"]; tablaentregas.Rows.Add(entrega); } } } return(tablaentregas); }
public detalhe(lote lote) { this.objetoPai = lote; }