public static OrganizationMember AddOrgMember(CMSDataContext db, int organizationId, int peopleId, int memberTypeId, DateTime enrollmentDate, string name) { var om = new OrganizationMember { OrganizationId = organizationId, PeopleId = peopleId, MemberTypeId = memberTypeId, EnrollmentDate = enrollmentDate, CreatedDate = Util.Now, SkipInsertTriggerProcessing = true }; var et = new EnrollmentTransaction { OrganizationId = om.OrganizationId, PeopleId = om.PeopleId, MemberTypeId = om.MemberTypeId, OrganizationName = name, TransactionDate = enrollmentDate, EnrollmentDate = enrollmentDate, TransactionTypeId = 1, // join CreatedBy = db.UserId1, CreatedDate = Util.Now, AttendancePercentage = om.AttendPct, SkipInsertTriggerProcessing = true }; db.OrganizationMembers.InsertOnSubmit(om); db.EnrollmentTransactions.InsertOnSubmit(et); db.SubmitChanges(); return(om); }
public static OrganizationMember AddOrgMember(CMSDataContext db, int organizationId, int peopleId, int memberTypeId, DateTime enrollmentDate, string name) { var om = new OrganizationMember { OrganizationId = organizationId, PeopleId = peopleId, MemberTypeId = memberTypeId, EnrollmentDate = enrollmentDate, CreatedDate = Util.Now, SkipInsertTriggerProcessing = true }; var et = new EnrollmentTransaction { OrganizationId = om.OrganizationId, PeopleId = om.PeopleId, MemberTypeId = om.MemberTypeId, OrganizationName = name, TransactionDate = enrollmentDate, EnrollmentDate = enrollmentDate, TransactionTypeId = 1, // join CreatedBy = Util.UserId1, CreatedDate = Util.Now, AttendancePercentage = om.AttendPct, SkipInsertTriggerProcessing = true }; db.OrganizationMembers.InsertOnSubmit(om); db.EnrollmentTransactions.InsertOnSubmit(et); db.SubmitChanges(); return om; }
public void FastDrop(CMSDataContext db, DateTime dropdate, string orgname) { if (!EnrollmentDate.HasValue) { EnrollmentDate = CreatedDate; } var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = orgname, TransactionDate = dropdate, TransactionTypeId = 5, // drop CreatedBy = db.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, InactiveDate = InactiveDate, UserData = UserData, Request = Request, ShirtSize = ShirtSize, Grade = Grade, Tickets = Tickets, RegisterEmail = RegisterEmail, Score = Score, }; db.EnrollmentTransactions.InsertOnSubmit(droptrans); db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); db.OrgMemberExtras.DeleteAllOnSubmit(this.OrgMemberExtras); db.OrganizationMembers.DeleteOnSubmit(this); db.SubmitChanges(); }
public EnrollmentTransaction Drop(CMSDataContext Db, bool addToHistory) { Db.SubmitChanges(); int ntries = 2; while (true) { try { var q = from o in Db.Organizations where o.OrganizationId == OrganizationId let count = Db.Attends.Count(a => a.PeopleId == PeopleId && a.OrganizationId == OrganizationId && (a.MeetingDate < DateTime.Today || a.AttendanceFlag == true)) select new { count, Organization.DaysToIgnoreHistory }; var i = q.Single(); if (!EnrollmentDate.HasValue) { EnrollmentDate = CreatedDate; } var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = Organization.OrganizationName, TransactionDate = Util.Now, TransactionTypeId = 5, // drop CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, }; Db.EnrollmentTransactions.InsertOnSubmit(droptrans); Db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); Db.OrganizationMembers.DeleteOnSubmit(this); Db.ExecuteCommand("DELETE FROM dbo.SubRequest WHERE EXISTS(SELECT NULL FROM Attend a WHERE a.AttendId = AttendId AND a.OrganizationId = {0} AND a.MeetingDate > {1} AND a.PeopleId = {2})", OrganizationId, Util.Now, PeopleId); Db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND MeetingDate > {1} AND PeopleId = {2} AND ISNULL(Commitment, 1) = 1", OrganizationId, Util.Now, PeopleId); return(droptrans); } catch (SqlException ex) { if (ex.Number == 1205) { if (--ntries > 0) { Db.Dispose(); System.Threading.Thread.Sleep(500); continue; } } throw; } } }
public EnrollmentTransaction Drop(CMSDataContext db, DateTime dropdate, string orgname) { db.SubmitChanges(); while (true) { if (!EnrollmentDate.HasValue) { EnrollmentDate = CreatedDate; } var sglist = (from mt in db.OrgMemMemTags where mt.PeopleId == PeopleId where mt.OrgId == OrganizationId select mt.MemberTag.Name ).ToList(); var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = orgname, TransactionDate = dropdate, TransactionTypeId = 5, // drop CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, InactiveDate = InactiveDate, UserData = UserData, Request = Request, ShirtSize = ShirtSize, Grade = Grade, Tickets = Tickets, RegisterEmail = RegisterEmail, Score = Score, SmallGroups = string.Join("\n", sglist) }; db.EnrollmentTransactions.InsertOnSubmit(droptrans); db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); db.OrganizationMembers.DeleteOnSubmit(this); db.ExecuteCommand(@" DELETE dbo.SubRequest FROM dbo.SubRequest sr JOIN dbo.Attend a ON a.AttendId = sr.AttendId WHERE a.OrganizationId = {0} AND a.MeetingDate > {1} AND a.PeopleId = {2} ", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND MeetingDate > {1} AND PeopleId = {2} AND ISNULL(Commitment, 1) = 1", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND DATEADD(DAY, DATEDIFF(DAY, 0, MeetingDate), 0) = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) AND PeopleId = {1} AND AttendanceFlag = 0", OrganizationId, PeopleId); db.ExecuteCommand("UPDATE dbo.GoerSenderAmounts SET InActive = 1 WHERE OrgId = {0} AND (GoerId = {1} OR SupporterId = {1})", OrganizationId, PeopleId); return(droptrans); } }
public EnrollmentTransaction Drop(CMSDataContext db, DateTime dropdate, string orgname) { db.SubmitChanges(); while (true) { if (!EnrollmentDate.HasValue) EnrollmentDate = CreatedDate; var sglist = (from mt in db.OrgMemMemTags where mt.PeopleId == PeopleId where mt.OrgId == OrganizationId select mt.MemberTag.Name ).ToList(); var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = orgname, TransactionDate = dropdate, TransactionTypeId = 5, // drop CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, InactiveDate = InactiveDate, UserData = UserData, Request = Request, ShirtSize = ShirtSize, Grade = Grade, Tickets = Tickets, RegisterEmail = RegisterEmail, Score = Score, SmallGroups = string.Join("\n", sglist) }; db.EnrollmentTransactions.InsertOnSubmit(droptrans); db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); db.OrganizationMembers.DeleteOnSubmit(this); db.ExecuteCommand(@" DELETE dbo.SubRequest FROM dbo.SubRequest sr JOIN dbo.Attend a ON a.AttendId = sr.AttendId WHERE a.OrganizationId = {0} AND a.MeetingDate > {1} AND a.PeopleId = {2} ", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND MeetingDate > {1} AND PeopleId = {2} AND ISNULL(Commitment, 1) = 1", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND DATEADD(DAY, DATEDIFF(DAY, 0, MeetingDate), 0) = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) AND PeopleId = {1} AND AttendanceFlag = 0", OrganizationId, PeopleId); db.ExecuteCommand("UPDATE dbo.GoerSenderAmounts SET InActive = 1 WHERE OrgId = {0} AND (GoerId = {1} OR SupporterId = {1})", OrganizationId, PeopleId); return droptrans; } }
public void FastDrop(CMSDataContext db, DateTime dropdate, string orgname) { if (!EnrollmentDate.HasValue) EnrollmentDate = CreatedDate; var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = orgname, TransactionDate = dropdate, TransactionTypeId = 5, // drop CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, InactiveDate = InactiveDate, UserData = UserData, Request = Request, ShirtSize = ShirtSize, Grade = Grade, Tickets = Tickets, RegisterEmail = RegisterEmail, Score = Score, }; db.EnrollmentTransactions.InsertOnSubmit(droptrans); db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); db.OrgMemberExtras.DeleteAllOnSubmit(this.OrgMemberExtras); db.OrganizationMembers.DeleteOnSubmit(this); db.SubmitChanges(); }
public static OrganizationMember InsertOrgMembers(CMSDataContext Db, int OrganizationId, int PeopleId, int MemberTypeId, DateTime EnrollmentDate, DateTime? InactiveDate, bool pending ) { Db.SubmitChanges(); int ntries = 2; while (true) { try { var m = Db.OrganizationMembers.SingleOrDefault(m2 => m2.PeopleId == PeopleId && m2.OrganizationId == OrganizationId); if (m != null) { m.MemberTypeId = MemberTypeId; Db.SubmitChanges(); return m; } var org = Db.Organizations.SingleOrDefault(oo => oo.OrganizationId == OrganizationId); if (org == null) return null; var name = org.OrganizationName; var om = new OrganizationMember { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, EnrollmentDate = EnrollmentDate, InactiveDate = InactiveDate, CreatedDate = Util.Now, Pending = pending, }; var et = new EnrollmentTransaction { OrganizationId = om.OrganizationId, PeopleId = om.PeopleId, MemberTypeId = om.MemberTypeId, OrganizationName = name, TransactionDate = EnrollmentDate, EnrollmentDate = EnrollmentDate, TransactionTypeId = 1, // join CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = pending, AttendancePercentage = om.AttendPct }; Db.OrganizationMembers.InsertOnSubmit(om); Db.EnrollmentTransactions.InsertOnSubmit(et); Db.SubmitChanges(); return om; } catch (SqlException ex) { if (ex.Number == 1205) if (--ntries > 0) { System.Threading.Thread.Sleep(500); continue; } throw; } } }
public EnrollmentTransaction Drop(CMSDataContext db, DateTime dropdate, bool addToHistory) { db.SubmitChanges(); // int ntries = 2; while (true) { // try // { var q = from o in db.Organizations where o.OrganizationId == OrganizationId let count = db.Attends.Count(a => a.PeopleId == PeopleId && a.OrganizationId == OrganizationId && (a.MeetingDate < DateTime.Today || a.AttendanceFlag == true)) select new { count, Organization.DaysToIgnoreHistory }; var i = q.Single(); if (!EnrollmentDate.HasValue) { EnrollmentDate = CreatedDate; } var sglist = (from mt in db.OrgMemMemTags where mt.PeopleId == PeopleId where mt.OrgId == OrganizationId select mt.MemberTag.Name ).ToList(); var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = Organization.OrganizationName, TransactionDate = dropdate, TransactionTypeId = 5, // drop CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, InactiveDate = InactiveDate, UserData = UserData, Request = Request, ShirtSize = ShirtSize, Grade = Grade, Tickets = Tickets, RegisterEmail = RegisterEmail, Score = Score, SmallGroups = string.Join("\n", sglist) }; db.EnrollmentTransactions.InsertOnSubmit(droptrans); db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); db.OrganizationMembers.DeleteOnSubmit(this); db.ExecuteCommand("DELETE FROM dbo.SubRequest WHERE EXISTS(SELECT NULL FROM Attend a WHERE a.AttendId = AttendId AND a.OrganizationId = {0} AND a.MeetingDate > {1} AND a.PeopleId = {2})", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND MeetingDate > {1} AND PeopleId = {2} AND ISNULL(Commitment, 1) = 1", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("UPDATE dbo.GoerSenderAmounts SET InActive = 1 WHERE OrgId = {0} AND (GoerId = {1} OR SupporterId = {1})", OrganizationId, PeopleId); return(droptrans); // } // catch (SqlException ex) // { // if (ex.Number == 1205) // if (--ntries > 0) // { // Db.Dispose(); // System.Threading.Thread.Sleep(500); // continue; // } // throw; // } } }
public static OrganizationMember InsertOrgMembers (CMSDataContext Db, int OrganizationId, int PeopleId, int MemberTypeId, DateTime EnrollmentDate, DateTime?InactiveDate, bool pending ) { Db.SubmitChanges(); int ntries = 2; while (true) { try { var m = Db.OrganizationMembers.SingleOrDefault(m2 => m2.PeopleId == PeopleId && m2.OrganizationId == OrganizationId); if (m != null) { m.MemberTypeId = MemberTypeId; Db.SubmitChanges(); return(m); } var org = Db.Organizations.SingleOrDefault(oo => oo.OrganizationId == OrganizationId); if (org == null) { return(null); } var name = org.OrganizationName; var om = new OrganizationMember { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, EnrollmentDate = EnrollmentDate, InactiveDate = InactiveDate, CreatedDate = Util.Now, Pending = pending, }; var et = new EnrollmentTransaction { OrganizationId = om.OrganizationId, PeopleId = om.PeopleId, MemberTypeId = om.MemberTypeId, OrganizationName = name, TransactionDate = EnrollmentDate, EnrollmentDate = EnrollmentDate, TransactionTypeId = 1, // join CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = pending, AttendancePercentage = om.AttendPct }; Db.OrganizationMembers.InsertOnSubmit(om); Db.EnrollmentTransactions.InsertOnSubmit(et); Db.SubmitChanges(); return(om); } catch (SqlException ex) { if (ex.Number == 1205) { if (--ntries > 0) { System.Threading.Thread.Sleep(500); continue; } } throw; } } }
private void Populate() { if (dopopulate) { dopopulate = false; if (!OrgId.HasValue || !PeopleId.HasValue) return; } var i = (from et in DbUtil.Db.EnrollmentTransactions where et.OrganizationId == OrgId && et.PeopleId == PeopleId where et.TransactionTypeId == 5 orderby et.TransactionDate descending select new { et, et.Person.Name, et.Organization.OrganizationName, et.Organization, et.SmallGroups, ts = DbUtil.Db.ViewTransactionSummaries.SingleOrDefault( ts => ts.RegId == et.TranId && ts.PeopleId == PeopleId && ts.OrganizationId == OrgId) } ).FirstOrDefault(); if (i == null) throw new Exception($"missing PrevOrgMember at oid={OrgId}, pid={PeopleId}"); PrevMember = i.et; TransactionSummary = i.ts; this.CopyPropertiesFrom(PrevMember); Name = i.Name; AmtFee = i.ts?.IndPaid + i.ts?.IndDue; AmtDonation = i.ts?.IndAmt - AmtFee; AmtCoupon = i.ts?.TotCoupon; OrgName = i.OrganizationName; Organization = i.Organization; OrgMemMemTags = i.SmallGroups.SplitStr("\n").ToList(); Setting = DbUtil.Db.CreateRegistrationSettings(OrgId ?? 0); }
private void detach_EnrollmentTransactions(EnrollmentTransaction entity) { this.SendPropertyChanging(); entity.MemberType = null; }
public static OrganizationMember InsertOrgMembers(CMSDataContext db, int organizationId, int peopleId, int memberTypeId, DateTime enrollmentDate, DateTime?inactiveDate, bool pending, string name, bool skipTriggerProcessing = false) { db.SubmitChanges(); var ntries = 2; while (true) { try { var m = db.OrganizationMembers.SingleOrDefault(m2 => m2.PeopleId == peopleId && m2.OrganizationId == organizationId); if (m != null) { m.Pending = pending; if (m.MemberTypeId == MemberTypeCode.Member || m.MemberTypeId == 0 || m.MemberTypeId == MemberTypeCode.Prospect) { m.MemberTypeId = memberTypeId; } db.SubmitChanges(); return(m); } var om = new OrganizationMember { OrganizationId = organizationId, PeopleId = peopleId, MemberTypeId = memberTypeId, EnrollmentDate = enrollmentDate, InactiveDate = inactiveDate, CreatedDate = Util.Now, Pending = pending, SkipInsertTriggerProcessing = skipTriggerProcessing }; var et = new EnrollmentTransaction { OrganizationId = om.OrganizationId, PeopleId = om.PeopleId, MemberTypeId = om.MemberTypeId, OrganizationName = name, TransactionDate = enrollmentDate, EnrollmentDate = enrollmentDate, TransactionTypeId = 1, // join CreatedBy = db.UserId1, CreatedDate = Util.Now, Pending = pending, AttendancePercentage = om.AttendPct, SkipInsertTriggerProcessing = skipTriggerProcessing }; db.OrganizationMembers.InsertOnSubmit(om); db.EnrollmentTransactions.InsertOnSubmit(et); db.SubmitChanges(); return(om); } catch (SqlException ex) { if (ex.Number == 1205) { if (--ntries > 0) { System.Threading.Thread.Sleep(500); continue; } } throw; } } }
public EnrollmentTransaction Drop(CMSDataContext Db, DateTime dropdate, bool addToHistory) { Db.SubmitChanges(); int ntries = 2; while (true) { try { var q = from o in Db.Organizations where o.OrganizationId == OrganizationId let count = Db.Attends.Count(a => a.PeopleId == PeopleId && a.OrganizationId == OrganizationId && (a.MeetingDate < DateTime.Today || a.AttendanceFlag == true)) select new { count, Organization.DaysToIgnoreHistory }; var i = q.Single(); if (!EnrollmentDate.HasValue) EnrollmentDate = CreatedDate; var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = Organization.OrganizationName, TransactionDate = dropdate, TransactionTypeId = 5, // drop CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, }; Db.EnrollmentTransactions.InsertOnSubmit(droptrans); Db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); Db.OrganizationMembers.DeleteOnSubmit(this); Db.ExecuteCommand("DELETE FROM dbo.SubRequest WHERE EXISTS(SELECT NULL FROM Attend a WHERE a.AttendId = AttendId AND a.OrganizationId = {0} AND a.MeetingDate > {1} AND a.PeopleId = {2})", OrganizationId, Util.Now, PeopleId); Db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND MeetingDate > {1} AND PeopleId = {2} AND ISNULL(Commitment, 1) = 1", OrganizationId, Util.Now, PeopleId); return droptrans; } catch (SqlException ex) { if (ex.Number == 1205) if (--ntries > 0) { Db.Dispose(); System.Threading.Thread.Sleep(500); continue; } throw; } } }
public static OrganizationMember InsertOrgMembers(CMSDataContext db, int organizationId, int peopleId, int memberTypeId, DateTime enrollmentDate, DateTime? inactiveDate, bool pending, string name, bool skipTriggerProcessing = false) { db.SubmitChanges(); var ntries = 2; while (true) { try { var m = db.OrganizationMembers.SingleOrDefault(m2 => m2.PeopleId == peopleId && m2.OrganizationId == organizationId); if (m != null) { m.Pending = pending; m.MemberTypeId = memberTypeId; db.SubmitChanges(); return m; } var om = new OrganizationMember { OrganizationId = organizationId, PeopleId = peopleId, MemberTypeId = memberTypeId, EnrollmentDate = enrollmentDate, InactiveDate = inactiveDate, CreatedDate = Util.Now, Pending = pending, SkipInsertTriggerProcessing = skipTriggerProcessing }; var et = new EnrollmentTransaction { OrganizationId = om.OrganizationId, PeopleId = om.PeopleId, MemberTypeId = om.MemberTypeId, OrganizationName = name, TransactionDate = enrollmentDate, EnrollmentDate = enrollmentDate, TransactionTypeId = 1, // join CreatedBy = Util.UserId1, CreatedDate = Util.Now, Pending = pending, AttendancePercentage = om.AttendPct, SkipInsertTriggerProcessing = skipTriggerProcessing }; db.OrganizationMembers.InsertOnSubmit(om); db.EnrollmentTransactions.InsertOnSubmit(et); db.SubmitChanges(); return om; } catch (SqlException ex) { if (ex.Number == 1205) if (--ntries > 0) { System.Threading.Thread.Sleep(500); continue; } throw; } } }
private void attach_EnrollmentTransactions(EnrollmentTransaction entity) { this.SendPropertyChanging(); entity.Person = this; }
private void detach_EnrollmentTransactions(EnrollmentTransaction entity) { this.SendPropertyChanging(); entity.Organization = null; }
private void detach_EnrollmentTransactions(EnrollmentTransaction entity) { this.SendPropertyChanging(); entity.MemberType = null; }
private void detach_DescTransactions(EnrollmentTransaction entity) { this.SendPropertyChanging(); entity.FirstTransaction = null; }
private void detach_DescTransactions(EnrollmentTransaction entity) { this.SendPropertyChanging(); entity.FirstTransaction = null; }
public EnrollmentTransaction Drop(CMSDataContext db, CMSImageDataContext idb, DateTime dropdate, string orgname, bool skipTriggerProcessing = false) { db.SubmitChanges(); while (true) { if (!EnrollmentDate.HasValue) { EnrollmentDate = CreatedDate; } var sglist = (from mt in db.OrgMemMemTags where mt.PeopleId == PeopleId where mt.OrgId == OrganizationId select mt.MemberTag.Name ).ToList(); var droptrans = new EnrollmentTransaction { OrganizationId = OrganizationId, PeopleId = PeopleId, MemberTypeId = MemberTypeId, OrganizationName = orgname, EnrollmentDate = EnrollmentDate, //Adding Enrollment Date to show on the system after droppíng member. TransactionDate = dropdate, TransactionTypeId = 5, // drop CreatedBy = db.UserId1, CreatedDate = Util.Now, Pending = Pending, AttendancePercentage = AttendPct, InactiveDate = InactiveDate, UserData = UserData, Request = Request, ShirtSize = ShirtSize, Grade = Grade, Tickets = Tickets, RegisterEmail = RegisterEmail, Score = Score, SmallGroups = string.Join("\n", sglist), SkipInsertTriggerProcessing = skipTriggerProcessing }; db.EnrollmentTransactions.InsertOnSubmit(droptrans); db.OrgMemberExtras.DeleteAllOnSubmit(this.OrgMemberExtras); db.OrgMemMemTags.DeleteAllOnSubmit(this.OrgMemMemTags); db.SubmitChanges(); foreach (var ev in this.OrgMemberExtras) { var ev2 = new PrevOrgMemberExtra() { EnrollmentTranId = droptrans.TransactionId, OrganizationId = ev.OrganizationId, PeopleId = ev.PeopleId, Field = ev.Field, StrValue = ev.StrValue, Data = ev.Data, BitValue = ev.BitValue, IntValue = ev.IntValue, DateValue = ev.DateValue, }; db.PrevOrgMemberExtras.InsertOnSubmit(ev2); db.SubmitChanges(); } DeleteDocuments(db, idb); db.OrgMemberExtras.DeleteAllOnSubmit(this.OrgMemberExtras); db.OrganizationMembers.DeleteOnSubmit(this); db.ExecuteCommand(@" DELETE dbo.SubRequest FROM dbo.SubRequest sr JOIN dbo.Attend a ON a.AttendId = sr.AttendId WHERE a.OrganizationId = {0} AND a.MeetingDate > {1} AND a.PeopleId = {2} ", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND MeetingDate > {1} AND PeopleId = {2} AND ISNULL(Commitment, 1) = 1", OrganizationId, Util.Now, PeopleId); db.ExecuteCommand("DELETE dbo.Attend WHERE OrganizationId = {0} AND DATEADD(DAY, DATEDIFF(DAY, 0, MeetingDate), 0) = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) AND PeopleId = {1} AND AttendanceFlag = 0", OrganizationId, PeopleId); db.ExecuteCommand("UPDATE dbo.GoerSenderAmounts SET InActive = 1 WHERE OrgId = {0} AND (GoerId = {1} OR SupporterId = {1})", OrganizationId, PeopleId); return(droptrans); } }