public void ValidateRate() { List <Payment> lstPayment = Payment.GetByRateID(this.ID); if (lstPayment.Count > 0) { ValidationErrors.Add("RateValue", "Не може да се менува вредност на рата за која се внесени плаќања!"); return; } List <Rate> lstRate = Rate.GetByPolicyItemIDExtend(this.PolicyItemID); if (lstRate.Count == this.Number) { decimal prevValue = 0; List <Rate> lstPrevRates = lstRate.Where(c => c.Number < this.Number).ToList(); foreach (Rate rateR in lstPrevRates) { prevValue += rateR.Value; } PolicyItem pi = PolicyItem.Get(this.PolicyItemID); if (this.Value != (pi.PremiumValue - prevValue)) { ValidationErrors.Add("RateValue", "Не може да се внесе износ на последна рата со кој вкупниот износ од рати ќе се разликува од премијата за наплата на полисата!"); return; } } }
public static void DiscardFacture(int id) { AccountFacture f = Get(id); f.Discard = true; AccountFacture.Table.Context.SubmitChanges(); IEnumerable <AccountFactureItemPolicyItem> afipiList = AccountFactureItemPolicyItem.GetByAccountFacture(id); foreach (AccountFactureItemPolicyItem afipi in afipiList) { PolicyItem pi = PolicyItem.Get(afipi.PolicyItemID); pi.IsAccountFactured = false; PolicyItem.Table.Context.SubmitChanges(); } }
public static void InsertItems(RollBackDistribution rbd, List <RollBackDistributionInfo> previousMonths, List <RollBackDistributionInfo> currentMonths) { decimal totalValue = 0; decimal brokerageValue = 0; foreach (RollBackDistributionInfo rbdi in previousMonths) { if (rbdi.IsForRollBack) { PolicyItem pi = PolicyItem.Get(rbdi.ID); if (!pi.Policy.Discard) { totalValue += rbdi.PremiumValue; brokerageValue += rbdi.BrokerageValue; } RollBackDistributionItem rbdItem = new RollBackDistributionItem(); rbdItem.PolicyItemID = rbdi.ID; rbdItem.RollBackDistributionID = rbd.ID; pi.IsRollBacked = true; rbdItem.Insert(); } } foreach (RollBackDistributionInfo rbdi in currentMonths) { if (rbdi.IsForRollBack) { PolicyItem pi = PolicyItem.Get(rbdi.ID); if (!pi.Policy.Discard) { totalValue += rbdi.PremiumValue; brokerageValue += rbdi.BrokerageValue; } RollBackDistributionItem rbdItem = new RollBackDistributionItem(); rbdItem.PolicyItemID = rbdi.ID; rbdItem.RollBackDistributionID = rbd.ID; pi.IsRollBacked = true; rbdItem.Insert(); } } RollBackDistribution.UpdateValues(totalValue, brokerageValue, rbd.ID); }
public static void UpdateExtend(Rate oldEntity, Rate newEntity) { decimal polValue = PolicyItem.Get(newEntity.PolicyItemID).PremiumValue; DataClassesDataContext dc = new DataClassesDataContext(); string value = newEntity.Value.ToString(); value = value.Replace(',', '.'); string query = "Update Rates SET Value = " + value + " , Date = '" + newEntity.Date.Year + - +newEntity.Date.Month + - +newEntity.Date.Day + "' WHERE ID = " + newEntity.ID; dc.ExecuteCommand(query); //Cascade update rest rates string selQuery = @"Select r.* FROM Rates r WHERE r.PolicyItemID = " + newEntity.PolicyItemID + " ORDER BY r.Number"; List <Rate> lstAllRates = dc.ExecuteQuery <Rate>(selQuery).ToList(); if (lstAllRates != null) { if (lstAllRates.Count > 0) { List <Rate> lstPreviousRates = lstAllRates.Where(c => c.Number <= oldEntity.Number).ToList(); decimal totValue = 0; foreach (Rate rate in lstPreviousRates) { totValue += rate.Value; } List <Rate> lstRateForUpdates = lstAllRates.Where(c => c.Number > oldEntity.Number).ToList(); if (lstRateForUpdates.Count > 0) { decimal rightValue = (polValue - totValue) / lstRateForUpdates.Count; foreach (Rate rateU in lstRateForUpdates) { string valueU = rightValue.ToString(); valueU = valueU.Replace(',', '.'); string queryU = "Update Rates SET Value = " + valueU + " WHERE ID = " + rateU.ID; dc.ExecuteCommand(queryU); } } } } }
public static void DiscardFacture(int id) { Facture f = Get(id); f.Discard = true; Facture.Table.Context.SubmitChanges(); IEnumerable <FacturePayment> fpIenum = FacturePayment.GetByFacture(id); foreach (FacturePayment fp in fpIenum) { Payment p = Payment.Get(fp.PaymentID); p.IsFactured = false; Payment.Table.Context.SubmitChanges(); } List <PolicyItemFactureItem> lstPIFI = PolicyItemFactureItem.GetByFactureID(id); foreach (PolicyItemFactureItem pifi in lstPIFI) { PolicyItem pi = PolicyItem.Get(pifi.PolicyItemID); pi.IsFactureCreated = false; PolicyItem.Table.Context.SubmitChanges(); } }