public int GetSerialsFromPartDest(string operatorCode, string destination, string part, decimal quantity) { var dt = new ObjectParameter("TranDT", typeof(DateTime)); var result = new ObjectParameter("Result", typeof(int)); try { using (var context = new MONITOREntities()) { context.usp_CreateRma_GetSerialsFromPartDest(operatorCode, destination, part, quantity, dt, result); var query = from s in context.SerialsQuantitiesToAutoRMA_RTV select s; foreach (var item in query) { _serialQuantityDataModel = new SerialQuantityDataModel { Serial = item.Serial, Quantity = Math.Round(item.Quantity, 2) }; SerialsList.Add(_serialQuantityDataModel); } } } catch (Exception ex) { string error = (ex.InnerException == null) ? ex.Message : ex.InnerException.Message; _messages.Message = String.Format("Failed to create serials for part {0}. Error: {1}", part, error); _messages.ShowDialog(); return(0); } return(1); }
public int ImportDataFromSpreadsheet() { SerialsList.Clear(); try { var format = DataFormats.CommaSeparatedValue; // Read the CSV var dataObject = Clipboard.GetDataObject(); Debug.Assert(dataObject != null, "dataObject != null"); var stream = (Stream)dataObject.GetData(format); if (stream == null) { _messages.Message = "Please copy spreadsheet data."; _messages.ShowDialog(); return(0); } var encoding = new UTF8Encoding(); var reader = new StreamReader(stream, encoding); string data = reader.ReadToEnd(); var rows = data.Split('\r'); // Loop through spreadsheet rows foreach (var rowRaw in rows) { var row = rowRaw.Replace("\n", ""); if (row == "\0") { break; } string serial = row.Split(',')[0]; string quantity = row.Split(',')[1]; int iSerial = Convert.ToInt32(serial); int iQuantity = Convert.ToInt32(quantity); _serialQuantityDataModel = new SerialQuantityDataModel { Serial = iSerial, Quantity = iQuantity }; SerialsList.Add(_serialQuantityDataModel); } } catch (Exception ex) { string error = (ex.InnerException == null) ? ex.Message : ex.InnerException.Message; _messages.Message = String.Format("Error at ImportDataFromSpreadsheet: {0} Make sure each serial has a quantity.", error); _messages.ShowDialog(); return(0); } return(1); }
public void GetSerialsFromPartDest(string operatorCode, string destination, string part, decimal quantity, out string error) { var dt = new ObjectParameter("TranDT", typeof(DateTime)); var result = new ObjectParameter("Result", typeof(int)); error = ""; try { using (var context = new MONITOREntities()) { context.usp_CreateRma_GetSerialsFromPartDest(operatorCode, destination, part, quantity, dt, result); var query = from s in context.SerialsQuantitiesToAutoRMA_RTV where s.OperatorCode == operatorCode select s; foreach (var item in query) { _serialQuantityDataModel = new SerialQuantityDataModel { Serial = item.Serial, Quantity = Math.Round(item.Quantity, 2) }; // Querying the SerialsQuantitiesToAutoRMA_RTV table every time will duplicate List items, // so only add an item if it isn't already in the List. if (!SerialsList.Any(x => x.Serial == item.Serial)) { SerialsList.Add(_serialQuantityDataModel); } } } } catch (Exception ex) { string errorMsg = (ex.InnerException == null) ? ex.Message : ex.InnerException.Message; error = String.Format("Failed to create serials for part {0}. Error: {1}", part, errorMsg); } }
private int GetSerialsList() { _serialQuantityList.Clear(); bool serialEntered = false; foreach (DataGridViewRow dr in dgvSerialsQuantities.Rows) { if (!serialEntered) { if ((dr.Cells[0].Value == null || dr.Cells[0].Value.ToString() == "")) { Cursor.Current = Cursors.Default; _messages.Message = "At least one serial and quantity must be entered."; _messages.ShowDialog(); return(0); } serialEntered = true; } if (dr.Cells[0].Value == null) { break; // We have serials, and the end of the entered serials has been reached } string serial = dr.Cells[0].Value.ToString(); string quantity = (dr.Cells[1].Value != null) ? dr.Cells[1].Value.ToString() : ""; if (quantity == "") { Cursor.Current = Cursors.Default; _messages.Message = string.Format("A quantity needs to be entered for serial {0}.", serial); _messages.ShowDialog(); return(0); } int ser; try { ser = Convert.ToInt32(serial); } catch (Exception) { Cursor.Current = Cursors.Default; _messages.Message = string.Format("Invalid serial number found: {0}.", serial); _messages.ShowDialog(); return(0); } // Check for duplicates if (_serialQuantityList.Exists(x => x.Serial == ser)) { continue; } decimal qty; try { qty = Convert.ToInt32(quantity); } catch (Exception) { Cursor.Current = Cursors.Default; _messages.Message = string.Format("Invalid quantity found for serial {0}.", serial); _messages.ShowDialog(); return(0); } // Create list to process and send forward _serialQuantityDataModel = new SerialQuantityDataModel { Quantity = qty, Serial = ser }; _serialQuantityList.Add(_serialQuantityDataModel); } return(1); }