public ActionResult Submit(WebsiteContract entity)
        {
            var modeTitle = entity.Id != 0 ? $"Update WebsiteContract id:{entity.Id}" : "Create WebsiteContract";

            LogManagement.Logging($"modeTitle", (int)LogType.Info, "Create/Update WebsiteContract", "WebsiteContractController/SubmitAction");

            var errorMessage = "";

            //var x = entity.Password;
            if (entity.ContractDate != null)
            {
                entity.ContractDate = Utility.ConvertToPersian(entity.ContractDate.ToString());
            }
            //entity.ContractDate = DateTime.Now;
            //if (entity.FromDate != null)
            //    entity.FromDate = Utility.ConvertToPersian(entity.FromDate.ToString());
            //if (entity.ToDate != null)
            //    entity.ToDate = Utility.ConvertToPersian(entity.ToDate.ToString());


            var contractService = WebsiteContractService.GetInstance();

            try
            {
                contractService.Save(entity);
            }
            catch (Exception e)
            {
                errorMessage = e.Message;
            }

            return(Json(errorMessage, JsonRequestBehavior.AllowGet)); //message
        }
        public ActionResult SaveContractContext(WebsiteContract entity)
        {
            LogManagement.Logging("update context", (int)LogType.Info, "Update WebsiteContractContext", "WebsiteContractController/SaveWebsiteContractContext");

            var errorMessage = "";

            try
            {
                WebsiteContractService.GetInstance().SaveContext(entity.ContractContext);
            }
            catch (Exception e)
            {
                errorMessage = e.Message;
            }

            return(Json(errorMessage, JsonRequestBehavior.AllowGet)); //message
        }
        private string FillContextData(WebsiteContract entity)
        {
            var result = HtmlConvert(entity.ContractContext);

            result = result.Replace("@#DomainId", entity.DomainId);
            result = result.Replace("@#CustomerName", entity.CustomerName);
            result = result.Replace("@#CustomerMobile", entity.CustomerMobile);
            result = result.Replace("@#CustomerAddress", entity.CustomerAddress);
            result = result.Replace("@#CustomerPhone", entity.CustomerPhone);
            result = result.Replace("@#PaymentTotalPrice", entity.PaymentTotalPrice.SplitDigit());

            var websiteItems = string.Empty;

            entity.WebsiteContractItems.OrderBy(p => p.DisplayOrder).ToList().ForEach(item =>
            {
                if (item.IsPrePayment)
                {
                    websiteItems += $"مرحله{item.DisplayOrder}- پرداخت {Utility.NumberToWords(item.Amount)} تومان به عنوان پیش پرداخت در تاریخ {item.Date.ToPersianString()} پرداخت میگردد" + "<Br/>";
                }
                else
                {
                    websiteItems += $"مرحله{item.DisplayOrder}- پرداخت {Utility.NumberToWords(item.Amount)} تومان در تاریخ {item.Date.ToPersianString()}" + "<Br/>";
                }
            });

            result = result.Replace("@#WebsiteContractItems", websiteItems);

            var account     = AccountService.GetInstance().GetEntity(entity.AccountId);
            var accountInfo = $"شماره کارت {account.CardNo} و شماره شبا {account.ShebaNo} به نام {account.OwnerName}";

            result = result.Replace("@#AccountInfo", "<p style=\"font - family:Arial\"><strong>" + accountInfo + "</strong></p>");
            result = result.Replace("@#Duration", entity.ExecuteDuration.ToString());
            result = result.Replace("@#DomainCost", Utility.NumberToWords(entity.DomainRegistrationCost));
            result = result.Replace("@#HostCost", Utility.NumberToWords(entity.HostRegistrationCost));

            return(result);
        }