public int RemovePercentageRule(int percentageRuleId) { DistributionPercentage dp = Context.DistributionPercentages.SingleOrDefault(r => r.ID == percentageRuleId); int ruleId = dp.DistributionRuleId; Context.DistributionPercentages.Remove(dp); Context.SaveChanges(); return(ruleId); }
public ActionResult SubmitRule(ModuleDepositRules mdr) { DistributionRule dr = null; var percsToRemove = new List <DistributionPercentage>(); if (mdr.id == 0) { dr = new DistributionRule() { Name = mdr.nome, UserId = User.Identity.Name, DistributionPercentages = new List <DistributionPercentage>() }; foreach (var perc in mdr.regras) { var dp = new DistributionPercentage() { FundID = perc.fundo.id, ReserveID = perc.objetivo.id, Percentage = perc.porcentagem / 100, }; dr.DistributionPercentages.Add(dp); } using (var o = new FinancialOperations()) o.AddRule(dr); } else { using (var q = new FinancialQueries()) { dr = q.GetDistributionRule(mdr.id.Value); for (int i = 0; i < dr.DistributionPercentages.Count; i++) { var currPerc = dr.DistributionPercentages.ElementAt(i); if (mdr.regras.Any(r => r.fundo.id == currPerc.FundID && r.objetivo.id == currPerc.ReserveID) == false) { percsToRemove.Add(currPerc); } } dr.Name = mdr.nome; foreach (var perc in mdr.regras) { var dp = dr.DistributionPercentages.SingleOrDefault(p => p.FundID == perc.fundo.id && p.ReserveID == perc.objetivo.id); if (dp == null) { dp = new DistributionPercentage() { FundID = perc.fundo.id, ReserveID = perc.objetivo.id, Percentage = perc.porcentagem / 100 }; dr.DistributionPercentages.Add(dp); } else { dp.FundID = perc.fundo.id; dp.ReserveID = perc.objetivo.id; dp.Percentage = perc.porcentagem; } } using (var o = new FinancialOperations(q.Context)) o.UpdateRule(dr, percsToRemove); } } return(RulesPartial()); }
public void AddPercentageRule(DistributionPercentage percentageRule) { Context.DistributionPercentages.Add(percentageRule); Context.SaveChanges(); }