public async Task <IActionResult> Edit(int id, [Bind("RedemptionId,Code,BookTitle,Isbn")] Redemption redemption) { if (id != redemption.RedemptionId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(redemption); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RedemptionExists(redemption.RedemptionId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(redemption)); }
public async Task <IActionResult> Create( CreateRedemptionViewModel redemptionViewModel) { if (this.ModelState.IsValid) { var selectedInstanceID = this.InstanceSelector.InstanceID; var redemption = new Redemption { InstanceID = selectedInstanceID, RedemptionNumber = DataUtils.GenerateNumber(), CreatedDate = DateTime.UtcNow, PointsRequired = redemptionViewModel.PointsRequired }; redemption.ModifiedDate = redemption.CreatedDate; if (redemptionViewModel != null) { redemption.Name = redemptionViewModel.Name; redemption.PointsRequired = redemptionViewModel.PointsRequired; redemption.Description = redemptionViewModel.Description; } this.DatabaseContext.Add(redemption); await this.DatabaseContext.SaveChangesAsync(); return(this.RedirectToAction(nameof(this.Index))); } return(this.View(redemptionViewModel)); }
internal static void RunAction(Redemption redemption, JToken data) { try { var type = data["Action"].Value <int>(); Log.Info($"RunAction: {redemption.Reward.Id} -> type: {type}"); switch (type) { case 0: break; case 1: RavenMessageAction.Run(redemption, data); break; case 2: SpawnCreatureAction.Run(redemption, data); break; case 3: HUDMessageAction.Run(redemption, data); break; default: throw new ArgumentOutOfRangeException(); } } catch (Exception ex) { Log.Error("RunAction Error >>> " + ex.ToString()); } }
public async Task <IActionResult> PutRedemption([FromRoute] int id, [FromBody] Redemption redemption) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != redemption.Id) { return(BadRequest()); } _context.Entry(redemption).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RedemptionExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
private void HandleAttachments(Redemption.SafeMailItemClass mailItem, AttachmentCollection attachments) { for (int i = 1; i <= mailItem.Attachments.Count; i++) { Redemption.Attachment attachmentToCopy = mailItem.Attachments.Item(i); object objAttach = attachmentToCopy.AsArray; byte[] bytes = objAttach as byte[]; if (bytes != null) { System.IO.MemoryStream memStream = new System.IO.MemoryStream(bytes); System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(memStream, attachmentToCopy.FileName); attachments.Add(attachment); //event publishing to notify GUI we have processed another attachment. if (AttachmentFound != null) { AttachmentFound(this, new AttachmentEventArgs(attachment)); } } } }
public async Task <IActionResult> Create(CreateRedemptionViewModel redemptionViewModel) { var dataUtils = new DataUtils(); if (ModelState.IsValid) { var redemption = new Redemption(); redemption.RedemptionNumber = dataUtils.GenerateNumber(); redemption.ModifiedDate = redemption.CreatedDate = DateTime.UtcNow; redemption.PointsRequired = redemptionViewModel.PointsRequired; redemption.Deleted = false; if (redemptionViewModel != null) { redemption.Name = redemptionViewModel.Name; redemption.PointsRequired = redemptionViewModel.PointsRequired; redemption.Description = redemptionViewModel.Description; } _context.Add(redemption); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(redemptionViewModel)); }
public static void Run(Redemption redemption, JToken data) { var position = data["Position"].Value <int>(); var user = redemption.User.DisplayName; var text = redemption.UserInput ?? ""; PlayerMessage($"<{user}> {text}", position == 1); }
private static void StartRandomEvent(Redemption redemption, JToken data) { var eventName = data["EventName"].Value <string>(); var distance = data["Distance"].Value <int>(); var duration = data["Duration"].Value <int>(); Vector3 b = Random.insideUnitSphere * distance; var position = Player.m_localPlayer.transform.position + Player.m_localPlayer.transform.forward * 2f + Vector3.up + b; RandomEventSystemStartPatch.StartEvent(redemption, eventName, position, duration); }
public async Task <IActionResult> Create([Bind("RedemptionId,Code,BookTitle,Isbn")] Redemption redemption) { if (ModelState.IsValid) { _context.Add(redemption); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(redemption)); }
public async Task <IActionResult> PostRedemption([FromBody] Redemption redemption) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Redemption.Add(redemption); await _context.SaveChangesAsync(); return(CreatedAtAction("GetRedemption", new { id = redemption.Id }, redemption)); }
internal static void Run(Redemption redemption, JToken data) { var creature = data["Creature"].Value <int>(); var level = data["Level"].Value <int>(); var count = data["Count"].Value <int>(); var offset = data["Distance"].Value <int>(); var name = SpawnCreatureSettings.creatures[creature]; for (int i = 0; i < count; i++) { ConsoleUpdatePatch.AddAction(() => Prefab.Spawn(name, level, offset)); } }
internal static void Run(Redemption redemption, JToken data) { var position = data["Position"].Value <int>(); var user = redemption.User.DisplayName; var text = redemption.UserInput; var messageType = position == 0 ? MessageHud.MessageType.TopLeft : MessageHud.MessageType.Center; Log.Info($"Message -> user:{user} text:{text}"); if (Player.m_localPlayer != null) { Player.m_localPlayer.Message(messageType, $"<{user}> {text}"); } }
private static void HandleOriginator(Redemption.SafeMailItemClass redemptionItem, MailMessage outMailItem) { if (redemptionItem != null) { string smtpAddress = (string)redemptionItem.Sender.get_Fields(0x39FE001E); if (null == smtpAddress) { throw new FormatException(); } outMailItem.From = new MailAddress( smtpAddress, redemptionItem.SenderName); } }
internal static void Run(Redemption redemption, JToken data) { var creature = data["Creature"].Value <int>(); var level = data["Level"].Value <int>(); var count = data["Count"].Value <int>(); var offset = data["Distance"].Value <int>(); var tamed = data["Tamed"]?.Value <bool>(); var name = redemption.User.DisplayName; var type = SpawnCreatureSettings.creatures[creature]; for (int i = 0; i < count; i++) { ConsoleUpdatePatch.AddAction(() => Prefab.Spawn(type, level, offset, tamed ?? false, name)); } }
internal static void Run(Redemption redemption, JToken data) { var name = data["Name"].Value <string>(); switch (name) { case "puke": ConsoleUpdatePatch.AddAction(Puke); break; case "heal": ConsoleUpdatePatch.AddAction(Heal); break; default: throw new ArgumentOutOfRangeException(); } }
internal static void Run(Redemption redemption, JToken data) { var name = data["Name"].Value <string>(); var duration = data["Duration"].Value <int>(); if (name == "Reset to default") { name = ""; } if (EnvMan.instance == null) { return; } //Log.Info($"Env -> {name} {duration}"); EnvMan.instance.m_debugEnv = name; try { if (Player.m_localPlayer != null) { var type = MessageHud.MessageType.Center; var user = redemption.User.DisplayName; var text = redemption.UserInput?.Truncate(79) ?? ""; var msg1 = $"{user} says \"There is no bad weather, {name} incoming.\""; var msg2 = $"It's time to catch a rest, {user} calls the weather spirits to calm them down."; var msg = name.Length > 0 ? msg1 : msg2; Player.m_localPlayer.Message(type, $"{msg}\n{text}"); } if (duration > 0) { Task.Delay(duration * 60000).ContinueWith(t => EnvMan.instance.m_debugEnv = ""); } } catch (Exception ex) { Log.Warning(ex.StackTrace); } }
public static void StartEvent(Redemption redemption, string name, Vector3 position, int duration) { var randomEvent = GetEventByName(name); if (randomEvent == null) { return; } var user = redemption.User.DisplayName; var text = redemption.UserInput?.Truncate(79) ?? ""; randomEvent.m_enabled = true; randomEvent.m_nearBaseOnly = false; randomEvent.m_duration = duration * 60f; randomEvent.m_pauseIfNoPlayerInArea = false; randomEvent.m_startMessage = $"{user.ToUpper()} is raiding you with a horde of {name.ToUpper()}!\nRun for your life!\n{text}"; randomEvent.m_endMessage = $"You survived the raid of {user.ToUpper()}!\nSame player play again!"; PublicSetRandomEvent(RandEventSystem.instance, randomEvent, position); }
public async Task <ActionResult> UpdateVoucher(string code, [FromBody] VoucherModel update) { //Passing in values using "VoucherModel" into the Different Model to use params Voucher voucher = new Voucher(update.Code, update.Voucher_Type, update.Category, update.AdditionalInfo, update.StartDate, update.ExpirationDate, update.Active); Discount discount = new Discount(update.Discount_Type, update.Percent_Off, update.Amount_Off, update.AmountLimit, update.Unit_Off, update.UnitType); Gift gift = new Gift(update.Amount); Redemption redemption = new Redemption(update.Quantity); Code_Config code_Config = new Code_Config(update.Prefix, update.Suffix, update.CodeLength, update.CharSet); MetaData metadata = new MetaData(update.Test, update.Locale); //Run CreateVoucherAsync Service and returns response with ServiceResponse class ServiceResponse response = await CreateVoucherRequest.CreateVoucherAsync(voucher, discount, gift, redemption, code_Config, metadata); //Checks if response status code is 200, if true returns voucher params and values as Json data, else returns response(Not successful) switch (Response.StatusCode == 200) { case true: return(Ok(update)); default: return(Ok(response)); } }
public IActionResult PostRedemption([FromBody] AccountStatementViewModel model) { var _user = new AuthenticateResponse { MembershipKey = 1006979, //1007435, EmailAddress = "*****@*****.**", //"*****@*****.**", FirstName = "Tolulope", LastName = "Olusakin", FullName = "Olusakin Tolulope S" //"Funmilayo Ruth Adeyemi", //MembershipKey = 1007435, //EmailAddress = "*****@*****.**", //FirstName = "Funmilayo", //LastName = "Adeyemi", //FullName = "Funmilayo Ruth Adeyemi", }; var _sessionID = "fb2e77d.47a0479900504cb3ab4a1f626d174d2d"; try { var redeemedProducts = "RedeemedProducts::"; var json = JsonConvert.SerializeObject(model.Product); var list = JsonConvert.DeserializeObject <List <RedemptionProduct> >(json); foreach (var item in list) { redeemedProducts += "ProductCode:" + item.ProductCode + ";"; redeemedProducts += "Amount:" + item.Amount + ";"; } ; Redemption redemption = new Redemption { CustomerReference = _user.MembershipKey.ToString(), RedeemedProducts = redeemedProducts, Amount = model.TotalAmount, Reason = model.Reason, ReasonOther = model.ReasonOthers }; db.Redemptions.Add(redemption); db.SaveChanges(); var accountsRequest = new SummaryRequest { MembershipNumber = _user.MembershipKey }; var accountsResponse = _clientService.GetAccountSummary(accountsRequest); VerifyOtpRequest OtpRequest = new VerifyOtpRequest { OtpCode = model.Otp, SessionId = _sessionID.ToString() }; var reRequest = new RedemptionRequest { MembershipNumber = _user.MembershipKey.ToString(), Products = model.Product, TotalAmount = model.TotalAmount, VerifyOtp = OtpRequest, Source = "Client Portal" }; var reResponse = _clientService.Redemption(reRequest); if (reResponse != null) { return(Json(reResponse)); } else { return(StatusCode((int)HttpStatusCode.ExpectationFailed, "No response from the server.")); } } catch (Exception ex) { TempData["message"] = ViewBag.Message = ex.Message; Utilities.ProcessError(ex, _contentRootPath); _logger.LogError(null, ex, ex.Message); } return(View()); }
internal Attachment(Redemption.Attachment attachment) { m_attachment = attachment; }
private void Survival() { if (Redemption.IsReady() && Config.Item("Redemption").GetValue <bool>()) { var target = HeroManager.Enemies.FirstOrDefault(x => x.IsValidTarget(5000) && x.Position.CountAlliesInRange(600) > 0); if (target != null) { var ally = HeroManager.Allies.FirstOrDefault(x => x.IsValid && !x.IsDead && x.Position.Distance(target.Position) < 400); if (ally != null && ally.Health - OktwCommon.GetIncomingDamage(ally) < ally.MaxHealth * 0.5) { if (target.CountAlliesInRange(600) > 1 || ally.CountEnemiesInRange(600) > 1) { var predInput = new SebbyLib.Prediction.PredictionInput { Aoe = true, Collision = false, Speed = float.MaxValue, Delay = 0.5f, Range = 5500, From = Player.ServerPosition, Radius = 500, Unit = target, Type = SebbyLib.Prediction.SkillshotType.SkillshotCircle }; var pos = SebbyLib.Prediction.Prediction.GetPrediction(predInput); Redemption.Cast(pos.CastPosition); } } } } if (Player.HealthPercent < 60 && (Seraph.IsReady() || Zhonya.IsReady() || CanUse(barrier))) { double dmg = OktwCommon.GetIncomingDamage(Player); var enemys = Player.CountEnemiesInRange(800); if (dmg > 0 || enemys > 0) { if (CanUse(barrier) && Config.Item("Barrier").GetValue <bool>()) { var value = 95 + Player.Level * 20; if (dmg > value && Player.HealthPercent < 50) { ObjectManager.Player.Spellbook.CastSpell(barrier, Player); } else if (Player.Health - dmg < enemys * Player.Level * 20) { ObjectManager.Player.Spellbook.CastSpell(barrier, Player); } else if (Player.Health - dmg < Player.Level * 10) { ObjectManager.Player.Spellbook.CastSpell(barrier, Player); } } if (Seraph.IsReady() && Config.Item("Seraph").GetValue <bool>()) { var value = Player.Mana * 0.2 + 150; if (dmg > value && Player.HealthPercent < 50) { Seraph.Cast(); } else if (Player.Health - dmg < enemys * Player.Level * 20) { Seraph.Cast(); } else if (Player.Health - dmg < Player.Level * 10) { Seraph.Cast(); } } if (Zhonya.IsReady() && Config.Item("Zhonya").GetValue <bool>()) { if (dmg > Player.Level * 35) { ZhonyaTryCast(); } else if (Player.Health - dmg < enemys * Player.Level * 20) { ZhonyaTryCast(); } else if (Player.Health - dmg < Player.Level * 10) { ZhonyaTryCast(); } } } } if (!Solari.IsReady() && !FaceOfTheMountain.IsReady() && !CanUse(heal)) { return; } foreach (var ally in HeroManager.Allies.Where(ally => ally.IsValid && !ally.IsDead && ally.HealthPercent < 50 && Player.Distance(ally.ServerPosition) < 700)) { double dmg = OktwCommon.GetIncomingDamage(ally); if (dmg == 0) { continue; } if (CanUse(heal) && Config.Item("Heal").GetValue <bool>()) { if (!Config.Item("AllyHeal").GetValue <bool>() && !ally.IsMe) { return; } if (ally.Health - dmg < ally.Level * 10) { ObjectManager.Player.Spellbook.CastSpell(heal, ally); } else if (ally.Health - dmg < ally.Level * 10) { ObjectManager.Player.Spellbook.CastSpell(heal, ally); } } if (Config.Item("Solari").GetValue <bool>() && Solari.IsReady() && Player.Distance(ally.ServerPosition) < Solari.Range) { var value = 75 + (15 * Player.Level); if (dmg > value && Player.HealthPercent < 50) { Solari.Cast(); } else if (ally.Health - dmg < ally.Level * 10) { Solari.Cast(); } else if (ally.Health - dmg < ally.Level * 10) { Solari.Cast(); } } if (Config.Item("FaceOfTheMountain").GetValue <bool>() && FaceOfTheMountain.IsReady() && Player.Distance(ally.ServerPosition) < FaceOfTheMountain.Range) { var value = 0.1 * Player.MaxHealth; if (dmg > value && Player.HealthPercent < 50) { FaceOfTheMountain.Cast(ally); } else if (ally.Health - dmg < ally.Level * 10) { FaceOfTheMountain.Cast(ally); } else if (ally.Health - dmg < ally.Level * 10) { FaceOfTheMountain.Cast(ally); } } } }
internal static void Run(Redemption redemption, JToken data) { var munin = data["Type"].Value <bool>(); RavenPatch.Message(redemption.User.DisplayName, redemption.UserInput ?? "Caw! Caw!", munin); }
internal static void Run(Redemption redemption, JToken data) { ConsoleUpdatePatch.AddAction(() => StartRandomEvent(redemption, data)); }
public static async Task <ServiceResponse> CreateVoucherAsync(Voucher voucher, Discount discount, Gift gift, Redemption redemption, Code_Config code_Config, MetaData metaData) { try { int rowAffected = 0; using (var conn = Connection) { if (conn.State == ConnectionState.Closed) { conn.Open(); } //Parameters Declaration to be passed into Stored procdure "InsertVoucher".. DynamicParameters parameters = new DynamicParameters(); parameters.Add("@Code", voucher.Code); parameters.Add("@VoucherType", voucher.Voucher_type); parameters.Add("@DiscountType", discount.Discount_type); parameters.Add("@DiscountPercentOff", discount.Percent_Off); parameters.Add("@DiscountAmountOff", discount.Amount_Off); parameters.Add("@DiscountAmountLimit", discount.AmountLimit); parameters.Add("@DiscountUnitOff", discount.Unit_Off); parameters.Add("@DiscountUnitType", discount.Unit_Type); parameters.Add("@GiftAmount", gift.Amount); parameters.Add("@VoucherCategory", voucher.Category); parameters.Add("@VoucherAdditionalInfo", voucher.Additional_Info); parameters.Add("@VoucherStartDate", voucher.Start_Date); parameters.Add("@VoucherExpirationDate", voucher.Expiration_Date); parameters.Add("@VoucherActiveStatus", voucher.Active); parameters.Add("@RedemptionQuantity", redemption.Quantity); parameters.Add("@CodePrefix", code_Config.prefix); parameters.Add("@CodeSuffix", code_Config.suffix); parameters.Add("@CodeLength", code_Config.length); parameters.Add("@CodeCharset", code_Config.charset); parameters.Add("@VoucherMetaData", metaData.Meta_Data); rowAffected = await conn.ExecuteAsync("InsertVoucher", parameters, commandType : CommandType.StoredProcedure); } //response using predefined serviceresponse class ServiceResponse response = new ServiceResponse("0", "Good Request", "Request Completed"); return(response); } catch (Exception e) { //error response ServiceResponse response = new ServiceResponse("100", "Unsuccessful", "Request could not be completed"); return(response); } }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Redemption obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Redemption obj) { return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; }
private static void HandleRecipients(Redemption.SafeMailItemClass redemptionItem, MailMessage outMailItem) { for (int i = 1; i <= redemptionItem.Recipients.Count; i++) { SafeRecipient recip = redemptionItem.Recipients.Item(i); MailAddress address = BuildMailAddress(recip); switch (recip.Type) { case 1: outMailItem.To.Add(address); break; case 2: outMailItem.CC.Add(address); break; case 3: outMailItem.Bcc.Add(address); break; default: break; } } }
private Cashflow[] GetBondCashflows(IMarketCondition market, bool netted = true, bool calcAi = false) { var accruals = Accruals.ToArray(); var schedulePaymentDates = calcAi ? Accruals.Skip(1).ToArray() : PaymentSchedule.ToArray(); if (schedulePaymentDates.Length == 0) { throw new PricingLibraryException("Number of payments is 0"); } List <CfCalculationDetail[]> cfCalcDetails; var cashflows = new List <Cashflow>(); var prevCfDate = accruals[0]; var coupons = Coupon.GetCoupon( Accruals, market.FixingCurve.HasValue ? market.FixingCurve.Value : null, market.HistoricalIndexRates.HasValue ? market.HistoricalIndexRates.Value : null, out cfCalcDetails, IssueRate, _compensationRate); var refStartDates = new List <Date>(); var refEndDates = new List <Date>(); for (var i = 0; i < coupons.Length; ++i) { var refStartDate = accruals[i]; var refEndDate = accruals[i + 1]; if (i == 0 && !_isRegualDate[i]) { if (PaymentFreq != Frequency.None) { if (Stub == Stub.LongStart || Stub == Stub.ShortStart) { refStartDate = PaymentFreq.GetTerm().Prev(refEndDate); } else { refEndDate = PaymentFreq.GetTerm().Next(refStartDate); } } } refStartDates.Add(refStartDate); refEndDates.Add(refEndDate); } IAmortization amortization; if (AmortizationType == AmortizationType.EqualPrincipal || AmortizationType == AmortizationType.EqualPrincipalAndInterest) { //for these two types, amortization is calculated in cash flow calculation var tArr = coupons.Select((x, i) => AccrualDayCount.CalcDayCountFraction(accruals[i], accruals[i + 1], refStartDates[i], refEndDates[i])).ToArray(); double[] begPrincipal; double[] interest; double[] principalPay; double[] prepayment; double[] defaultPrincipal; _mortgageCalculator.GetPaymentDetails(tArr, Notional, coupons, PaymentFreq, AmortizationType, out begPrincipal, out interest, out principalPay, out prepayment, out defaultPrincipal, 0); amortization = new Amortization(ToAmortizationSchedule(schedulePaymentDates, principalPay.Select((x, i) => Tuple.Create(i + 1, x)).ToDictionary(x => x.Item1, x => x.Item2)), false); } else { amortization = Amoritzation.Adjust(new Schedule(schedulePaymentDates), Calendar, calcAi ? AccrualBizDayRule : PaymentBizDayRule, PaymentFreq); amortization = amortization.ResetAmortization(market.ValuationDate); } for (var i = 0; i < coupons.Length; ++i) { var amortizationRedemption = 0.0; var remainPrincipal = 100.0; var couponPay = 0.0; var prevDate = prevCfDate; if (amortization.AmortizationSchedule != null && amortization.AmortizationSchedule.Any(x => x.Key > prevCfDate && x.Key < schedulePaymentDates[i])) { var intermediatePrePayDate = amortization.AmortizationSchedule.Where(x => x.Key > prevCfDate && x.Key < schedulePaymentDates[i]).Select(x => x.Key).OrderBy(x => x).ToArray(); CfCalculationDetail[] tmpCfCalculationDetails; foreach (var date in intermediatePrePayDate) { amortizationRedemption = amortization.GetRemainingPrincipal(prevDate); remainPrincipal = Notional * amortizationRedemption; var periodCoupon = Coupon.GetCoupon(prevDate, date, market.FixingCurve.Value, market.HistoricalIndexRates, out tmpCfCalculationDetails, _compensationRate[i]); couponPay = remainPrincipal * periodCoupon * AccrualDayCount.CalcDayCountFraction(prevDate, date, refStartDates[i], refEndDates[i]); cashflows.Add(new Cashflow(prevDate, date, date, couponPay, Currency, CashflowType.Coupon, tmpCfCalculationDetails.Aggregate(true, (current, v) => current & v.IsFixed), market.GetDf(date), cfCalcDetails[i], refStartDates[i], refEndDates[i], remainPrincipal, periodCoupon)); prevDate = date; } coupons[i] = Coupon.GetCoupon(prevDate, accruals[i + 1], market.FixingCurve.Value, market.HistoricalIndexRates, out tmpCfCalculationDetails, _compensationRate[i]); cfCalcDetails[i] = tmpCfCalculationDetails; } amortizationRedemption = amortization.GetRemainingPrincipal(prevDate); remainPrincipal = Notional * amortizationRedemption; couponPay = remainPrincipal * coupons[i] * AccrualDayCount.CalcDayCountFraction(prevDate, accruals[i + 1], refStartDates[i], refEndDates[i]); if (i == coupons.Length - 1) { amortizationRedemption = amortization.GetRemainingPrincipal(prevCfDate); remainPrincipal = Notional * amortizationRedemption; //final settlement might be adjusted, coupon [MaturityDate, settlementDate) is added if (SettlmentGap != null) { var settlementDate = SettlmentGap.Get(Calendar, UnderlyingMaturityDate); if (settlementDate > accruals[i + 1]) { var tmpCoupon = double.IsNaN(_settlementCoupon) ? coupons[i] : _settlementCoupon; var additionalCoupon = remainPrincipal * tmpCoupon * AccrualDayCount.CalcDayCountFraction(UnderlyingMaturityDate, settlementDate, refStartDates[i], refEndDates[i]); couponPay += additionalCoupon; } } couponPay = Redemption.GetRedemptionPayment(couponPay, remainPrincipal) - remainPrincipal; } cashflows.Add(new Cashflow(prevDate, accruals[i + 1], schedulePaymentDates[i], couponPay, Currency, CashflowType.Coupon, cfCalcDetails[i] == null ? true : cfCalcDetails[i].Aggregate(true, (current, v) => current & v.IsFixed), market.GetDf(schedulePaymentDates[i]), cfCalcDetails[i], refStartDates[i], refEndDates[i], remainPrincipal, coupons[i])); prevCfDate = accruals[i + 1]; } cashflows.AddRange(amortization.AmortizationSchedule.Keys.Select(key => new Cashflow(key, key, key, amortization.AmortizationSchedule[key] * Notional, Currency, CashflowType.Principal, true, market.GetDf(key), null))); if (netted) { return(cashflows .GroupBy(cf => cf.PaymentDate) .Select(item => new Cashflow(item.Min(x => x.AccrualStartDate), item.Max(x => x.AccrualEndDate), item.Key, item.Sum(entry => entry.PaymentAmount), Currency, CashflowType.Coupon, item.Aggregate(true, (current, v) => current && v.IsFixed), market.GetDf(item.Key), item.Min(x => x.CalculationDetails), item.Min(x => x.RefStartDate), item.Max(x => x.RefEndDate), item.Max(entry => entry.StartPrincipal), item.Sum(entry => entry.CouponRate))) .OrderBy(cf => cf.PaymentDate) .ToArray()); } else { return(cashflows.ToArray()); } }
internal static void GetAttachProps(Redemption.Attachment attach, out string contentId, out bool hidden) { const string SOURCE = CLASS_NAME + "GetAttachProps"; contentId = null; hidden = false; try { object prop; try { prop = attach.Fields[ThisAddIn.PR_ATTACHMENT_HIDDEN]; } catch { prop = null; } if (prop != null) { hidden = Convert.ToBoolean(prop); } //only check hidden attachments for contentId if (hidden) { try { prop = attach.Fields[ThisAddIn.PR_ATTACH_CONTENT_ID]; } catch { prop = null; } if (prop != null) { contentId = Convert.ToString(prop); } } } catch (Exception ex) { Logger.Error(SOURCE, ex.ToString()); } }
internal Recipient(Redemption.SafeRecipient recipient) { m_recipient = recipient; }
internal MessageItem(Redemption.MessageItem msg) { m_msg = msg; }
public async static Task <ServiceResponse> UpdateVoucherAsync(Voucher voucher, Discount discount, Gift gift, Redemption redemption, Code_Config codeconfig, MetaData metaData) { ServiceResponse sresponse = null; try { using (var conn = Connection) { if (conn.State == System.Data.ConnectionState.Closed) { conn.Open(); } //Parameters Declaration to be passed into Stored procdure "InsertVoucher".. DynamicParameters parameters = new DynamicParameters(); parameters.Add("@Code", voucher.Code); parameters.Add("@VoucherType", voucher.Voucher_type); parameters.Add("@DiscountType", discount.Discount_type); parameters.Add("@DiscountPercentOff", discount.Percent_Off); parameters.Add("@DiscountAmountOff", discount.Amount_Off); parameters.Add("@DiscountAmountLimit", discount.AmountLimit); parameters.Add("@DiscountUnitOff", discount.Unit_Off); parameters.Add("@DiscountUnitType", discount.Unit_Type); parameters.Add("@GiftAmount", gift.Amount); parameters.Add("@VoucherCategory", voucher.Category); parameters.Add("@VoucherAdditionalInfo", voucher.Additional_Info); parameters.Add("@VoucherStartDate", voucher.Start_Date); parameters.Add("@VoucherExpirationDate", voucher.Expiration_Date); parameters.Add("@VoucherActiveStatus", voucher.Active); parameters.Add("@RedemptionQuantity", redemption.Quantity); parameters.Add("@CodePrefix", codeconfig.prefix); parameters.Add("@CodeSuffix", codeconfig.suffix); parameters.Add("@CodeLength", codeconfig.length); parameters.Add("@CodeCharset", codeconfig.charset); parameters.Add("@VoucherMetaData", metaData.Meta_Data); await conn.ExecuteAsync("UpdateVoucher", parameters, commandType : System.Data.CommandType.StoredProcedure); sresponse = new ServiceResponse("200", "Successful", "Voucher has been Updated"); } return(sresponse); } catch (AggregateException ae) { return(sresponse = new ServiceResponse("400", "Unsuccessful", ae.Message)); } }
internal Recipients(Redemption.SafeRecipients recipients) { m_recipients = recipients; }
internal AddressEntries(Redemption.AddressEntries addressentries) { m_addressentries = addressentries; }
internal Attachments(Redemption.Attachments attachments) { m_attachments = attachments; }