public BaseApiResponse VerifyProposalFees(ProposalFeesEntity model) { var response = new BaseApiResponse(); try { SqlParameter[] saveparam = { new SqlParameter("OrderNo", (object)model.OrderNo ?? (object)DBNull.Value), new SqlParameter("PartNo", (object)model.PartNo ?? (object)DBNull.Value), new SqlParameter("Pages", (object)model.Pages ?? (object)DBNull.Value), new SqlParameter("Amount", (object)Convert.ToDecimal(model.Amount) ?? (object)DBNull.Value), new SqlParameter("Descr", (object)model.Descr ?? (object)DBNull.Value), new SqlParameter("EntBy", (object)model.EntBy ?? (object)DBNull.Value), new SqlParameter("ISRemindEmaiDate", (object)false ?? (object)DBNull.Value), }; var proposalId = _repository.ExecuteSQL <int>("SaveProposalFee", saveparam).FirstOrDefault(); if (proposalId > 0) { response.Success = true; } } catch (Exception ex) { response.Message.Add(ex.Message); } return(response); }
public BaseApiResponse SaveProposalFees(ProposalFeesEntity model) { var response = new BaseApiResponse(); //This url will come from company details. //string LiveSiteURL = System.Configuration.ConfigurationManager.AppSettings["LiveSiteURL"].ToString(); try { SqlParameter[] param = { new SqlParameter("OrderNo", (object)model.OrderNo ?? (object)DBNull.Value) }; var proposalOrderDetail = _repository.ExecuteSQL <ProposalOrderDetails>("GetProposalOrderDetails", param).FirstOrDefault(); if (proposalOrderDetail != null) { if (string.IsNullOrEmpty(proposalOrderDetail.Email.Trim())) { response.Message.Add("Email Address not found for Attorney - " + Convert.ToString(proposalOrderDetail.OrderingAttorney)); return(response); } else { SqlParameter[] locationParam = { new SqlParameter("OrderNo", (object)model.OrderNo ?? (object)DBNull.Value), new SqlParameter("PratNo", (object)model.PartNo ?? (object)DBNull.Value), }; var location = _repository.ExecuteSQL <LocationEntity>("GetLocationByOrderPartNo", locationParam).FirstOrDefault(); //Save Proposal SqlParameter[] saveparam = { new SqlParameter("OrderNo", (object)model.OrderNo ?? (object)DBNull.Value), new SqlParameter("PartNo", (object)model.PartNo ?? (object)DBNull.Value), new SqlParameter("Pages", (object)model.Pages ?? (object)DBNull.Value), new SqlParameter("Amount", (object)Convert.ToDecimal(model.Amount) ?? (object)DBNull.Value), new SqlParameter("Descr", (object)model.Descr ?? (object)DBNull.Value), new SqlParameter("EntBy", (object)model.EntBy ?? (object)DBNull.Value), new SqlParameter("ISRemindEmaiDate", (object)true ?? (object)DBNull.Value), }; var proposalId = _repository.ExecuteSQL <int>("SaveProposalFee", saveparam).FirstOrDefault(); if (proposalId > 0) { string subject = "Proposal Fees Request " + Convert.ToString(model.OrderNo) + "-" + Convert.ToString(model.PartNo); string body = string.Empty; CompanyDetailForEmailEntity objCompany = CommonFunction.CompanyDetailForEmail(model.CompanyNo); using (System.IO.StreamReader reader = new System.IO.StreamReader(AppDomain.CurrentDomain.BaseDirectory + "/MailTemplate/ProposalFees.html")) { body = reader.ReadToEnd(); } body = body.Replace("{UserName}", proposalOrderDetail.FirstName.Trim() + " " + proposalOrderDetail.LastName.Trim()); body = body.Replace("{ORDERNO}", Convert.ToString(model.OrderNo)); body = body.Replace("{RECORDSOF}", proposalOrderDetail.PatientName); body = body.Replace("{LOCATION}", location.Name1.Trim() + " " + location.Name2.Trim() + " (" + location.LocID + ")"); body = body.Replace("{PAGES}", Convert.ToString(model.Pages)); body = body.Replace("{DESC}", model.Descr); body = body.Replace("{COST}", Convert.ToString(model.Amount)); body = body.Replace("{LogoURL}", objCompany.Logopath); body = body.Replace("{ThankYou}", objCompany.ThankYouMessage); body = body.Replace("{CompanyName}", objCompany.CompName); body = body.Replace("{Link}", objCompany.SiteURL); string accExecutiveName = "Admin"; string accExecutiveEmail = "*****@*****.**"; string strApproveLink, strNotApprovedLink, strEditScopeLink, strQueryString; strQueryString = accExecutiveEmail + "," + accExecutiveName + "," + model.OrderNo + "," + location.Name1.Replace(',', ' ') + " (" + location.LocID + ")" + "," + model.Pages + "," + model.Amount + "," + proposalId.ToString() + "," + model.PartNo.ToString() + "," + objCompany.CompNo.ToString() + "," + objCompany.CompName.ToString() + "," + objCompany.Logopath; strApproveLink = HttpUtility.UrlEncode(EncryptDecrypt.Encrypt(strQueryString)); strNotApprovedLink = HttpUtility.UrlEncode(EncryptDecrypt.Encrypt(strQueryString)); strEditScopeLink = HttpUtility.UrlEncode(EncryptDecrypt.Encrypt(strQueryString)); body = body.Replace("{APPROVELINK}", objCompany.SiteURL + "/ProposalFeeApproval?type=" + HttpUtility.UrlEncode(EncryptDecrypt.Encrypt("A")) + "&value=" + strApproveLink); body = body.Replace("{NOTAPPROVELINK}", objCompany.SiteURL + "/ProposalFeeApproval?type=" + HttpUtility.UrlEncode(EncryptDecrypt.Encrypt("N")) + "&value=" + strNotApprovedLink); body = body.Replace("{EDITSCOPELINK}", objCompany.SiteURL + "/ProposalFeeApproval?type=" + HttpUtility.UrlEncode(EncryptDecrypt.Encrypt("E")) + "&value=" + strEditScopeLink); SqlParameter[] sqlparameter = { new SqlParameter("OrderNo", (object)model.OrderNo ?? (object)DBNull.Value), new SqlParameter("AttyID", (object)proposalOrderDetail.OrderingAttorney ?? (object)DBNull.Value) }; var additionalContacts = _repository.ExecuteSQL <NotificationEmailEntity>("GetProposalUserNotification", sqlparameter).ToList(); string additionalEmail = string.Empty; if (additionalContacts != null && additionalContacts.Count > 0) { foreach (var item in additionalContacts) { additionalEmail += item.AssistantEmail + ","; } additionalEmail = additionalEmail.Trim(','); } string orderFeesEmails = ""; SqlParameter[] orderfeesparam = { new SqlParameter("OrderNo", (object)model.OrderNo ?? (object)DBNull.Value), new SqlParameter("IsOrderConfirm", (object)false ?? (object)DBNull.Value), new SqlParameter("IsFeeApproval", (object)true ?? (object)DBNull.Value) }; var orderFeesEmailList = _repository.ExecuteSQL <string>("GetAttorneyEmailList", orderfeesparam).ToList(); if (orderFeesEmailList != null && orderFeesEmailList.Count > 0) { foreach (var item in orderFeesEmailList) { orderFeesEmails += item + ","; } orderFeesEmails = orderFeesEmails.Remove(orderFeesEmails.Length - 1); } string emailIds = ""; if (string.IsNullOrEmpty(additionalEmail)) { if (!string.IsNullOrEmpty(proposalOrderDetail.Email)) { emailIds = proposalOrderDetail.Email; } if (!string.IsNullOrEmpty(emailIds)) { emailIds += ","; } emailIds += orderFeesEmails; EmailHelper.Email.Send(CompanyNo: objCompany.CompNo , mailTo: emailIds , body: body , subject: subject , ccMail: "" , bccMail: "[email protected];[email protected]"); } else { emailIds = additionalEmail; if (!string.IsNullOrEmpty(emailIds)) { emailIds += ","; } emailIds += orderFeesEmails; EmailHelper.Email.Send(CompanyNo: objCompany.CompNo , mailTo: emailIds , body: body , subject: subject , ccMail: "" , bccMail: "[email protected];[email protected]"); } } response.Success = true; } } } catch (Exception ex) { response.Message.Add(ex.Message); } return(response); }