コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }