public void guardar() { INV_ARTICULO m = new INV_ARTICULO { ID = 0, ID_UNI_MED = int.Parse(UIID_UNI_MED.EditValue.ToString()), ID_CATE_ARTI = int.Parse(UIID_CATE_ARTI.EditValue.ToString()), CD_BARRA = UICD_BARRA.Text, DS_NOMBRE = UIDS_NOMBRE.Text, DS_NOMBRE_ALTER = UIDS_NOMBRE_ALTER.Text, DS_REFERENCIA = UIDS_REFERENCIA.Text, FLG_EXEN_IMPU = char.Parse(UIFLG_EXEN_IMPU.EditValue.ToString()), FLG_VERI_EXIS_VENT = char.Parse(UIFLG_VERI_EXIS_VENT.EditValue.ToString()), NM_CANT_MAX = decimal.Parse(UINM_CANT_MAX.EditValue.ToString()), NM_CANT_MIN = decimal.Parse(UINM_CANT_MIN.EditValue.ToString()), ID_EMPRESA = _datasistema.empresa.ID, FLG_INVENTARIABLE = char.Parse(UIFLG_INVENTARIABLE.EditValue.ToString()), CD_CLAVE = UICD_CLAVE.Text }; if (UIID.Text == "") { try { //_datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); //_datasistema.ContextoInventario.INV_ARTICULO.InsertOnSubmit(m); //_datasistema.ContextoInventario.SubmitChanges(); m = manejadorArticulo.insertar(m); consultar(); MetodosForm.seleccionarFila(uigridview, "ID", m.ID); } catch (Exception e) { MetodosForm.mensajeErrorDefault(e.Message, _datasistema); } } else { try { //INV_ARTICULO m = (from u in _datasistema.ContextoInventario.INV_ARTICULO // where u.ID == int.Parse(UIID.Text) // select u).First(); //m.ID_UNI_MED = (int)UIID_UNI_MED.EditValue; //m.ID_CATE_ARTI =(int)UIID_CATE_ARTI .EditValue ; //m.CD_BARRA =UICD_BARRA .Text; //m.CD_CLAVE = UICD_CLAVE.Text; //m.DS_NOMBRE=UIDS_NOMBRE.Text ; //m.DS_NOMBRE_ALTER =UIDS_NOMBRE_ALTER.Text; //m.DS_REFERENCIA =UIDS_REFERENCIA .Text; //m.FLG_EXEN_IMPU =(char)UIFLG_EXEN_IMPU .EditValue; //m.FLG_VERI_EXIS_VENT =(char)UIFLG_VERI_EXIS_VENT .EditValue; //m.NM_CANT_MAX =(decimal)UINM_CANT_MAX .EditValue ; //m.NM_CANT_MIN = (decimal)UINM_CANT_MIN.EditValue; //m.FLG_INVENTARIABLE = char.Parse(UIFLG_INVENTARIABLE.EditValue.ToString()); //_datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); //_datasistema.ContextoInventario.SubmitChanges(); m.ID = int.Parse(UIID.Text); manejadorArticulo.modificar(m); consultar(); MetodosForm.seleccionarFila(uigridview, "ID", m.ID); } catch (Exception e) { MetodosForm.mensajeErrorDefault(e.Message, _datasistema); } } }
public void eliminar() { try { INV_ARTICULO m = new INV_ARTICULO { ID = int.Parse(UIID.Text), ID_EMPRESA = _datasistema.empresa.ID }; //INV_ARTICULO m = (from u in _datasistema.ContextoInventario.INV_ARTICULO // where u.ID == int.Parse(UIID.Text) // select u).First(); //_datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); //_datasistema.ContextoInventario.INV_ARTICULO.DeleteOnSubmit(m); //_datasistema.ContextoInventario.SubmitChanges(); manejadorArticulo.eliminar(m); consultar(); } catch (Exception e) { MetodosForm.mensajeErrorDefault(e.Message, _datasistema); } }
private void uirbn_despachar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { if (uigridview.FocusedRowHandle < 0) { return; } _datasistema.conectarInventario(); INV_ENCA_INGR p = (from u in _datasistema.ContextoInventario.INV_ENCA_INGR where u.ID == int.Parse(UIID.Text) select u).First(); if (p.CD_ESTA_DOCUMENTO == 'D') { if (MetodosForm.preguntar("¿Quiere efectuar el ingreso?")) { foreach (var item in lista_deta) { INV_ARTICULO art = (from u in _datasistema.ContextoInventario.INV_ARTICULO where u.ID == item.ID_ARTICULO select u).First(); if (item.FLG_INGR != 'S') { int? error = 0; string msj = string.Empty; if (art.FLG_INVENTARIABLE == 'S') { _datasistema.ContextoInventario.PR_INV_PROC_INGRESO(_datasistema.empresa.ID, p.ID_UBICACION_INGR, p.NM_EJERCICIO, p.NM_PERIODO, item.ID_ARTICULO, item.NM_CANTIDAD, item.NM_PRECIO, p.ID, p.ID_TIPO_DOCUMENTO, p.CD_SERIE + p.CD_NUMERO.ToString(), ref error, ref msj); } if (error == 0) { INV_DETA_INGR d = (from u in _datasistema.ContextoInventario.INV_DETA_INGR where u.ID == item.ID select u).First(); INV_DETA_ORDEN r = (from u in _datasistema.ContextoInventario.INV_DETA_ORDEN where u.ID == item.ID_DETA_ORDEN select u).First(); d.FLG_INGR = 'S'; r.NM_CANT_RECIBIDA = r.NM_CANT_RECIBIDA + item.NM_CANTIDAD; _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); _datasistema.ContextoInventario.SubmitChanges(); } } } if ((from u in _datasistema.ContextoInventario.INV_DETA_INGR where u.ID_INGR == p.ID && u.FLG_INGR != 'S' select u).Count() > 0) { MetodosForm.mensajeErrorDefault("Hay productos que no se ingresaron", _datasistema); return; } p.CD_ESTA_DOCUMENTO = 'A'; _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); _datasistema.ContextoInventario.SubmitChanges(); consultar(); MetodosForm.seleccionarFila(uigridview, "ID", p.ID); } } } catch (Exception ex) { MetodosForm.mensajeErrorDefault(ex.Message, _datasistema); } }
public INV_ENCA_DESP despachar(INV_ENCA_DESP data) { _datasistema.conectarInventario(); INV_ENCA_DESP p = (from u in _datasistema.ContextoInventario.INV_ENCA_DESP where u.ID == data.ID select u).First(); List <V_INV_DETA_DESP> lista_deta = (from u in _datasistema.ContextoInventario.V_INV_DETA_DESP where u.ID == data.ID select u).ToList(); if (p.CD_ESTA_DOCUMENTO == 'D') { int? error = 0; string msj = string.Empty; ///valida si hay existencia foreach (var item in lista_deta) { INV_ARTICULO art = (from u in _datasistema.ContextoInventario.INV_ARTICULO where u.ID == item.ID_ARTICULO select u).First(); if ((from u in _datasistema.ContextoInventario.INV_EXISTENCIA where u.ID_EMPRESA == _datasistema.empresa.ID && u.NM_EJERCICIO == _datasistema.periodo.NM_EJERCICIO && u.NM_PERIODO == _datasistema.periodo.NM_PERIODO && u.ID_BODEGA == p.ID_UBICACION_DESP && u.ID_ARTICULO == item.ID_ARTICULO select u).Count() <= 0 && art.FLG_INVENTARIABLE == 'S') { throw new Exception("El articulo " + item.DS_NOMBRE + " no es inventariable "); } INV_EXISTENCIA exist = (from u in _datasistema.ContextoInventario.INV_EXISTENCIA where u.ID_EMPRESA == _datasistema.empresa.ID && u.NM_EJERCICIO == _datasistema.periodo.NM_EJERCICIO && u.NM_PERIODO == _datasistema.periodo.NM_PERIODO && u.ID_BODEGA == p.ID_UBICACION_DESP && u.ID_ARTICULO == item.ID_ARTICULO select u).First(); if (exist.NM_CANT_ACTUAL < item.NM_CANTIDAD && art.FLG_INVENTARIABLE == 'S') { throw new Exception("No hay suficientes existencias del " + item.DS_NOMBRE + " para despacharlo"); } INV_DETA_REQ req = (from u in _datasistema.ContextoInventario.INV_DETA_REQ where u.ID == item.ID_DETA_REQ select u).First(); if (item.NM_CANTIDAD > req.NM_CANTIDAD - req.NM_CANT_DESP && item.FLG_DESP != 'S') { throw new Exception("El articulo " + item.DS_NOMBRE + " solo tiene pendiente de despachar " + (req.NM_CANTIDAD - req.NM_CANT_DESP).ToString()); } } foreach (var item in lista_deta) { INV_ARTICULO art = (from u in _datasistema.ContextoInventario.INV_ARTICULO where u.ID == item.ID_ARTICULO select u).First(); if (item.FLG_DESP != 'S') { if (art.FLG_INVENTARIABLE == 'S') { _datasistema.ContextoInventario.PR_INV_PROC_DESPACHO(_datasistema.empresa.ID, p.ID_UBICACION_DESP, p.NM_EJERCICIO, p.NM_PERIODO, item.ID_ARTICULO, item.NM_CANTIDAD, p.ID, p.ID_TIPO_DOCUMENTO, p.CD_SERIE + p.CD_NUMERO.ToString(), ref error, ref msj); } if (error == 0) { INV_DETA_DESP d = (from u in _datasistema.ContextoInventario.INV_DETA_DESP where u.ID == item.ID select u).First(); INV_DETA_REQ r = (from u in _datasistema.ContextoInventario.INV_DETA_REQ where u.ID == item.ID_DETA_REQ select u).First(); d.FLG_DESP = 'S'; r.NM_CANT_DESP = r.NM_CANT_DESP + item.NM_CANTIDAD; _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); _datasistema.ContextoInventario.SubmitChanges(); } else { throw new Exception(msj); } } } if ((from u in _datasistema.ContextoInventario.INV_DETA_DESP where u.ID_DESP == p.ID && u.FLG_DESP != 'S' select u).Count() > 0) { throw new Exception("Despacho parcial: Hay productos que no se despacharon, reintentar"); } p.CD_ESTA_DOCUMENTO = 'A'; _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); _datasistema.ContextoInventario.SubmitChanges(); _datasistema.ContextoInventario.PR_CONT_GENE_CONT_DESP(p.ID, ref error, ref msj); if (error != 0) { throw new Exception(msj); } } return(p); }
public void procesarSalida() { try { if (uigridview.FocusedRowHandle < 0) { return; } _datasistema.conectarInventario(); INV_ENCA_AJUS p = (from u in _datasistema.ContextoInventario.INV_ENCA_AJUS where u.ID == int.Parse(UIID.Text) select u).First(); if (p.CD_ESTA_DOCUMENTO == 'D') { if (MetodosForm.preguntar("¿Quiere efectuar la salida?")) { foreach (var item in lista_deta) { try { INV_ARTICULO art = (from u in _datasistema.ContextoInventario.INV_ARTICULO where u.ID == item.ID_ARTICULO select u).First(); if ((from u in _datasistema.ContextoInventario.INV_EXISTENCIA where u.ID_EMPRESA == _datasistema.empresa.ID && u.NM_EJERCICIO == _datasistema.periodo.NM_EJERCICIO && u.NM_PERIODO == _datasistema.periodo.NM_PERIODO && u.ID_BODEGA == p.ID_UBICACION_BODEGA && u.ID_ARTICULO == item.ID_ARTICULO select u).Count() <= 0 && art.FLG_INVENTARIABLE == 'S') { MetodosForm.mensajeInfo("Revisar", "No hay existencias del " + item.DS_NOMBRE + " para despacharlo", _datasistema); return; } INV_EXISTENCIA exist = (from u in _datasistema.ContextoInventario.INV_EXISTENCIA where u.ID_EMPRESA == _datasistema.empresa.ID && u.NM_EJERCICIO == _datasistema.periodo.NM_EJERCICIO && u.NM_PERIODO == _datasistema.periodo.NM_PERIODO && u.ID_BODEGA == p.ID_UBICACION_BODEGA && u.ID_ARTICULO == item.ID_ARTICULO select u).First(); if (exist.NM_CANT_ACTUAL < item.NM_CANTIDAD && art.FLG_INVENTARIABLE == 'S') { MetodosForm.mensajeInfo("Revisar", "No hay suficiente existencia del " + item.DS_NOMBRE + " para despacharlo", _datasistema); return; } //INV_DETA_AJUS req = (from u in _datasistema.ContextoInventario.INV_DETA_AJUS // where u.ID == item.ID_DETA_AJUS // select u).First(); //if (item.NM_CANTIDAD > req.NM_CANTIDAD - req.NM_CANT_DESP && item.FLG_DESP != 'S') //{ // MetodosForm.mensajeInfo("Revisar", "El articulo " + item.DS_NOMBRE + " solo tiene pendiente de despachar " + (req.NM_CANTIDAD - req.NM_CANT_DESP).ToString(), _datasistema); // return; //} } catch (Exception except) { MetodosForm.mensajeErrorDefault(except.Message, _datasistema); return; } } foreach (var item in lista_deta) { if (item.FLG_PROC != 'S') { INV_ARTICULO art = (from u in _datasistema.ContextoInventario.INV_ARTICULO where u.ID == item.ID_ARTICULO select u).First(); int? error = 0; string msj = string.Empty; if (art.FLG_INVENTARIABLE == 'S') { _datasistema.ContextoInventario.PR_INV_PROC_DESPACHO(_datasistema.empresa.ID, p.ID_UBICACION_BODEGA, p.NM_EJERCICIO, p.NM_PERIODO, item.ID_ARTICULO, item.NM_CANTIDAD, p.ID, p.ID_TIPO_DOCUMENTO, p.CD_SERIE + p.CD_NUMERO.ToString(), ref error, ref msj); } if (error == 0) { INV_DETA_AJUS d = (from u in _datasistema.ContextoInventario.INV_DETA_AJUS where u.ID == item.ID select u).First(); d.FLG_PROC = 'S'; _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); _datasistema.ContextoInventario.SubmitChanges(); } } } if ((from u in _datasistema.ContextoInventario.INV_DETA_AJUS where u.ID_AJUS == p.ID && u.FLG_PROC != 'S' select u).Count() > 0) { MetodosForm.mensajeErrorDefault("Hay productos que no salieron", _datasistema); return; } p.CD_ESTA_DOCUMENTO = 'A'; _datasistema.ContextoInventario.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues); _datasistema.ContextoInventario.SubmitChanges(); consultar(); MetodosForm.seleccionarFila(uigridview, "ID", p.ID); } } } catch (Exception ex) { MetodosForm.mensajeErrorDefault(ex.Message, _datasistema); } }