/// <summary> /// Track the Request Transaction. /// </summary> /// <param name="requestTransaction">The object of type TrackRequestTransaction.</param> /// <returns>Integer object.</returns> public int TrackRequestTransaction(TrackRequestTransaction request) { Logging.LogDebugMessage("Method: TrackRequestTransaction, MethodType: Post, Layer: RequestTransactionBL, Parameters: : request = " + JsonConvert.SerializeObject(request)); try { using (RequestTransactionDAL requestTransactionDAL = new RequestTransactionDAL()) { //return requestTransactionDAL.TrackRequestTransaction(request); int requestTransactionId = requestTransactionDAL.TrackRequestTransaction(request); if (request.IsEmailSend && request.UserId != null) { Int64 userId = Convert.ToInt64(request.UserId); this.SendEmail(userId, requestTransactionId, request.RequestTemplateId); } return(requestTransactionId); } } catch (SqlException sqlEx) { Logging.LogErrorMessage("Method: TrackRequestTransaction, Layer: RequestTransactionBL, Stack Trace: " + sqlEx.ToString()); throw; } catch (Exception ex) { Logging.LogErrorMessage("Method: TrackRequestTransaction, Layer: RequestTransactionBL, Stack Trace: " + ex.ToString()); throw; } }
/// <summary> /// Get My request details by TransactionId /// </summary> /// <param name="RequestTransactionId">the Integer object</param> /// <returns>MyRequestDetails Object</returns> public MyRequestDetails GetMyRequestDetailsByTransactionId(int RequestTransactionId) { Logging.LogDebugMessage("Method: GetMyRequestDetailsByTransactionId, MethodType: Get, Layer: RequestTransactionBL, Parameters: : RequestTransactionId = " + RequestTransactionId.ToString()); try { using (RequestTransactionDAL requestTransactionDAL = new RequestTransactionDAL()) { return(requestTransactionDAL.GetMyRequestDetailsByTransactionId(RequestTransactionId)); } } catch (SqlException sqlEx) { Logging.LogErrorMessage("Method: GetMyRequestDetailsByTransactionId, Layer: RequestTransactionBL, Stack Trace: " + sqlEx.ToString()); throw; } catch (Exception ex) { Logging.LogErrorMessage("Method: GetMyRequestDetailsByTransactionId, Layer: RequestTransactionBL, Stack Trace: " + ex.ToString()); throw; } }
/// <summary> /// Get User Requests list by UserId /// </summary> /// <param name="UserId">the long object</param> /// <returns>List of UserRequestTransactions Object</returns> public List <UserRequestTransactions> GetRequestsByUserId(long UserId) { Logging.LogDebugMessage("Method: GetRequestsByUserId, MethodType: Get, Layer: RequestTransactionBL, Parameters: : UserId = " + UserId.ToString()); try { using (RequestTransactionDAL requestTransactionDAL = new RequestTransactionDAL()) { return(requestTransactionDAL.GetRequestsByUserId(UserId)); } } catch (SqlException sqlEx) { Logging.LogErrorMessage("Method: GetRequestsByUserId, Layer: RequestTransactionBL, Stack Trace: " + sqlEx.ToString()); throw; } catch (Exception ex) { Logging.LogErrorMessage("Method: GetRequestsByUserId, Layer: RequestTransactionBL, Stack Trace: " + ex.ToString()); throw; } }
/// <summary> /// Gets the similar requests list /// </summary> /// <param name="Latitude">The string object</param> /// <param name="Longitude">The string object</param> /// <param name="RequestTemplateId">The integer object</param> /// <returns>list of SimilarRequestTransactions object</returns> public List <SimilarRequestTransaction> GetSimilarRequests(string Latitude, string Longitude, int RequestTemplateID) { Logging.LogDebugMessage("Method: GetSimilarRequests, MethodType: Get, Layer: RequestTransactionBL, Parameters: : Latitude = " + Latitude + ",Longitude = " + Longitude + ",RequestTemplateID = " + RequestTemplateID.ToString()); try { using (RequestTransactionDAL dl = new RequestTransactionDAL()) { return(dl.GetSimilarRequests(Latitude, Longitude, RequestTemplateID)); } } catch (SqlException sqlEx) { Logging.LogErrorMessage("Method: GetSimilarRequests, Layer: RequestTransactionBL, Stack Trace: " + sqlEx.ToString()); throw; } catch (Exception ex) { Logging.LogErrorMessage("Method: GetSimilarRequests, Layer: RequestTransactionBL, Stack Trace: " + ex.ToString()); throw; } }
/// <summary> Submit or track the Request </summary> /// <param name="requestTransaction">The object of type RequestTransaction</param> /// <returns> Integer object </returns> public int SubmitOrTrackRequest(RequestTransaction requestTransaction) { Logging.LogDebugMessage("Method: SubmitOrTrackRequest, MethodType: Post, Layer: RequestTransactionBL, Parameters: requestTransaction = " + JsonConvert.SerializeObject(requestTransaction)); try { using (RequestTransactionDAL dl = new RequestTransactionDAL()) { string ImagesPath = Models.AppSettings.ImagesUploadPath.ToString(); List <RequestPhoto> lst = requestTransaction.requestPhotos; if (lst != null && lst.Count > 0) { foreach (RequestPhoto item in lst) { item.ImageName = CreateFileInLocal(item.ImageUrl, item.ImageName, ImagesPath); //item.ImageUrl = ImagesPath + "\\" + item.ImageName; item.ImageUrl = "./" + ImagesPath.Split("\\")[ImagesPath.Split("\\").Length - 2] + "/" + ImagesPath.Split("\\")[ImagesPath.Split("\\").Length - 1] + "/" + item.ImageName; } } requestTransaction.requestPhotos = lst; int requestTransactionId = dl.SubmitOrTrackRequest(requestTransaction); if (requestTransaction.IsEmailSend && requestTransaction.UserId != null) { Int64 userId = Convert.ToInt64(requestTransaction.UserId); this.SendEmail(userId, requestTransactionId, requestTransaction.RequestTemplateId); } return(requestTransactionId); } } catch (SqlException sqlEx) { Logging.LogErrorMessage("Method: SubmitOrTrackRequest, Layer: RequestTransactionBL, Stack Trace: " + sqlEx.ToString()); throw; } catch (Exception ex) { Logging.LogErrorMessage("Method: SubmitOrTrackRequest, Layer: RequestTransactionBL, Stack Trace: " + ex.ToString()); throw; } }
/// <summary> /// This method send mail to the request submitted user /// </summary> /// <param name="UserID">Integer Object</param> /// <param name="RequestTransactionID">Integer Object</param> /// <param name="RequestTemplateID">Integer Object</param> /// <returns>Boolean Object</returns> public bool SendEmail(Int64 UserID, int RequestTransactionID, Int64 RequestTemplateID) { try { EmailObject emailObject = new EmailObject(); using (RequestTransactionDAL requestTransactionDAL = new RequestTransactionDAL()) { emailObject = requestTransactionDAL.GetEmailContent(UserID, RequestTransactionID, RequestTemplateID); } MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient(Host); mail.From = new MailAddress(AdminEmailID); mail.To.Add("*****@*****.**"); //TO DO :: emailObject.EmailAddress // mail.Subject = Subject + "<span style='font-family:Tahoma,sans-serif;color:#15c;'><u>" + emailObject.RequestTransactionID + "</u></span> - " + emailObject.RequestStatus; mail.Subject = Subject + emailObject.RequestTransactionID + " - " + emailObject.RequestStatus; mail.IsBodyHtml = true; string htmlBody; htmlBody = GetEmailBodyContent(emailObject); //htmlBody = GetEmailBody(); mail.Body = htmlBody; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential(AdminEmailID, AdminEmailPassword); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); return(true); } catch (Exception e) { return(false); } }