private void OnDelete(object sender, EventArgs e) { if (View.Model.Record == null) { Util.ShowError("No record selected."); return; } if (UtilWindow.ConfirmOK("Are you sure about delete this kit and all its components?").Value) { try { // 1ero se eliminan los componentes del kit foreach (KitAssemblyFormula kaf in View.LvFormula.Items) { service.DeleteKitAssemblyFormula(kaf); } View.Model.Record.ProductFormula = null; service.DeleteKitAssembly(View.Model.Record); View.StkEdit.Visibility = Visibility.Hidden; View.StkNewKit.Visibility = Visibility.Collapsed; View.Model.EntityList.Remove(View.Model.Record); View.ListRecords.Items.Refresh(); Util.ShowMessage("Record deleted."); } catch (Exception ex) { Util.ShowError(ex.Message); } } }
private void btnStep2_Click(object sender, RoutedEventArgs e) { //string stringMsg = Util.GetConfigOption("General"]["CDKMSG"]; if (UtilWindow.ConfirmOK("Cross Dock is ready to be completed.\nPress OK to confirm process ?.") == true) { ConfirmCrossDock(sender, e); } }
private void btnDelete_Click(object sender, RoutedEventArgs e) { if (((Button)sender).Name == "btnDelete" && !UtilWindow.ConfirmOK("Really wish to delete the Rol and its permits?") == true) { return; } Delete(sender, e); }
private void btnDelete_Click(object sender, RoutedEventArgs e) { if (!UtilWindow.ConfirmOK("Really wish to delete the User and its permits?") == true) { return; } Delete(sender, e); }
private void btnMoveAll_Click(object sender, RoutedEventArgs e) { if (!UtilWindow.ConfirmOK("Really wish to consolidate Bins?") == true) { return; } MoveAll(sender, e); }
private void Btn_Anular_Click(object sender, RoutedEventArgs e) { //Confirmo si desea eliminar el equipo if (!UtilWindow.ConfirmOK("Esta seguro que desea eliminar este equipo del sistema?") == true) { return; } DeleteData(sender, e); }
private void Btn_GuardarPrea_Click_1(object sender, RoutedEventArgs e) { //Confirmo si desea confirmar el proceso if (!UtilWindow.ConfirmOK("Esta seguro de querer procesar estos registros?") == true) { return; } SaveDetailsPrealerta(sender, e); }
private void Btn_Cancelar_Click_1(object sender, RoutedEventArgs e) { //Confirmo si desea confirmar el proceso if (!UtilWindow.ConfirmOK("Esta seguro de querer cancelar la operacion?") == true) { return; } ClearDetails(sender, e); fUpload.IsEnabled = true; }
private void btnRemove_Click(object sender, RoutedEventArgs e) { //remover la linea de la Orden y de GP if (dgDetails.SelectedItem == null) { Util.ShowError("No line selected."); return; } if (UtilWindow.ConfirmOK("Are you sure about remove this line?") == true) { DocumentLine line = dgDetails.SelectedItem as DocumentLine; CancelLine(sender, new DataEventArgs <DocumentLine>(line)); } }
//private void btn_ActualizarListadoEstibaRecibo_Click_1(object sender, RoutedEventArgs e) //{ // ActualizarRegistrosRecibo(sender, e); //} private void Btn_Guardar_Click_1(object sender, RoutedEventArgs e) { //Confirmo si desea confirmar el proceso if (!UtilWindow.ConfirmOK("Esta seguro de querer procesar estos registros?") == true) { return; } //Mostrar ventana de Cargando... ProcessWindow pw = new ProcessWindow("Procesando registros...por favor espere..."); SaveDetails(sender, e); //Cierro ventana de Cargando... pw.Visibility = Visibility.Collapsed; pw.Close(); }
/// <summary> /// Eliminar seriales de la lista. /// Falta poner el metodo! /// OK! /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_Eliminar_Seriales_Click_1(object sender, RoutedEventArgs e) { //Confirmo si desea eliminar el equipo if (!UtilWindow.ConfirmOK("Esta seguro que desea eliminar estos seriales del sistema?") == true) { return; } //Mostrar ventana de Cargando... ProcessWindow pw = new ProcessWindow("Eliminando registros...por favor espere..."); //Metodo. EliminarSeriales(sender, e); pw.Visibility = Visibility.Collapsed; pw.Close(); //Btn_Eliminar_Seriales.IsEnabled = false; }
private void chkRep_Checked_1(object sender, RoutedEventArgs e) { //Confirmo si desea confirmar el proceso if (!UtilWindow.ConfirmOK("Esta seguro de querer replicar estos registros?") == true) { return; } //Mostrar ventana de Cargando... ProcessWindow pw = new ProcessWindow("Replicando registros...por favor espere..."); //Replica la informacion de la primera linea en las demas. ReplicateDetails(sender, e); //Cierro ventana de Cargando... pw.Visibility = Visibility.Visible; pw.Close(); chkRep.IsChecked = false; }
private void Btn_GuardarPrealer_Click_1(object sender, RoutedEventArgs e) { if (GetPreaConsecutivo.Text.Equals("") || GetPreaNro_Pedido.Text.Equals("") || GetPreaOrigen.Text.Equals("") || GetPreaTipo_Origen.Text.Equals("") || GetPreaTipo_Recoleccion.Text.Equals("") || GetPreFecha_Emision.Text.Equals("")) { Util.ShowMessage("Debe completar los campos obligatorios del formulario"); return; } //Confirmo si desea confirmar el proceso if (!UtilWindow.ConfirmOK("Esta seguro de crear una nueva prealerta") == true) { return; } //Mostrar ventana de Cargando... ProcessWindow pw = new ProcessWindow("Procesando registros...por favor espere..."); SavePrealertAll(sender, e); pw.Visibility = Visibility.Collapsed; fUpload_Prealerta.IsEnabled = true; pw.Close(); }
private void btnCreateShipment_Click(object sender, RoutedEventArgs e) { //revisar que no quede producto en ROOT IList <ProductStock> lStock = service.GetLabelStock(rootPackage.PackLabel); if (lStock.Count > 0) { Util.ShowError("The Shipment still has product pending of packing."); return; } IEnumerable <DocumentPackage> listPackages = service.GetDocumentPackage( new DocumentPackage { Document = new Document { DocID = rootPackage.Document.DocID }, Level = 0, PostingDocument = new Document { DocID = -1 }, } ).Where(f => f.Weight == 0 && f.PackageType != "R"); if (listPackages.Count() > 0 && UtilWindow.ConfirmOK("Some Pallet(s)/Boxe(s) in level 1 appears without weight. Wish you continue anyway?") != true) { return; } if (rootPackage.PackLabel != null && rootPackage.PackLabel.LabelID != 0) { IList <WpfFront.WMSBusinessService.Label> lSN = service.GetUniqueTrackLabels( new WpfFront.WMSBusinessService.Label { FatherLabel = rootPackage.PackLabel, LabelType = new DocumentType { DocTypeID = LabelType.UniqueTrackLabel } }); if (lSN.Count > 0) { Util.ShowError("The Shipment still has product pending of packing."); return; } } try { parentPresenter.CreateShipment(); } finally { ((Popup)((Border)((StackPanel)this.Parent).Parent).Parent).IsOpen = false; } }
private void OnSaveDetails(object sender, EventArgs e) { //Validacion si no existen datos para guardar if (View.Model.ListRecords.Rows.Count == 0) { return; } //Variables Auxiliares String ConsultaGuardar = ""; String ConsultaGuardarTrack = ""; Int32 ContadorFilas = 0; Int32 ContadorEquiposOK = 0, ContadorEquiposNOK = 0; try { if (!UtilWindow.ConfirmOK("¿Desea imprimir las etiquetas de los equipos ahora?") == false) { // Se solicita al usuario seleccionar una impresora System.Windows.Forms.PrintDialog pd = new System.Windows.Forms.PrintDialog(); pd.PrinterSettings = new PrinterSettings(); if (System.Windows.Forms.DialogResult.OK == pd.ShowDialog()) { ProcessWindow pw = new ProcessWindow("Procesando registros...por favor espere..."); foreach (DataRow DataRow in View.Model.ListRecords.Rows) { //Aumento el contador de filas ContadorFilas++; //Construyo la consulta para guardar los datos ConsultaGuardar += " UPDATE dbo.EquiposCLARO SET Ubicacion = 'VERIFICACION', Estado = 'P-VERIFICACION'"; ConsultaGuardar += ", REUSO = '" + DataRow["Reuso"].ToString() + "', OBSERVACIONES_ETIQUETADO = '" + DataRow["Observaciones_Etiquetado"].ToString() + "'"; ConsultaGuardar += " WHERE RowID = '" + DataRow["RowID"].ToString() + "';"; ConsultaGuardarTrack += "UPDATE dbo.TrackEquiposCLARO SET ESTADO_ETIQUETADO = 'VERIFICACION', FECHA_ETIQUETADO = GETDATE() WHERE ID_SERIAL = '" + DataRow["RowID"].ToString() + "';"; //Guardo en la tabla de movimientos el cambio de ubicacion del equipo ConsultaGuardar += "EXEC sp_InsertarNuevo_Movimiento 'ETIQUETADO DE EQUIPO','ETIQUETADO','VERIFICACION','Sin pallet','" + DataRow["RowID"].ToString() + "','ETIQUETADO','UBICACIONPRODUCCION','" + this.user + "','';"; String archivo = DataRow["ProductoID"].ToString(); archivo = archivo.Replace("/", ""); try { PrinterControl.EtiquetadoEquipo(DataRow["Serial"].ToString(), DataRow["Mac"].ToString(), archivo, pd.PrinterSettings.PrinterName); ContadorEquiposOK++; } catch (Exception ex) { ContadorEquiposNOK++; } } pw.Visibility = Visibility.Collapsed; pw.Close(); } } else { foreach (DataRow DataRow in View.Model.ListRecords.Rows) { //Aumento el contador de filas ContadorFilas++; //Construyo la consulta para guardar los datos ConsultaGuardar += " UPDATE dbo.EquiposCLARO SET Ubicacion = 'VERIFICACION', Estado = 'P-VERIFICACION'"; ConsultaGuardar += ", REUSO = '" + DataRow["Reuso"].ToString() + "', OBSERVACIONES_ETIQUETADO = '" + DataRow["Observaciones_Etiquetado"].ToString() + "'"; ConsultaGuardar += " WHERE RowID = '" + DataRow["RowID"].ToString() + "';"; //Guardo en la tabla de movimientos el cambio de ubicacion del equipo ConsultaGuardar += "EXEC sp_InsertarNuevo_Movimiento 'ETIQUETADO DE EQUIPO','ETIQUETADO','VERIFICACION','Sin pallet','" + DataRow["RowID"].ToString() + "','ETIQUETADO','UBICACIONPRODUCCION','" + this.user + "','';"; Console.WriteLine("###### " + ConsultaGuardar); ConsultaGuardarTrack += "UPDATE dbo.TrackEquiposCLARO SET ESTADO_ETIQUETADO = 'ETIQUETADO', FECHA_ETIQUETADO = GETDATE() WHERE ID_SERIAL = '" + DataRow["RowID"].ToString() + "'"; } } //Evaluo si la consulta no envio los ultimos registros para forzar a enviarlos if (!String.IsNullOrEmpty(ConsultaGuardar)) { //Ejecuto la consulta service.DirectSQLNonQuery(ConsultaGuardar, Local); service.DirectSQLNonQuery(ConsultaGuardarTrack, Local); //Limpio la consulta para volver a generar la nueva ConsultaGuardar = ""; ConsultaGuardarTrack = ""; } if (ContadorEquiposOK > 0) { if (ContadorEquiposNOK > 0) { Util.ShowMessage("\t\t Se encontrarón etiquetas de " + ContadorEquiposOK + " equipos.\n Número de etiquetas no encontradas " + ContadorEquiposNOK + ", Registros guardados satisfactoriamente"); } else { Util.ShowMessage(" Número de etiquetas impresas " + ContadorEquiposOK + ",\nRegistros guardados satisfactoriamente"); } } else if (ContadorEquiposNOK > 0) { Util.ShowMessage("Etiquetas no encontradas, número de etiquetas no encontradas " + ContadorEquiposNOK + ",\n\t Registros guardados satisfactoriamente"); } else { //Muestro el mensaje de confirmacion Util.ShowMessage("Registros guardados satisfactoriamente."); } //Reinicio los campos LimpiarDatosIngresoSeriales(); } catch (Exception Ex) { Util.ShowError("Hubo un error al momento de guardar los registros. Error: " + Ex.Message); } }
private void OnGuardarNuevaClasificacion(object sender, EventArgs e) { //Variables Auxiliares String ConsultaSQL, NuevaUbicacion, NuevoEstado, ConsultaTrack, ConsultaMovSQL; //Evaluo que haya sido seleccionado un registro if (View.ListadoBusquedaCambioClasificacion.SelectedItems.Count == 0) { return; } //Evaluo que haya seleccionado la nueva clasificacion if (View.NuevaClasificacion.SelectedIndex == -1) { Util.ShowError("Por favor seleccionar la nueva clasificacion."); return; } if (!UtilWindow.ConfirmOK("¿Esta seguro que quiere cambiar la ubicación de los pallets seleccionados?") == true) { return; } //Coloco la ubicacion NuevaUbicacion = ((DataRowView)View.NuevaClasificacion.SelectedItem).Row["UbicacionDestino"].ToString(); foreach (DataRowView fila in View.ListadoBusquedaCambioClasificacion.SelectedItems) { if (NuevaUbicacion == "TRANSITO A REP.") { NuevoEstado = "PARA REPARACION"; if (fila.Row["Estado"].ToString() == "CUARENTENA") { Util.ShowError("No es posible enviar pallet en CUARENTENA para REPARACION"); return; } else { //Creo la consulta la cambiar la clasificacion de la estiba ConsultaSQL = "UPDATE dbo.EquiposDIRECTVC SET Estado = '" + NuevoEstado + "', Ubicacion = '" + NuevaUbicacion + "', Posicion = NULL, CodigoEmpaque = '" + fila.Row["idPallet"].ToString() + "' WHERE IdPallet = '" + fila.Row["idPallet"].ToString() + "' AND ESTADO = 'ALMACENAMIENTO' AND ESTADO != 'DESPACHADO';"; ConsultaTrack = "UPDATE dbo.TrackEquiposDIRECTV SET ESTADO_MOVMERCANCIA = '" + NuevoEstado + "' WHERE ESTIBA_ENTRADA = '" + fila.Row["idPallet"].ToString() + "';"; //Guardo en la tabla de movimientos el cambio de ubicacion del equipo ConsultaMovSQL = "EXEC sp_InsertarNuevo_MovimientoDIRECTV 'ENVIO A PRODUCCIÓN " + NuevoEstado + "','ALMACENAMIENTO','REPARACIÓN','" + fila.Row["idPallet"].ToString() + "','','ALMACENAMIENTO','UBICACIONALMACEN','" + this.user + "','';"; //Ejecuto la consulta service.DirectSQLNonQuery(ConsultaSQL, Local); service.DirectSQLNonQuery(ConsultaTrack, Local); service.DirectSQLNonQuery(ConsultaMovSQL, Local); } } else if (NuevaUbicacion == "TRANSITO A DIAG.") { NuevoEstado = "PARA DIAGNOSTICO"; if (fila.Row["Estado"].ToString() == "CUARENTENA") { Util.ShowError("No es posible enviar pallet en CUARENTENA para DIAGNOSTICO"); return; } else { //Creo la consulta la cambiar la clasificacion de la estiba ConsultaSQL = "UPDATE dbo.EquiposDIRECTVC SET Estado = '" + NuevoEstado + "', Ubicacion = '" + NuevaUbicacion + "' WHERE IdPallet = '" + fila.Row["idPallet"].ToString() + "' AND ESTADO = 'ALMACENAMIENTO' AND ESTADO != 'DESPACHADO';"; ConsultaTrack = "UPDATE dbo.TrackEquiposDIRECTV SET ESTADO_MOVMERCANCIA = '" + NuevoEstado + "' WHERE ESTIBA_ENTRADA = '" + fila.Row["idPallet"].ToString() + "';"; ConsultaMovSQL = "EXEC sp_InsertarNuevo_MovimientoDIRECTV 'ENVIO A PRODUCCIÓN " + NuevoEstado + "','ALMACENAMIENTO','DIAGNOSTICO','" + fila.Row["idPallet"].ToString() + "','','ALMACENAMIENTO','UBICACIONALMACEN','" + this.user + "','';"; //Ejecuto la consulta service.DirectSQLNonQuery(ConsultaSQL, Local); service.DirectSQLNonQuery(ConsultaTrack, Local); service.DirectSQLNonQuery(ConsultaMovSQL, Local); } } else { NuevoEstado = "DESPACHO"; if (fila.Row["Estado"].ToString() == "CUARENTENA") { Util.ShowError("No es posible enviar pallet en CUARENTENA para DESPACHO"); return; } else { //Creo la consulta la cambiar la clasificacion de la estiba ConsultaSQL = "UPDATE dbo.equiposDIRECTVC SET CodigoEmpaque2 = IdPallet, Estado = '" + NuevoEstado + "', Ubicacion = '" + NuevaUbicacion + "' WHERE IdPallet = '" + fila.Row["idPallet"].ToString() + "' AND ESTADO = 'ALMACENAMIENTO' AND ESTADO != 'DESPACHADO';"; //Guardo en la tabla de movimientos el cambio de ubicacion del equipo ConsultaMovSQL = "EXEC sp_InsertarNuevo_MovimientoDIRECTV 'ENVIO A " + NuevoEstado + "','ALMACENAMIENTO','DESPACHO','" + fila.Row["idPallet"].ToString() + "','','ALMACENAMIENTO','UBICACIONALMACEN','" + this.user + "','';"; ConsultaTrack = "UPDATE dbo.TrackEquiposDIRECTV SET ESTADO_MOVMERCANCIA = '" + NuevoEstado + "' WHERE ESTIBA_ENTRADA = '" + fila.Row["idPallet"].ToString() + "';"; //Ejecuto la consulta service.DirectSQLNonQuery(ConsultaSQL, Local); service.DirectSQLNonQuery(ConsultaMovSQL, Local); service.DirectSQLNonQuery(ConsultaTrack, Local); } } } //Muestro el mensaje de confirmacion Util.ShowMessage("Cambio de clasificacion realizado satisfactoriamente."); ////Ejecuto la consulta //service.DirectSQLNonQuery(ConsultaSQL, Local); ////Muestro el mensaje de confirmacion //Util.ShowMessage("Cambio de clasificacion realizado satisfactoriamente."); //Hago la busqueda de registros para actualizar el listado BuscarRegistrosCambioClasificacion(); //Oculto el bloque de actualizacion View.StackCambioClasificacion.Visibility = Visibility.Collapsed; //Quito la selecion de la nueva ubicacion View.NuevaClasificacion.SelectedIndex = -1; Actualizar_UbicacionDisponible(); //Quito la seleccion del listado View.ListadoBusquedaCambioClasificacion.SelectedIndex = -1; View.Model.Listado_PalletSerial.Rows.Clear(); View.TotalSeriales.Text = "0"; View.estibasSeleccionadas.Text = "0"; }
private void Ribbon_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (((Ribbon)sender).SelectedItem == null) { return; } module = ((RibbonTabItem)((Ribbon)sender).SelectedItem).Name.ToString(); mRibbon.Height = 140; //Check for location y company only First time. if (!loaded && cboLocation.SelectedItem == null) { try { for (int i = 0; i <= cboLocation.Items.Count; i++) { if (((Location)cboLocation.Items[i]).LocationID == App.curLocation.LocationID) { cboLocation.SelectedIndex = i; break; } } for (int i = 0; i <= cboCompany.Items.Count; i++) { if (((Company)cboCompany.Items[i]).CompanyID == App.curCompany.CompanyID) { cboCompany.SelectedIndex = i; break; } } loaded = true; ((ShellPresenterModel)this.DataContext).UserInfo = "Company: " + App.curCompany.Name + " | User: "******" | Version: " + App.curVersion; cboEntity.SelectedIndex = 0; } catch { } } if (mRibbon.SelectedIndex == 0) { return; } if (module == "tbExit") { if (UtilWindow.ConfirmOK("Esta seguro de cerrar LogPro Express?") == true) { this.Close(); } return; } if (module == "tbReports" && !App.showingReports) { System.Diagnostics.Process.Start("http://sql-general/Reports/Pages/Folder.aspx"); //App.showingReports = true; //ShowReports(sender, e); //mRibbon.SelectedIndex = 0; return; } App.showingReports = false; }
void View_SendAdjustment(object sender, EventArgs e) { // CAA [2010/06/04] // Opc. para enviar el producto a un Bin (y validar opc. para enviar al ERP) /* * 0 <ComboBoxItem x:Uid="ComboBoxItem_1" Content="Send Adjustment to WMS and ERP"/> * 1 <ComboBoxItem x:Uid="ComboBoxItem_2" Content="Send Adjustment only to WMS"/> * 2 <ComboBoxItem x:Uid="ComboBoxItem_3" Content="Send Product back to bin"/> */ if (View.CboSendOptions.SelectedIndex == -1) { Util.ShowError("Select an Adjustment option"); return; } if (!UtilWindow.ConfirmOK("You have selected this option:\n\n" + View.CboSendOptions.SelectionBoxItem.ToString() + "\nClick OK to continue.").Value) { return; } //Counting Task Confirmation try { IEnumerable <ProductStock> list = View.Model.NoCountSummary.Where(f => f.Mark == true); if (list == null || list.Count() == 0) // && !View.Model.NoCountSummary.Any(f => f.Mark == true)) { //pw.Close(); Util.ShowError("No records to confirm."); return; } bool erp = false; if (View.CboSendOptions.SelectedIndex == 0) // sent adjustment to ERP { // valida si tiene conex. habilitada. erp = true; if (string.IsNullOrEmpty(Util.GetConfigOption("WITHERPIN")) || !Util.GetConfigOption("WITHERPIN").Equals("T")) { Util.ShowError("ERP Connection does not exist."); return; } } ProcessWindow pw = new ProcessWindow("Sending NOCOUNT Adjustment ..."); string result = ""; if (View.CboSendOptions.SelectedIndex == 0 || View.CboSendOptions.SelectedIndex == 1) { Document adjNocount = service.ProcessNoCount(list.ToList(), App.curUser.UserName, erp); result = "NOCOUNT Adjusment # " + adjNocount.DocNumber + " was created."; } else if (View.CboSendOptions.SelectedIndex == 2) // adjustment to BIN { service.ProcessNoCountToBin(list.ToList(), App.curUser.UserName, App.curLocation, View.BinRestock.Bin); result = "NOCOUNT Process done."; } LoadNoCountBalance(); pw.Close(); Util.ShowMessage(result); } catch (Exception ex) { pw.Close(); Util.ShowError("Sending NOCOUNT Adjustment.\n" + ex.Message); } }
private void OnAddManualTrackToList(object sender, EventArgs e) { //Check If Qty is Valid int qty; if (!int.TryParse(View.TxtQtyTrack.Text, out qty) || int.Parse(View.TxtQtyTrack.Text) <= 0) { Util.ShowError("Please enter a valid quantity."); return; } //Check remaining Qty if (View.Model.RemainingQty == 0) { Util.ShowError("Package is full, qty remaining is zero."); return; } //Check remaining Qty if (qty > View.Model.RemainingQty) { Util.ShowError("Qty Remaining is " + View.Model.RemainingQty.ToString() + " please fix."); return; } ProcessWindow("Updating Tracking Options ...", false); TrackOption trackName = null; string curTrackVal = ""; //Revisa que hayan datos de track ingresados y sean validos foreach (ProductTrackRelation trackRel in View.Model.TrackData) { if (string.IsNullOrEmpty(trackRel.TempValue) && trackRel.IsUnique != true) { pw.Close(); Util.ShowError("Please enter valid track information for " + trackRel.TrackOption.DisplayName); return; } else if (string.IsNullOrEmpty(trackRel.TempValue)) { pw.Close(); if (!UtilWindow.ConfirmOK("Wish to enter a blank " + trackRel.TrackOption.DisplayName) == true) { return; } trackRel.TempValue = WmsSetupValues.AutoSerialNumber; } //VALIDACION DEL TRACK LABEL CUANDO ES UNICO //Si en un unique data like a serial debe validar que no sea un dato existente en la DB //ni en los ingresado en la lista actual. if (trackRel.IsUnique == true) { if (trackRel.TempValue != WmsSetupValues.AutoSerialNumber) { //Chequea hay labels con esa relacion int existsInTrack = service.GetLabelTrackOption(new LabelTrackOption { TrackValue = trackRel.TempValue.Trim(), TrackOption = trackRel.TrackOption, Label = new Label { Product = new Product { ProductID = View.Model.Product.ProductID }, Status = App.EntityStatusList.Where(f => f.StatusID == EntityStatus.Active).First() } }).Count; //Chequea hay labels con ese barcode para el mismo producto int existsInLabel = service.GetLabel(new Label { LabelCode = trackRel.TempValue.Trim(), Product = new Product { ProductID = View.Model.Product.ProductID }, Status = App.EntityStatusList.Where(f => f.StatusID == EntityStatus.Active).First() }).Count; //Mensaje para receiving - valida que no exista ya el label en el sistema if ((existsInTrack > 0 || existsInLabel > 0) && View.Model.TrackType == 0) { pw.Close(); Util.ShowError("Product with the " + trackRel.TrackOption.DisplayName + " " + trackRel.TempValue + " already exists."); return; } trackName = trackRel.TrackOption; //version 14 abril 2009, trackOption del label en otra tabla foreach (Label trLabel in View.Model.ManualTrackList) { try { curTrackVal = trLabel.TrackOptions.Where(f => f.TrackOption.RowID == trackName.RowID).First().TrackValue; if (curTrackVal.Trim().Equals(trackRel.TempValue.Trim())) { pw.Close(); Util.ShowError("Product with the " + trackRel.TrackOption.DisplayName + " " + trackRel.TempValue + " was already added."); return; } } catch { } } } //Crea el Label Unico if (!CreateUniqueTrackLabel(trackRel.TempValue)) { //Limpiando los Values for (int i = 0; i < View.Model.TrackData.Count; i++) { View.Model.TrackData[i].TempValue = ""; } return; } trackRel.TempValue = ""; } } //Proceso de Creacion o actualizacion de label segun sea el caso. //Para receiving bool processOk = true; if (View.Model.MaxTrackQty != 1) //(View.Model.TrackType == 0) { UpdateReceivingManualTrackList(qty); } //Proceso final if (processOk) { View.ManualTrackList.Items.Refresh(); View.Model.RemainingQty -= qty; //Ajustando las cantidades if (View.Model.MaxTrackQty == 1) { View.TxtQtyTrack.Text = View.Model.MaxTrackQty.ToString(); } else { View.TxtQtyTrack.Text = View.Model.RemainingQty.ToString(); } if (View.Model.RemainingQty <= 0) { View.BtnAddTrack.IsEnabled = false; } } //Limpiando los Values for (int i = 0; i < View.Model.TrackData.Count; i++) { View.Model.TrackData[i].TempValue = ""; } //Pone el Focus en el elemento del Grid para entrar el siguiente dato pw.Close(); //View.LvTrackProduct.Focus(); }