protected void rptSplits_ItemDataBound(object sender, RepeaterItemEventArgs e) { CRM_FundraisingSplit split = (CRM_FundraisingSplit)e.Item.DataItem; DropDownList ddlFund = (DropDownList)e.Item.FindControl("ddlFund"); TextBox txtPrice = (TextBox)e.Item.FindControl("txtPrice"); TextBox txtGiftAidRate = (TextBox)e.Item.FindControl("txtGiftAidRate"); UserControlDateCalendar txtDateGiven = (UserControlDateCalendar)e.Item.FindControl("txtDateGiven"); LinkButton lnkRemove = (LinkButton)e.Item.FindControl("lnkRemove"); BindFundDDL(ddlFund); ddlFund.SelectedValue = split.CRM_FundID.ToString(); lnkRemove.Attributes[DataIndex] = e.Item.ItemIndex.ToString(); txtPrice.Text = split.Amount.ToString("N2"); txtDateGiven.Value = split.DateGiven; txtGiftAidRate.Text = split.GiftAidRate.ToString("N0"); }
protected List <CRM_FundraisingSplit> GetSplitsFromRepeater() { List <CRM_FundraisingSplit> splitList = new List <CRM_FundraisingSplit>(); foreach (RepeaterItem item in rptSplits.Items) { DropDownList ddlFund = (DropDownList)item.FindControl("ddlFund"); TextBox txtPrice = (TextBox)item.FindControl("txtPrice"); TextBox txtGiftAidRate = (TextBox)item.FindControl("txtGiftAidRate"); UserControlDateCalendar txtDateGiven = (UserControlDateCalendar)item.FindControl("txtDateGiven"); CRM_FundraisingSplit split = new CRM_FundraisingSplit() { Amount = Convert.ToDecimal(txtPrice.Text), CRM_FundID = Convert.ToInt32(ddlFund.SelectedValue), DateGiven = txtDateGiven.Value, GiftAidRate = Convert.ToDecimal(txtGiftAidRate.Text) }; splitList.Add(split); } return(splitList); }
protected void SaveRecord(bool newRecord) { // new record / exiting record // object oldEntity = null; object oldAddress = null; if (newRecord) { Entity = new CRM_Fundraising(); db.CRM_Fundraisings.InsertOnSubmit(Entity); } else { oldEntity = Entity.ShallowCopy(); oldAddress = Entity.CRM_Address.ShallowCopy(); } int recurring = 0; Int32.TryParse(txtRecurringWeeks.Text, out recurring); Entity.IsInKind = chkIsInKind.Checked; Entity.PledgedAmount = Convert.ToDecimal(txtAmount.Text); Entity.IsGiftAid = chkIsGiftAid.Checked; Entity.GiftAidFirstname = txtGiftaidFirstname.Text; Entity.GiftAidLastname = txtGiftaidLastname.Text; Entity.IsRecurring = chkIsRecurring.Checked; Entity.RecurringEveryWeeks = recurring; Entity.Duration = Convert.ToInt32(txtDuration.Text); Entity.CRM_PaymentTypeID = Convert.ToInt32(ddlPaymentType.SelectedValue); Entity.CRM_FundraisingReasonID = Convert.ToInt32(ddlFundReason.SelectedValue); Entity.PrimaryContactReference = ucACPrimaryContact.SelectedID; using (ContactManager manager = new ContactManager()) { IContact selectedContact = new ContactManager().Contacts.Single(c => c.Reference == ucACPrimaryContact.SelectedID); Entity.ContactName = selectedContact.Fullname; Entity.ContactType = selectedContact.DisplayName; manager.Dispose(); } if (newRecord) { CRM_Address address = new CRM_Address(); Entity.CRM_Address = (CRM_Address)((Address)ucGiftAidAddress).Save(address); } else { Entity.CRM_Address = (CRM_Address)((Address)ucGiftAidAddress).Save(Entity.CRM_Address); } db.SubmitChanges(); db.CRM_FundraisingSplits.DeleteAllOnSubmit(Entity.CRM_FundraisingSplits); db.SubmitChanges(); foreach (CRM_FundraisingSplit serialSplit in GetSplitsFromRepeater()) { CRM_FundraisingSplit split = new CRM_FundraisingSplit() { Amount = serialSplit.Amount, CRM_FundID = serialSplit.CRM_FundID, DateGiven = serialSplit.DateGiven, GiftAidRate = serialSplit.GiftAidRate, CRM_FundRaisingID = Entity.ID }; db.CRM_FundraisingSplits.InsertOnSubmit(split); db.SubmitChanges(); } if (oldEntity != null) { CRM.Code.History.History.RecordLinqUpdate(AdminUser, oldEntity, Entity); CRM.Code.History.History.RecordLinqUpdate(AdminUser, oldAddress, Entity.CRM_Address); db.SubmitChanges(); } else { CRM.Code.History.History.RecordLinqInsert(AdminUser, Entity); CRM.Code.History.History.RecordLinqInsert(AdminUser, Entity.CRM_Address); } ucCustomFields.Save(Entity.Reference); Session.Remove(SplitListConst); }