예제 #1
0
        /// <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;
            }
        }
예제 #2
0
 /// <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;
     }
 }
예제 #3
0
 /// <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;
     }
 }
예제 #4
0
 /// <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;
     }
 }
예제 #5
0
 /// <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;
     }
 }
예제 #6
0
        /// <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);
            }
        }