public bool UpdateUserPermissions(string name, bool receivingForm, bool shippingForm, bool customersForm, bool itmesForm, bool productionForm, bool costingReports, bool productionReports, bool advancedTabs, bool financialTabs) { SPG.SecurityDataTable permissions = Adapter.GetSecuritySettingsByUserName(name); if (permissions.Count() == 0) { //It is a new Product return(InsertUserPermissions(name, receivingForm, shippingForm, customersForm, itmesForm, productionForm, costingReports, productionReports, advancedTabs, financialTabs)); } SPG.SecurityRow userPermissions = permissions[0]; object[] originalRecord = userPermissions.ItemArray; userPermissions.ReceivingForm = receivingForm; userPermissions.ShippingForm = shippingForm; userPermissions.CustomersForm = customersForm; userPermissions.ItemsForm = itmesForm; userPermissions.ProductionForm = productionForm; userPermissions.CostingReport = costingReports; userPermissions.ProductionReport = productionReports; userPermissions.AdvancedTabs = advancedTabs; userPermissions.FinancialTabs = financialTabs; if (!(originalRecord == null)) { UpdateAuditTrail(userPermissions, originalRecord); } int rowsAffected = Adapter.Update(userPermissions); return(rowsAffected == 1); }
public bool DeleteUserPermissions(string name) { SPG.SecurityDataTable permissions = Adapter.GetSecuritySettingsByUserName(name); int rowsAffected = 0; if (permissions.Count() == 1) { SPG.SecurityRow userPermissions = (SPG.SecurityRow)permissions.Rows[0]; rowsAffected = Adapter.Delete(name, userPermissions.ts); } //Return true if precisely one row was deleted, otherwise return false. return(rowsAffected == 1); }
public bool InsertUserPermissions(string name, bool receivingForm, bool shippingForm, bool customersForm, bool itmesForm, bool productionForm, bool costingReports, bool productionReports, bool advancedTabs, bool financialTabs) { SPG.SecurityDataTable permissions = new SPG.SecurityDataTable(); SPG.SecurityRow userPermissions = permissions.NewSecurityRow(); userPermissions.strUser = name; userPermissions.ReceivingForm = receivingForm; userPermissions.ShippingForm = shippingForm; userPermissions.CustomersForm = customersForm; userPermissions.ItemsForm = itmesForm; userPermissions.ProductionForm = productionForm; userPermissions.CostingReport = costingReports; userPermissions.ProductionReport = productionReports; userPermissions.AdvancedTabs = advancedTabs; userPermissions.FinancialTabs = financialTabs; permissions.AddSecurityRow(userPermissions); int rowsAffected = Adapter.Update(permissions); return(rowsAffected == 1); }
private void UpdateAuditTrail(SPG.SecurityRow ModifiedRecord, object[] originalRecord) { StringBuilder builder = new StringBuilder(string.Empty); int recordFields = (ModifiedRecord.ItemArray.Length - 1); int i = 0; while (i <= recordFields) { try { if (Convert.IsDBNull(originalRecord[i])) { if (!Convert.IsDBNull(ModifiedRecord[i])) { builder.Append(string.Format("{0}:{1}({2}); ", ModifiedRecord.Table.Columns[i].ColumnName, "NULL", ModifiedRecord[i])); } } else if (Convert.IsDBNull(ModifiedRecord[i])) { if (!Convert.IsDBNull(originalRecord[i])) { builder.Append(string.Format("{0}:{1}({2}); ", ModifiedRecord.Table.Columns[i].ColumnName, originalRecord[i], "NULL")); } } else if (ModifiedRecord[i] != originalRecord[i]) { builder.Append(string.Format("{0}:{1}({2}); ", ModifiedRecord.Table.Columns[i].ColumnName, originalRecord[i], ModifiedRecord[i])); } } catch { } i += 1; } if (builder.Length > 2) { builder.Length = (builder.Length - 2); AuditTrailBLL.AddTrailEntry(Properties.Settings.Default.UserName, Convert.ToInt32(ModifiedRecord[0]), "Security", builder.ToString()); } }