private static void setTo(SynapseInterface Int) { ReportOrigin _reportOrigin = new ReportOrigin(); _reportOrigin.ORIGIN = Origin.Interface; _reportOrigin.TECHNICALNAME = Int.TECHNICALNAME; _reportOrigin.DBTYPE = (DatabaseType)Enum.Parse(typeof(DatabaseType), Int.DBTYPE, true); _reportOrigin.DBCONNECTION = Int.TECHNICALNAME; _reportOrigin.FriendlyName = new LabelBag(); _reportOrigin.FriendlyName.Labels = new List <SynapseLabel>(); foreach (SynapseLanguage lang in SynapseLanguage.LoadFromQuery("SELECT * FROM SYNAPSE_LANGUAGE ORDER BY CODE")) { SynapseLabel newlabel = new SynapseLabel(); newlabel.LABELID = 0; newlabel.LANGUAGE = lang.CODE; newlabel.TEXT = Int.TECHNICALNAME; _reportOrigin.FriendlyName.Labels.Add(newlabel); } _reportOrigin._MODULEID = 0; _reportOrigin.INTERFACEID = Int.ID; _reportOrigin._TYPE = Int.TYPE; _reportOrigin.CONNECTIONSTRING = Int.CONNECTIONSTRING; _reportOrigin.TABLESQUERY = Int.TABLESQUERY; _reportOrigin.VIEWSQUERY = Int.VIEWSQUERY; _reportOrigin.FIELDSQUERY = Int.FIELDSQUERY; _reportOrigin.ORACLE_HOME = Int.ORACLE_HOME; GlobalVariables.selectedOrigin = _reportOrigin; }
void LanguageClick(object sender, EventArgs e) { ToolStripMenuItem tsmi = (ToolStripMenuItem)sender; foreach (SynapseLanguage lang in _language) { if (lang.CULTURE == tsmi.Tag.ToString()) { _CurrentLanguage = lang; } } Security.Tools.SetCulture(_CurrentLanguage.CULTURE); FormUser.UserCulture = _CurrentLanguage.CULTURE; FormUser.SaveUser(); foreach (SynapseForm form in FormList) { form.initForm(SynapseCore.Security.Tools.SecureAndTranslateMode.Transalte); if (form.LanguageMenu != null) { form.LanguageMenu.Text = _CurrentLanguage.LABEL; form.LanguageMenu.Tag = _CurrentLanguage.CULTURE; form.LanguageMenu.Image = (Image)Resource1.ResourceManager.GetObject(_CurrentLanguage.CODE); } } }
public frm_SynapseObjectEdit(object SynapseObject) { InitializeComponent(); _SynapseObject = SynapseObject; bags = new Hashtable(); languages = SynapseLanguage.Load(); IList <PropertyInfo> properties = SynapseObject.GetType().GetProperties(); IList <FieldInfo> fields = SynapseObject.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); List <Control> labelBagControl = new List <Control>(); foreach (FieldInfo fi in fields) { if (fi.Name == "_IDproperty") { _IDproperty = fi.GetValue(SynapseObject).ToString(); } if (fi.Name == "_EcludeForSave") { _EcludeForSave = fi.GetValue(SynapseObject).ToString(); } if (fi.Name == "_tableName") { _tableName = fi.GetValue(SynapseObject).ToString().Trim(new char[] { '[', ']' }); } } foreach (PropertyInfo pi in from x in properties where x.PropertyType.ToString() == "SynapseCore.Database.LabelBag" select x) { uc_LabelBag bag = new uc_LabelBag(); object value = pi.GetValue(SynapseObject, null); LabelBag lbl = (LabelBag)value; Int64 lblid = lbl.GetLabelID(); if (lblid == 0) { lblid = SynapseLabel.GetNextID(); } LabelId[] ids = (LabelId[])pi.GetCustomAttributes(typeof(LabelId), true); foreach (LabelId id in ids) { PropertyInfo field = SynapseObject.GetType().GetProperty(id.IDField); field.SetValue(SynapseObject, lblid, null); bags.Add(id.IDField, id); } if (lbl.Labels.Count < languages.Count) { foreach (SynapseLanguage lang in languages) { if (lbl.GetLabel(lang.CODE) == null) { SynapseLabel newlabel = new SynapseLabel(); newlabel.LABELID = lblid; newlabel.LANGUAGE = lang.CODE; newlabel.TEXT = ""; newlabel.save(); lbl.Labels.Add(newlabel); } } _NewLabels = true; } bag.FieldName = pi.Name; bag.LblBag = lbl; labelBagControl.Add(bag); //flowLayoutPanel1.Controls.Add(bag); } foreach (PropertyInfo pi in from x in properties where x.PropertyType.ToString() != "SynapseCore.Database.LabelBag" select x) { if (!bags.ContainsKey(pi.Name)) { EntityFieldType FieldType = ((EntityFieldType[])pi.GetCustomAttributes(typeof(EntityFieldType), true)).SingleOrDefault(); uc_Field field; if (FieldType != null) { field = new uc_Field(FieldType); } else { field = new uc_Field(); } field.FieldName = pi.Name; field.DisplayName = SynapseForm.GetLabel(_tableName.ToUpperInvariant() + "." + pi.Name.ToUpperInvariant()); object value = pi.GetValue(SynapseObject, null); if (value != null) { field.FieldValue = value; } if (pi.Name == _IDproperty) { field.Enabled = false; } flowLayoutPanel1.Controls.Add(field); } } flowLayoutPanel1.Controls.AddRange(labelBagControl.ToArray()); if (_NewLabels) { SynapseObject.GetType().InvokeMember("save", BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.Public, null, SynapseObject, null); } }
private void SecurizeForm(bool AddMenu) { bool UserHaveAccess = false; string UserID = string.Empty; bool ScanControl = false; bool ShowTestEnvironment = true; if (_allModules == null) { _allModules = SynapseModule.Load(); } try { ShowTestEnvironment = bool.Parse(ConfigurationManager.AppSettings["ShowTestEnvironment"]); } // TODO: Replace by more specific exception catch (Exception) { // TODO: Log exception } if (System.ComponentModel.LicenseManager.UsageMode != System.ComponentModel.LicenseUsageMode.Designtime) { if (log4net.LogManager.GetRepository().Configured == false) { XmlConfigurator.Configure(); } if (_formUser == null) { UserID = WindowsIdentity.GetCurrent().Name; FormUser = new SynapseCore.Security.User(UserID, this.ModuleID); } if (_language == null) { string languageFilter = null; try { languageFilter = ConfigurationManager.AppSettings["ModuleLanguages"]; } catch { SynapseLogger.Debug("ModuleLanguage not defined in app.config"); } if (languageFilter != null && languageFilter != string.Empty && languageFilter != "") { _language = SynapseLanguage.Load("where CODE in (" + languageFilter + ")"); } else { _language = SynapseLanguage.Load(); } } SynapseLogger.Debug("ModuleLanguage not defined in app.config"); if (Control.ModifierKeys == (Keys.Control | Keys.Shift) && FormUser.IsMemberOf("SYNAPSE_SECURITY_USER_IMPERSONATE")) { frm_EnterUser UserDialog = new frm_EnterUser(); UserDialog.ShowDialog(); UserID = UserDialog.UserID; if (UserID != string.Empty) { FormUser = new SynapseCore.Security.User(UserID, this.ModuleID); } } SynapseLogger.Debug("Check key modifier"); if (FormUser.UserCulture != string.Empty && FormUser.UserCulture != null) { _CurrentLanguage.CULTURE = FormUser.UserCulture; } else { _CurrentLanguage.CULTURE = Thread.CurrentThread.CurrentCulture.Name; } SynapseLogger.Debug("Set Current Language"); foreach (SynapseLanguage lang in _language) { if (lang.CULTURE == _CurrentLanguage.CULTURE) { _CurrentLanguage = lang; } } SynapseLogger.Debug("Set Current Language Label"); if (_CurrentLanguage.LABEL == null) { _CurrentLanguage = _language[0]; } Security.Tools.SetCulture(_CurrentLanguage.CULTURE); SynapseLogger.Debug("Configure Resource Manager"); ConfigureResourceManager(); SynapseLogger.Debug("Set Current Module access"); if (FormUser != null) { foreach (SynapseModule Module in _allModules) //FormUser.Modules { if (_CurrentSynapse == null && Module.ID == 1) { _CurrentSynapse = Module; } if (_CurrentModule == null && Module.ID == _ModuleID) { _CurrentModule = Module; } } if (FormUser.Modules.Select(m => m.ID).Contains(_CurrentModule.ID)) { UserHaveAccess = true; } } SynapseLogger.Debug("Check Module Mode"); if (CurrentModule.ID == 1) { if (SynapseCore.Database.DBFunction.ConnectionName != "Default") { Mode = SynapseModule.SynapseModuleMode.Development; } else { Mode = SynapseModule.SynapseModuleMode.Production; } } else { Mode = Application.ExecutablePath.Contains("\\Dev\\") ? SynapseModule.SynapseModuleMode.Development : SynapseModule.SynapseModuleMode.Production; } //redify List <Control> menupoint = Controls.OfType <ToolStrip>().Cast <Control>().ToList(); if (menupoint.Count > 0) { foreach (Control Ctrl in menupoint) { if (SynapseCore.Database.DBFunction.FormBackColor != SystemColors.Control && ShowTestEnvironment) { ((ToolStrip)Ctrl).BackColor = SynapseCore.Database.DBFunction.FormBackColor; } } } //end refify SynapseLogger.Debug("Add Menu"); if (this.ShowMenu && AddMenu) { ConfigureMenu(); } SynapseLogger.Debug("Language Message"); string LangMessage = "en"; try { LangMessage = _CurrentLanguage.CULTURE.Substring(0, 2).ToUpper(); } // TODO: Replace by more specific exception catch (Exception) { SynapseLogger.Error("Unable to determine language of message"); } SynapseLogger.Debug("Message No Access"); if (!UserHaveAccess && ModuleID != 1) { MessageBox.Show(Properties.Resources.ResourceManager.GetString(LangMessage + "_NoAccess")); Application.Exit(); } SynapseLogger.Debug("Message Not Active"); if (!CurrentModule.IS_ACTIVE && Mode == SynapseModule.SynapseModuleMode.Production) { MessageBox.Show("(" + Mode.ToString() + ") " + Properties.Resources.ResourceManager.GetString(LangMessage + "_Maintenance")); Application.Exit(); } SynapseLogger.Debug("Message Not Up To Date"); if (!CurrentModule.is_uptodate(Application.StartupPath, Mode) && !System.Diagnostics.Debugger.IsAttached) { try { MessageBox.Show(Properties.Resources.ResourceManager.GetString(LangMessage + "_UpdateNeeded")); string file = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf(Mode == SynapseModule.SynapseModuleMode.Production ? "\\Prod\\" : "\\Dev\\")) + "\\Synapse.exe"; if (file != null) { SynapseCore.Controls.SynapseForm.SynapseLogger.Debug("starting " + file); System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.EnableRaisingEvents = false; proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; proc.StartInfo.FileName = file; proc.StartInfo.WorkingDirectory = Path.GetFullPath(file); proc.StartInfo.Arguments = Mode == SynapseModule.SynapseModuleMode.Production ? "" : "/con:ACC"; proc.Start(); } else { SynapseCore.Controls.SynapseForm.SynapseLogger.Debug("Not exist " + file); } Application.Exit(); } // TODO: Replace by more specific exception catch (Exception) { if (!FormUser.IsMemberOf("SYNAPSE_SECURITY_ADMIN")) { MessageBox.Show("Application not in right location !"); Application.Exit(); } } } SynapseLogger.Debug("Message Development"); if (Mode == SynapseModule.SynapseModuleMode.Development && !DevACK) { MessageBox.Show(Properties.Resources.ResourceManager.GetString(LangMessage + "_DevelopmentMode")); DevACK = true; } try { ScanControl = bool.Parse(ConfigurationManager.AppSettings["ScanControl"]); } // DONE: Replaced by more specific exception (see http://msdn.microsoft.com/en-us/library/vstudio/system.configuration.configurationmanager.appsettings(v=vs.90).aspx) catch (ConfigurationErrorsException) { // TODO: Remove swallowing of Exception } if (UpdateControls && ModuleID != 0 && ScanControl) { System.IO.TextWriter w = new System.IO.StreamWriter(Application.StartupPath + "\\" + this.Name + "_res.SynapseResource", false, System.Text.Encoding.Unicode); w.Write(SynapseCore.Security.Tools.UpdateControlsInDB(this.Controls, this.ModuleID, null).ToString()); w.Flush(); w.Close(); } SynapseLogger.Debug("Init Form"); initForm(Security.Tools.SecureAndTranslateMode.Secure | Security.Tools.SecureAndTranslateMode.Transalte); } }
private void fillCulture() { cbCulture.DataSource = SynapseLanguage.Load().OrderBy(x => x.LABEL).ToList(); cbCulture.DisplayMember = "LABEL"; cbCulture.ValueMember = "CULTURE"; }
private void tsbCopy_Click(object sender, EventArgs e) { SynapseCore.Database.DBFunction.StartTransaction(); Definition reportDef = Definition.LoadByID(((Definition)olvReport.SelectedObject).ID); Definition reportNew = new Definition(); try { reportNew.ID = 0; reportNew.QRY_JOIN = reportDef.QRY_JOIN; reportNew.QRY_CONDITION = reportDef.QRY_CONDITION; reportNew.QRY_GROUP = reportDef.QRY_GROUP; reportNew.FK_MODULE = reportDef.FK_MODULE; reportNew.FK_INTERFACE = reportDef.FK_INTERFACE; reportNew.FK_CATEGORY = reportDef.FK_CATEGORY; reportNew.FK_TYPE = reportDef.FK_TYPE; reportNew.ADDCATEGORY = reportDef.ADDCATEGORY; reportNew.AVAILABLE = false; Int64 reportNew_lblID = SynapseLabel.GetNextID(); foreach (SynapseLanguage lang in SynapseLanguage.LoadFromQuery("SELECT * FROM SYNAPSE_LANGUAGE ORDER BY CODE")) { SynapseLabel newlabel = new SynapseLabel(); newlabel.LABELID = reportNew_lblID; newlabel.LANGUAGE = lang.CODE; newlabel.TEXT = SynapseLabel.Load("WHERE LANGUAGE='" + lang.CODE + "' AND LABELID=" + reportDef.LABELID).FirstOrDefault().TEXT + " (*)"; newlabel.save(); } reportNew.LABELID = reportNew_lblID; reportNew.save(); foreach (Tables tbl in Tables.Load("WHERE FK_REPORT=" + reportDef.ID)) { Tables tblNew = new Tables(); tblNew.ID = 0; tblNew.TABLENAME = tbl.TABLENAME; tblNew.TYPE = tbl.TYPE; tblNew.FK_REPORT = reportNew.ID; tblNew.save(); } foreach (Field fld in Field.Load("WHERE FK_REPORT=" + reportDef.ID)) { Field fldNew = new Field(); fldNew.ID = 0; fldNew.FIELDNAME = fld.FIELDNAME; fldNew.FORMAT = fld.FORMAT; fldNew.POSITION = fld.POSITION; fldNew.WIDTH = fld.WIDTH; fldNew.FK_REPORT = reportNew.ID; Int64 fldNew_lblID = SynapseLabel.GetNextID(); foreach (SynapseLanguage lang in SynapseLanguage.LoadFromQuery("SELECT * FROM SYNAPSE_LANGUAGE ORDER BY CODE")) { SynapseLabel newlabel = new SynapseLabel(); newlabel.LABELID = fldNew_lblID; newlabel.LANGUAGE = lang.CODE; newlabel.TEXT = SynapseLabel.Load("WHERE LANGUAGE='" + lang.CODE + "' AND LABELID=" + fld.ALIASID).FirstOrDefault().TEXT; newlabel.save(); } fldNew.ALIASID = fldNew_lblID; fldNew.save(); } foreach (Filter flt in Filter.Load("WHERE FK_REPORT=" + reportDef.ID)) { Filter fltNew = new Filter(); fltNew.ID = 0; fltNew.NAME = flt.NAME; fltNew.TYPE = flt.TYPE; fltNew.POSITION = flt.POSITION; fltNew.CTRL_TABLE = flt.CTRL_TABLE; fltNew.CTRL_FIELD = flt.CTRL_FIELD; fltNew.CTRL_CUSTOM = flt.CTRL_CUSTOM; fltNew.DATA_TABLE = flt.DATA_TABLE; fltNew.DATA_VALUE = flt.DATA_VALUE; fltNew.DATA_DISPLAY = flt.DATA_DISPLAY; fltNew.DATA_QUERY = flt.DATA_QUERY; fltNew.WIDTH = flt.WIDTH; fltNew.ADD_TO_REPORTTITLE = flt.ADD_TO_REPORTTITLE; fltNew.IS_LINKED = false; fltNew.LINKED_FILTERID = 0; fltNew.LINKED_FIELD = ""; fltNew.CTRL_TYPE = flt.CTRL_TYPE; fltNew.FK_REPORT = reportNew.ID; Int64 fltNew_lblID = SynapseLabel.GetNextID(); foreach (SynapseLanguage lang in SynapseLanguage.LoadFromQuery("SELECT * FROM SYNAPSE_LANGUAGE ORDER BY CODE")) { SynapseLabel newlabel = new SynapseLabel(); newlabel.LABELID = fltNew_lblID; newlabel.LANGUAGE = lang.CODE; newlabel.TEXT = SynapseLabel.Load("WHERE LANGUAGE='" + lang.CODE + "' AND LABELID=" + flt.LABELID).FirstOrDefault().TEXT; newlabel.save(); } fltNew.LABELID = fltNew_lblID; fltNew.save(); } SynapseCore.Database.DBFunction.CommitTransaction(); listReport(); } catch (Exception ex) { SynapseCore.Database.DBFunction.RollbackTransaction(); GlobalFunctions.showMessage("ERR", "Err.9999", ex.Message); } }