public bool CheckForDuplicateNames <T>(IEnumerable <T> items, Func <T, string> nameExtractor, string whatItemsAre) { var grouped = from v in items group v by nameExtractor(v).ToLowerInvariant() into lowerCaseGrouped where lowerCaseGrouped.Count() > 1 select Tuple.Create(lowerCaseGrouped.Key, lowerCaseGrouped.Count()); var any = false; foreach (var duplicate in grouped) { any = true; ErrorCache.AddError($"There are {duplicate.Item2} {whatItemsAre} with name '{duplicate.Item1}'"); } return(any); }
public void CheckNumber(string value, string FieldName) { int number; if (!string.IsNullOrWhiteSpace(value)) { if (!int.TryParse(value, out number)) { messageCollection.addMessage(new Message() { Context = "ValidationHandler", ErrorCode = ErrorCache.NumberError, ErrorMessage = FieldName + ErrorCache.getErrorMessage(ErrorCache.NumberError), isError = true, LogType = Enums.LogType.Exception }); } } }
public override void DoFillGridAction() { SQLHandler sql = new SQLHandler(); dt = sql.ExecuteSqlReterieve(SqlCache.GetSql("GetMedicines")); MessageCollection.copyFrom(sql.Messages); if (dt == null || dt.Rows.Count <= 0) { MessageCollection.addMessage(new Message() { Context = "MedicineHandler", ErrorCode = ErrorCache.RecordsNotFound, ErrorMessage = ErrorCache.getErrorMessage(ErrorCache.RecordsNotFound), isError = true, LogType = Enums.LogType.Exception, WebPage = "Medicine" }); } }
public bool ValidatePackageToLoad(Package package) { if (this.package != null) { throw new InvalidOperationException("This loader already has a package."); } // Store details of the package this.package = package; // Check for any reserved package names (etc.) if (package.Id.StartsWith(Constants.PackageId)) { ErrorCache.AddError($"Package can't start with the reserved name {Constants.PackageManagerIdentity}"); } // Check the variables and load them CheckForDuplicateNames(package.Variables, v => v.Name, "Variables"); foreach (var variable in package.Variables) { variable.PackageId = package.Id; Scope.Store(variable); } // Check the datasets and load them CheckForDuplicateNames(package.DataSets, d => d.Name, "Datasets"); var validator = new DataSetApiValidator { PackageId = package.Id, Scope = Scope, ErrorCache = ErrorCache }; foreach (var dataSet in package.DataSets) { Jobs.AddRange(validator.DetermineJobs(dataSet)); } return(ErrorCache.Count == 0); }
public int RetrieveMSSQLIdValue() { int i = -1; Cm.CommandText = "select @@identity as id"; if (data != null) { try { data.Close(); data = null; } catch {} } try { data = Cm.ExecuteReader(); if (data.HasRows) { data.Read(); i = System.Convert.ToInt32(data[0].ToString()); } } catch (Exception e) { this.Messages.Items.Add(new Message(MessageTypeCache.Error, ErrorCache.UnableToExecuteSQL, Prefix + ".RunSQLRetrieve: " + ErrorCache.GetDescription(ErrorCache.UnableToExecuteSQL) + "; Reason: " + e.Message, e.StackTrace, 1)); } finally { data.Close(); data = null; } Cm.CommandText = ""; return(i); }
/// <summary> /// Run an SQL statement that does provide a return resultset /// </summary> /// <param name="sql"></param> public object RunSQLScalar(String sql) { Cm.CommandText = sql; this.Messages.Items.Add(new Message(MessageTypeCache.Message, ErrorCache.NoErrorsOccured, "Sql : " + sql, null)); object obj = null; try { obj = Cm.ExecuteScalar(); } catch (Exception e) { this.Messages.Items.Add(new Message(MessageTypeCache.Error, ErrorCache.UnableToExecuteSQL, Prefix + ".RunSQLScalar: " + ErrorCache.GetDescription(ErrorCache.UnableToExecuteSQL) + "; Reason: " + e.Message, e.StackTrace, 1)); } Cm.CommandText = ""; return(obj); }
public override void DoFillBackPanelAction(int ID) { SQLHandler sql = new SQLHandler(new ArrayList() { ID }); dt = sql.ExecuteSqlReterieve(SqlCache.GetSql("GetUser")); MessageCollection.copyFrom(sql.Messages); if (dt == null || dt.Rows.Count <= 0) { MessageCollection.addMessage(new Message() { Context = "UsersHandler", ErrorCode = ErrorCache.RecordsNotFound, ErrorMessage = ErrorCache.getErrorMessage(ErrorCache.RecordsNotFound), isError = true, LogType = Enums.LogType.Exception, WebPage = "Users" }); } }
public DataTable GetMedicine(PharmacyInventoryModel model) { SQLHandler sql = new SQLHandler(new ArrayList() { model.PharmacyID, model.MedicineID }); dt = sql.ExecuteSqlReterieve(SqlCache.GetSql("GetPOSMedicine")); MessageCollection.copyFrom(sql.Messages); if (dt == null || dt.Rows.Count <= 0) { MessageCollection.addMessage(new Message() { Context = "PharmacyPOSHandler", ErrorCode = ErrorCache.RecordsNotFound, ErrorMessage = ErrorCache.getErrorMessage(ErrorCache.RecordsNotFound), isError = true, LogType = Enums.LogType.Exception, WebPage = "PharmacyPOS" }); } return(dt); }
protected void txt_qrcode_TextChanged(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(txt_qrcode.Text)) { var model = MapModelForQRCode(); PharmacyPOSHandler handler = new PharmacyPOSHandler(); var dt = handler.GetMedicine(model); MessageCollection.copyFrom(handler.MessageCollection); if (!MessageCollection.isErrorOccured) { if (ViewState != null && ViewState[Enums.SessionName.POSdetail.ToString()] != null && ViewState[Enums.SessionName.MedicineDetail.ToString()] != null) { DataRow ValueRow = dt.Rows[0]; string qrCode = ValueRow["QRCode"].ToString(); medQuantity = (Dictionary <string, int>)ViewState[Enums.SessionName.MedicineDetail.ToString()]; if (medQuantity.ContainsKey(qrCode)) { if (medQuantity[qrCode] == 0) { MessageCollection.addMessage(new Message() { Context = "PharmacyPOS", LogType = Enums.LogType.Exception, WebPage = "PharmacyPOS", isError = true, ErrorCode = ErrorCache.NoQuantityLeftError, ErrorMessage = ErrorCache.getErrorMessage(ErrorCache.NoQuantityLeftError) }); MessageCollection.PublishLog(); lbl_err.Text = MessageCollection.Messages[MessageCollection.Messages.Count - 1].ErrorMessage; lbl_err.Visible = true; } else { medQuantity[qrCode] = medQuantity[qrCode] - 1; } } else { medQuantity.Add(qrCode, Convert.ToInt32(ValueRow["Quantity"]) - 1); } if (!MessageCollection.isErrorOccured) { DataTable POSdt = (DataTable)ViewState[Enums.SessionName.POSdetail.ToString()]; DataRow dr = POSdt.NewRow(); dr["ID"] = ValueRow["ID"]; dr["Name"] = ValueRow["Name"]; dr["BatchNo"] = ValueRow["BatchNo"]; dr["ExpiryDate"] = ValueRow["ExpiryDate"]; dr["MfgDate"] = ValueRow["MfgDate"]; dr["Price"] = ValueRow["Price"]; dr["QRCode"] = ValueRow["QRCode"]; POSdt.Rows.Add(dr); gridView.DataSource = POSdt; gridView.DataBind(); CalculateSum(POSdt); } } else { if (Convert.ToInt32(dt.Rows[0]["quantity"]) != 0) { ViewState[Enums.SessionName.POSdetail.ToString()] = dt; medQuantity.Add(dt.Rows[0]["qrcode"].ToString(), Convert.ToInt32(dt.Rows[0]["quantity"]) - 1); ViewState[Enums.SessionName.MedicineDetail.ToString()] = medQuantity; gridView.DataSource = dt; gridView.DataBind(); CalculateSum(dt); } else { MessageCollection.addMessage(new Message() { Context = "PharmacyPOS", LogType = Enums.LogType.Exception, WebPage = "PharmacyPOS", isError = true, ErrorCode = ErrorCache.NoQuantityLeftError, ErrorMessage = ErrorCache.getErrorMessage(ErrorCache.NoQuantityLeftError) }); MessageCollection.PublishLog(); lbl_err.Text = MessageCollection.Messages[MessageCollection.Messages.Count - 1].ErrorMessage; lbl_err.Visible = true; } } } } txt_qrcode.Text = ""; txt_qrcode.Focus(); }
public void TearDown() { _cache = null; }
public void Setup() { _cache = new ErrorCache(); }