1using System;
2using System.Collections;
3using System.Collections.Generic;
4using System.Text;
5using System.Windows.Forms;
6using System.Configuration;
7using System.Reflection;
8using System.Resources;
9
10
11namespace MidAtlanticBaseClasses
12{
13 public class BaseClass
14 {
15 //Property Declaration - SystemConfiguration
16 /// <summary>
17 /// public and static variable for MidAtlantic Connection String
18 /// </summary>
19 public static String strConnectingString = "";
20 public static String strDatabseName = "MidAtlanticAdmin";
21 public static AppSettingsReader objSettingReader;
22 public static string LoginId = string.Empty;
23 public static string UserName = string.Empty;
24 public static bool IsApplicationExitFlag = false;
25
26 //Reference Declaration - System Configurations
27 /// <summary>
28 /// public static variable for the System Configurations form
29 /// </summary>
30 public static Form objfrmSystemConfigurations = null;
31
32
33 //Reference Declaration - User Component
34 /// <summary>
35 /// public static variable for the Login form
36 /// </summary>
37 public static Form objfrmLogin = null;
38 public static Form objfrmAddUser = null;
39 public static Form objfrmUserManagement = null;
40 public static Form objfrmChangePassword = null;
41
42
43
44 /// <summary>
45 /// Public static variable for Manage Categories
46 /// </summary>
47 public static Form objfrmManageCategory = null;
48 public static Form objfrmAddEditCategory = null;
49
50
51
52 /// <summary>
53 /// Public static variable for Company Management
54 /// </summary>
55 public static Form objfrmManageCompany = null;
56 public static Form objfrmAddEditCompany = null;
57
58
59
60 /// <summary>
61 /// Public static variable for product Management
62 /// </summary>
63 public static Form objfrmAddEditProduct = null;
64
65
66
67
68 /// <summary>
69 /// This method is used to create the instance of User Module
70 /// </summary>
71 /// <param name="strClassName"></param>
72 public static void CreateUserInstance(String strClassName)
73 {
74 try
75 {
76 String strAssemblyPath = "";
77 objSettingReader = new AppSettingsReader();
78
79 strAssemblyPath = objSettingReader.GetValue("MidAtlanticUser", strAssemblyPath.GetType()).ToString();
80 strAssemblyPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + strAssemblyPath;
81 if (System.IO.File.Exists(strAssemblyPath))
82 {
83
84 Assembly userAssembly = Assembly.LoadFile(strAssemblyPath);
85
86 System.Type[] ExistingTypes = userAssembly.GetTypes();
87 foreach (Type type in ExistingTypes)
88 {
89 if (type.Name.Equals(strClassName))
90 {
91 switch (type.Name)
92 {
93 case "frmLogin":
94 {
95 if (MidAtlanticBaseClasses.BaseClass.objfrmLogin == null)
96 {
97 MidAtlanticBaseClasses.BaseClass.objfrmLogin = ((Form)Activator.CreateInstance(type));
98 }
99 break;//
100 }
101 case "frmAddUser":
102 {
103 if (MidAtlanticBaseClasses.BaseClass.objfrmAddUser == null)
104 {
105 MidAtlanticBaseClasses.BaseClass.objfrmAddUser = ((Form)Activator.CreateInstance(type));
106 }
107 break;
108 }
109 case "frmUserManagement":
110 {
111 if (MidAtlanticBaseClasses.BaseClass.objfrmUserManagement == null)
112 {
113 MidAtlanticBaseClasses.BaseClass.objfrmUserManagement = ((Form)Activator.CreateInstance(type));
114 }
115 break;
116 }
117 }
118
119 }
120 }
121 }
122
123 }
124 catch (Exception objEx)
125 {
126 MidAtlanticDataLibrary.Database.logManager objLogManager = new MidAtlanticDataLibrary.Database.logManager();
127 objLogManager.AddErrorLogToDatabase(objEx, MidAtlanticBaseClasses.BaseClass.strConnectingString);
128 objLogManager = null;
129 }
130 }
131
132
133 /// <summary>
134 /// This Method is used to create Company management objects
135 /// </summary>
136 /// <param name="strClassName"></param>
137 public static void CreateCompanyInstance(String strClassName)
138 {
139 try
140 {
141 String strAssemblyPath = "";
142 objSettingReader = new AppSettingsReader();
143
144 strAssemblyPath = objSettingReader.GetValue("CompanyManagement", strAssemblyPath.GetType()).ToString();
145 strAssemblyPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + strAssemblyPath;
146 if (System.IO.File.Exists(strAssemblyPath))
147 {
148
149 Assembly userAssembly = Assembly.LoadFile(strAssemblyPath);
150
151 System.Type[] ExistingTypes = userAssembly.GetTypes();
152 foreach (Type type in ExistingTypes)
153 {
154 if (type.Name.Equals(strClassName))
155 {
156 switch (type.Name)
157 {
158 case "frmManageCompany":
159 {
160 if (MidAtlanticBaseClasses.BaseClass.objfrmManageCompany == null)
161 {
162 MidAtlanticBaseClasses.BaseClass.objfrmManageCompany = ((Form)Activator.CreateInstance(type));
163 }
164 break;
165 }
166 case "AddEditCompany":
167 {
168 if (MidAtlanticBaseClasses.BaseClass.objfrmAddEditCompany == null)
169 {
170 MidAtlanticBaseClasses.BaseClass.objfrmAddEditCompany = ((Form)Activator.CreateInstance(type));
171 }
172 break;
173 }
174 }
175
176 }
177 }
178 }
179
180 }
181 catch (Exception objEx)
182 {
183 MidAtlanticDataLibrary.Database.logManager objLogManager = new MidAtlanticDataLibrary.Database.logManager();
184 objLogManager.AddErrorLogToDatabase(objEx, MidAtlanticBaseClasses.BaseClass.strConnectingString);
185 objLogManager = null;
186 }
187 }
188
189 /// <summary>
190 /// This Method is used to create Product management objects
191 /// </summary>
192 /// <param name="strClassName"></param>
193 public static void CreateProductInstance(String strClassName)
194 {
195 try
196 {
197 String strAssemblyPath = "";
198 objSettingReader = new AppSettingsReader();
199
200 strAssemblyPath = objSettingReader.GetValue("productManagement", strAssemblyPath.GetType()).ToString();
201 strAssemblyPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + strAssemblyPath;
202 if (System.IO.File.Exists(strAssemblyPath))
203 {
204
205 Assembly userAssembly = Assembly.LoadFile(strAssemblyPath);
206
207 System.Type[] ExistingTypes = userAssembly.GetTypes();
208 foreach (Type type in ExistingTypes)
209 {
210 if (type.Name.Equals(strClassName))
211 {
212 switch (type.Name)
213 {
214 case "frmAddEditProduct":
215 {
216 if (MidAtlanticBaseClasses.BaseClass.objfrmAddEditProduct == null)
217 {
218 MidAtlanticBaseClasses.BaseClass.objfrmAddEditProduct = ((Form)Activator.CreateInstance(type));
219 }
220 break;
221 }
222 //case "AddEditCompany":
223 // {
224 // if (MidAtlanticBaseClasses.BaseClass.objfrmAddEditCompany == null)
225 // {
226 // MidAtlanticBaseClasses.BaseClass.objfrmAddEditCompany = ((Form)Activator.CreateInstance(type));
227 // }
228 // break;
229 // }
230 }
231
232 }
233 }
234 }
235
236 }
237 catch (Exception objEx)
238 {
239 MidAtlanticDataLibrary.Database.logManager objLogManager = new MidAtlanticDataLibrary.Database.logManager();
240 objLogManager.AddErrorLogToDatabase(objEx, MidAtlanticBaseClasses.BaseClass.strConnectingString);
241 objLogManager = null;
242 }
243 }
244
245
246
247 /// <summary>
248 /// This Method is used to create MidAtlanticSystem System Configurations objects
249 /// </summary>
250 /// <param name="strClassName"></param>
251 public static void CreateSystemConfigurationsInstance(String strClassName)
252 {
253 try
254 {
255 String strAssemblyPath = "";
256 objSettingReader = new AppSettingsReader();
257
258 strAssemblyPath = objSettingReader.GetValue("MidAtlanticSystem", strAssemblyPath.GetType()).ToString();
259 strAssemblyPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + strAssemblyPath;
260 if (System.IO.File.Exists(strAssemblyPath))
261 {
262
263 Assembly userAssembly = Assembly.LoadFile(strAssemblyPath);
264
265 System.Type[] ExistingTypes = userAssembly.GetTypes();
266 foreach (Type type in ExistingTypes)
267 {
268 if (type.Name.Equals(strClassName))
269 {
270 switch (type.Name)
271 {
272 case "frmSystemConfig":
273 {
274 if (MidAtlanticBaseClasses.BaseClass.objfrmSystemConfigurations == null || MidAtlanticBaseClasses.BaseClass.objfrmSystemConfigurations.IsDisposed == true)
275 {
276 MidAtlanticBaseClasses.BaseClass.objfrmSystemConfigurations = ((Form)Activator.CreateInstance(type));
277 }
278 break;
279 }
280 }
281
282 }
283 }
284 }
285
286 }
287 catch (Exception objEx)
288 {
289 MidAtlanticDataLibrary.Database.logManager objLogManager = new MidAtlanticDataLibrary.Database.logManager();
290 objLogManager.AddErrorLogToDatabase(objEx, MidAtlanticBaseClasses.BaseClass.strConnectingString);
291 objLogManager = null;
292 }
293 }
294
295
296
297
298
299 /// <summary>
300 /// Function to Reterive System Configuration values from the specified Resource File.
301 /// </summary>
302 public static Boolean GetSystemConfigurationValues()
303 {
304 ResourceReader objResource = null;
305 String strDatabaseConnection = "";
306 String strDatabaseUsername = "";
307 String strDatabasePassword = "";
308 Boolean blnIsValid = true;
309
310 try
311 {
312 System.IO.FileInfo objFileInfo = new System.IO.FileInfo(@AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\Mid-Atlantic.Mid-AtlanticResource.resources");
313 if (objFileInfo.Exists == false)
314 {
315 return false;
316 }
317
318 objResource = new ResourceReader(@AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\Mid-Atlantic.Mid-AtlanticResource.resources");
319 foreach (DictionaryEntry objEntry in objResource)
320 {
321 switch (objEntry.Key.ToString())
322 {
323 case "Mid-AtlanticDatabaseSource":
324 {
325 strDatabaseConnection = objEntry.Value.ToString();
326 break;
327 }
328 case "Mid-AtlanticDatabaseUsername":
329 {
330 strDatabaseUsername = objEntry.Value.ToString();
331 break;
332 }
333 case "Mid-AtlanticDatabasePassword":
334 {
335 strDatabasePassword = objEntry.Value.ToString();
336 break;
337 }
338 }
339 }
340
341 if (strDatabaseConnection.Trim().Length > 0)
342 {
343 strConnectingString = "Server=" + strDatabaseConnection.Trim() + ";Initial Catalog="+MidAtlanticBaseClasses.BaseClass.strDatabseName+";User ID=" + strDatabaseUsername.Trim() + ";Password=" + strDatabasePassword.Trim() + ";";
344 }
345
346 }
347 catch (Exception objEx)
348 {
349 blnIsValid = false;
350 MidAtlanticDataLibrary.Database.logManager objLog = new MidAtlanticDataLibrary.Database.logManager();
351 objLog.AddErrorLogToDatabase(objEx, MidAtlanticBaseClasses.BaseClass.strConnectingString);
352 objLog = null;
353 }
354 finally
355 {
356 if (objResource != null) objResource.Close();
357 objResource = null;
358 }
359 return blnIsValid;
360 }
361
362
363
364
365
366
367
368
369
370 }
371}
372