Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
                        }
                    }
                }
            }
        }
Beispiel #5
0
        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();
            }
        }