protected void gvNewPolicies_PageIndexChanging(object sender, GridViewPageEventArgs e) { List <PolicyForSlipsInfo> lastPolicyForSlipsInfos = listPolicyForSlipsInfos; GridViewRowCollection displayedRows = gvNewPolicies.Rows; foreach (GridViewRow gvRow in displayedRows) { CheckBox cbIsForFacturing = gvRow.FindControl("cbIsForFacturing") as CheckBox; int factureInfoID = Convert.ToInt32(gvNewPolicies.DataKeys[gvRow.RowIndex].Value); PolicyForSlipsInfo pfsi = lastPolicyForSlipsInfos.Where(f => f.ID == factureInfoID).SingleOrDefault(); pfsi.IsForFacturing = cbIsForFacturing.Checked; } listPolicyForSlipsInfos = lastPolicyForSlipsInfos; gvNewPolicies.PageIndex = e.NewPageIndex; gvNewPolicies.DataSource = lastPolicyForSlipsInfos; gvNewPolicies.DataBind(); }
protected void btnCheck_Click(object sender, EventArgs e) { DateTime fromDate = DateTime.Parse(tbFromDate.Text); DateTime toDate = DateTime.Parse(tbToDate.Text); List <PolicyItem> pList = PolicyItem.GetNonBrokerageSliped(Convert.ToInt32(ddlInsuranceCompanies.SelectedValue), fromDate, toDate); List <PolicyForSlipsInfo> fInfos = new List <PolicyForSlipsInfo>(); foreach (PolicyItem pi in pList) { PolicyForSlipsInfo pfsi = new PolicyForSlipsInfo(); pfsi.ID = pi.ID; pfsi.BrokerageID = pi.BrokerageID; pfsi.PacketBrokerageID = pi.PacketBrokerageID; pfsi.InsuranceSubTypeID = pi.InsuranceSubTypeID; pfsi.IsForFacturing = true; pfsi.PolicyNumber = pi.PolicyNumber; fInfos.Add(pfsi); } listPolicyForSlipsInfos = fInfos; gvNewPolicies.DataSource = fInfos; gvNewPolicies.DataBind(); }
protected void btnCreate_Click(object sender, EventArgs e) { DateTime fromDate = DateTime.Parse(tbFromDate.Text); DateTime toDate = DateTime.Parse(tbToDate.Text); int insuranceCompanyID = Convert.ToInt32(ddlInsuranceCompanies.SelectedValue); List <PolicyForSlipsInfo> lastPolicyForSlipsInfos = listPolicyForSlipsInfos; GridViewRowCollection displayedRows = gvNewPolicies.Rows; foreach (GridViewRow gvRow in displayedRows) { CheckBox cbIsForFacturing = gvRow.FindControl("cbIsForFacturing") as CheckBox; int factureInfoID = Convert.ToInt32(gvNewPolicies.DataKeys[gvRow.RowIndex].Value); PolicyForSlipsInfo pfsi = lastPolicyForSlipsInfos.Where(f => f.ID == factureInfoID).SingleOrDefault(); pfsi.IsForFacturing = cbIsForFacturing.Checked; } listPolicyForSlipsInfos = lastPolicyForSlipsInfos; List <PolicyForSlipsInfo> listFactureInfo = listPolicyForSlipsInfos.Where(c => c.IsForFacturing == true).ToList(); if (listFactureInfo.Count > 0) { BrokerageSlip bs = new BrokerageSlip(); bs.BasisForCompensation = tbBasisForCompensation.Text; bs.Date = DateTime.Today; bs.Description = tbDescription.Text; bs.FromDate = fromDate; bs.InsuranceCompanyID = insuranceCompanyID; bs.InsuranceRisks = tbInsuranceRisks.Text; bs.InsuranceThings = tbInsuranceThings.Text; if (listFactureInfo.Count == 1) { PolicyItem tmpPol = PolicyItem.Get(listFactureInfo[0].ID); if (tmpPol != null) { bs.Insurer = tmpPol.Policy.Client1.Name; } else { bs.Insurer = "ПО ПРИЛОГ ПОЛИСИ"; } } else { bs.Insurer = "ПО ПРИЛОГ ПОЛИСИ"; } bs.Number = BrokerageSlip.GetNextNumber(insuranceCompanyID); bs.OtherConditions = tbOtherConditions.Text; bs.ToDate = toDate; bs.Insert(); Dictionary <int, List <decimal> > dic = new Dictionary <int, List <decimal> >(); foreach (PolicyForSlipsInfo pfsi in listFactureInfo) { if (!dic.Keys.Contains(pfsi.InsuranceSubTypeID)) { List <decimal> brokPercentages = new List <decimal>(); if (pfsi.BrokerageID != null) { Brokerage brokerage = Brokerage.Get(pfsi.BrokerageID); brokPercentages.Add(brokerage.PercentageForPrivates); brokPercentages.Add(brokerage.PercentageForLaws); } else if (pfsi.PacketBrokerageID != null) { PacketsInsuranceSubType pist = PacketsInsuranceSubType.Get(pfsi.PacketBrokerageID); brokPercentages.Add(pist.BrokeragePecentageForPrivates); brokPercentages.Add(pist.BrokeragePecentageForLaws); } dic.Add(pfsi.InsuranceSubTypeID, brokPercentages); } BrokerageSlipPolicyItem bspi = new BrokerageSlipPolicyItem(); bspi.BrokerageSlipID = bs.ID; bspi.PolicyItemID = pfsi.ID; bspi.Insert(); PolicyItem pItem = PolicyItem.Get(pfsi.ID); pItem.IsBrokerageSliped = true; PolicyItem.Table.Context.SubmitChanges(); } foreach (KeyValuePair <int, List <decimal> > kvPair in dic) { BrokerageSlipInsuranceSubType bsist = new BrokerageSlipInsuranceSubType(); bsist.BrokerageSlipID = bs.ID; bsist.BrokeragePercentagePrivates = kvPair.Value[0]; bsist.BrokeragePercentageLaws = kvPair.Value[1]; bsist.InsuranceSubTypeID = kvPair.Key; bsist.Insert(); } btnPrBrokSlip.Enabled = true; ViewState["BrokerageSlipID"] = bs.ID; GXGridView1SelectedValue = bs.ID; } }