Commit e66ea68e5dd2cf4bc642f640a0af9b4b399656db

Authored by Nikita Kulshreshtha
1 parent eec6b3d2

added exception handling code

400-SOURCECODE/AIAHTML5.API/Controllers/ClientController.cs
... ... @@ -7,6 +7,9 @@ using System.Net.Http;
7 7 using System.Web.Http;
8 8 using AIAHTML5.API.Models;
9 9 using Newtonsoft.Json.Linq;
  10 +using System.Data.SqlClient;
  11 +using System.Collections;
  12 +using log4net;
10 13  
11 14 namespace AIAHTML5.API.Controllers
12 15 {
... ... @@ -27,31 +30,60 @@ namespace AIAHTML5.API.Controllers
27 30 // POST api/client
28 31 public HttpResponseMessage Post([FromBody]JObject siteUrl)
29 32 {
30   - HttpResponseMessage response = null;
  33 + ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
  34 + logger.Debug("inside POST in ClientController");
31 35  
32   - int siteId = AIAHTML5.API.Models.Users.ValidateLicenseSiteIP(siteUrl["siteIP"].ToString(), siteUrl["remoteIPAddress"].ToString(), siteUrl["accountNumber"].ToString(), Convert.ToByte(siteUrl["edition"].ToString()));
33   - if (siteId > 0)
  36 + HttpResponseMessage response = null;
  37 + try
34 38 {
35   - dynamic uerinfo = AIAHTML5.API.Models.Users.ValidateSiteLogin(siteUrl["siteIP"].ToString(), siteUrl["accountNumber"].ToString(), siteUrl["urlReferer"].ToString(), siteUrl["edition"].ToString(), siteId);
36   - if (uerinfo != null)
37   - response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(uerinfo) };
  39 + int siteId = AIAHTML5.API.Models.Users.ValidateLicenseSiteIP(siteUrl["siteIP"].ToString(), siteUrl["remoteIPAddress"].ToString(), siteUrl["accountNumber"].ToString(), Convert.ToByte(siteUrl["edition"].ToString()));
  40 + if (siteId > 0)
  41 + {
  42 + dynamic uerinfo = AIAHTML5.API.Models.Users.ValidateSiteLogin(siteUrl["siteIP"].ToString(), siteUrl["accountNumber"].ToString(), siteUrl["urlReferer"].ToString(), siteUrl["edition"].ToString(), siteId);
  43 + if (uerinfo != null)
  44 + response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(uerinfo) };
  45 + else
  46 + {
  47 + //ser user = new User();
  48 + //user.LoginFailureCauseId = AIAConstants.INVALID_CLIENT;
  49 + //dynamic userinfo = user;
  50 + //response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userInfo) };
  51 +
  52 + response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.INVALID_CLIENT) };
  53 + }
  54 + }
38 55 else
39 56 {
40   - //ser user = new User();
41   - //user.LoginFailureCauseId = AIAConstants.INVALID_CLIENT;
42   - //dynamic userinfo = user;
43   - //response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userInfo) };
44   -
45   - response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.INVALID_CLIENT) };
  57 + response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.MSG_NOT_AUTHORIZE_SITE_USER) };
  58 +
  59 +
46 60 }
  61 + return response;
47 62 }
48   - else
  63 + catch (SqlException e)
49 64 {
50   - response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.MSG_NOT_AUTHORIZE_SITE_USER) };
51 65  
  66 + logger.Fatal("SqlException occured for siteUrl =" + siteUrl["siteIP"].ToString() + " and siteUrl= " + siteUrl["siteIP"].ToString() + " & accountNumber = " + siteUrl["accountNumber"].ToString() + " &edition = " + siteUrl["edition"].ToString() + "Exception= " + e.Message + ", STACKTRACE: " + e.StackTrace);
  67 +
  68 + ArrayList supportMailList = UserUtility.GetSupportMailList();
  69 + string mailSubject = AIAConstants.SQL_CONNECTION_ERROR_MAIL_SUBJECT;
  70 + string mailBody = "MESSAGE: " + e.Message + ", STACKTRACE: " + e.StackTrace;
  71 + UserUtility.SendEmailForException(0, supportMailList, "", mailSubject, mailBody,true,siteUrl);
  72 +
  73 + return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(AIAConstants.SQL_CONNECTION_ERROR) };
  74 + }
  75 + catch (Exception e)
  76 + {
  77 +
  78 + logger.Fatal("Exception occured for loginId =" + siteUrl["siteIP"].ToString() + " and siteUrl= " + siteUrl["siteIP"].ToString() + " & accountNumber = " + siteUrl["accountNumber"].ToString() + " &edition = " + siteUrl["edition"].ToString() + "Exception= " + e.Message + ", STACKTRACE: " + e.StackTrace);
  79 + ArrayList supportMailList = UserUtility.GetSupportMailList();
  80 + string mailSubject = AIAConstants.EXCEPTION_IN_AIAHTML5_MAIL_SUBJECT;
  81 + string mailBody = "MESSAGE: " + e.Message + ", STACKTRACE: " + e.StackTrace;
  82 + UserUtility.SendEmailForException(0, supportMailList, "", mailSubject, mailBody, true, siteUrl);
  83 +
  84 + return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(AIAConstants.EXCEPTION_OCCURED) };
52 85  
53 86 }
54   - return response;
55 87 }
56 88  
57 89 // PUT api/client/5
... ...
400-SOURCECODE/AIAHTML5.API/Models/UserUtility.cs
... ... @@ -16,6 +16,7 @@ using System.Configuration;
16 16 using System.Collections;
17 17 using System.Data;
18 18 using System.Reflection;
  19 +using Newtonsoft.Json.Linq;
19 20  
20 21 namespace AIAHTML5.API.Models
21 22 {
... ... @@ -216,10 +217,10 @@ namespace AIAHTML5.API.Models
216 217 }
217 218 }
218 219  
219   - public static bool SendEmailForException(int userid, ArrayList mailToList, string sender, string mailSubject = "", string mailBody = "")
  220 + public static bool SendEmailForException(int userid, ArrayList mailToList, string sender, string mailSubject = "", string mailBody = "", bool isMailForClentSite=false, JObject info=null)
220 221 {
221 222 ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
222   - logger.Debug("Inside SendEmail with userid =" + userid);
  223 + // logger.Debug("Inside SendEmail with userid =" + userid);
223 224  
224 225 try
225 226 {
... ... @@ -235,8 +236,14 @@ namespace AIAHTML5.API.Models
235 236 lstToAddress.Add(email);
236 237 }
237 238  
238   - emailMessage = "Unable to process request for userid: " + userid;
239   -
  239 + if (isMailForClentSite && info!=null)
  240 + {
  241 + emailMessage = "Unable to process request for siteUrl =" + info["siteIP"].ToString() + " and siteIP= " + info["siteIP"].ToString() + " & accountNumber = " + info["accountNumber"].ToString() + " &edition = " + info["edition"].ToString() ;
  242 + }
  243 + else
  244 + {
  245 + emailMessage = "Unable to process request for userid: " + userid;
  246 + }
240 247  
241 248  
242 249 if (string.IsNullOrEmpty(sender))
... ... @@ -264,7 +271,13 @@ namespace AIAHTML5.API.Models
264 271 return true;
265 272 }
266 273 catch (Exception ex)
267   - {
  274 + {
  275 + if (isMailForClentSite){
  276 + logger.Fatal("exception in SendEmail for siteUrl =" + info["siteIP"].ToString()+ ". msg= " + ex.Message + ", stacktrace= " + ex.StackTrace);
  277 +
  278 + }
  279 +
  280 + else
268 281 logger.Fatal("exception in SendEmail for userid"+userid+ ". msg= " + ex.Message + ", stacktrace= " + ex.StackTrace);
269 282 return false;
270 283 }
... ...