Ejemplo n.º 1
0
 public void RemoveExistingLop(CMSDataContext db, int id, string op)
 {
     var exlop = FetchLongRunningOp(db, id, op);
     if (exlop != null)
         db.LongRunningOps.DeleteOnSubmit(exlop);
     db.SubmitChanges();
 }
Ejemplo n.º 2
0
        public static void ResolvePrevDaysVirtualCheckRejects(CMSDataContext db, DateTime start, DateTime end)
        {
            var gateway = DbUtil.Db.Gateway();
            var response = gateway.GetReturnedChecks(start, end);


            //var ds = gw.VirtualCheckRejects(dt);
            //var items = from r in ds.Tables[0].AsEnumerable()
            //            let rejectdt = r["reject_date"].ToDate() ?? DateTime.MinValue
            //            where rejectdt > DateTime.MinValue
            //            select new
            //            {
            //                rejectdt,
            //                trantype = r["trantype"],
            //                amt = r["rejedt_amount"].ToString().ToDecimal(),
            //                tranid = r["customer_number"].ToInt(),
            //                rejectcode = r["reject_code"].ToString(),
            //                message = r["correction_info"].ToString(),
            //            };
            /*
             * Create a new transaction to reverse the original
             * If the transaction was for online giving or recurring giving, then reverse the contribution.
             * If the transaction contained an extra donation, then reverse that contribution.
             * Send an email to the payor.
             * Send an email notification to the online notify list for the associated organization
             */
        }
Ejemplo n.º 3
0
 public bool UseBootstrap(CMSDataContext db)
 {
     if (usebootstrap.HasValue)
         return usebootstrap.Value;
     var org = db.LoadOrganizationById(OrgId);
     return (usebootstrap = org.UseBootstrap) ?? false;
 }
Ejemplo n.º 4
0
 public UploadAddressesModel(CMSDataContext db, int peopleId)
 {
     this.db = db;
     userpeopleid = peopleId;
     var spec = db.Setting("NcoaColumns", "PeopleId=1,Addr1=4,Addr2=5,City=6,State=7,Zip=8,MoveDate=10");
     NcoaCols = spec.Split(',').Select(vv => vv.Split('=')).ToDictionary(vv => vv[0], vv => vv[1].ToInt()-1);
 }
Ejemplo n.º 5
0
		public static byte[] FetchBytes(CMSDataContext Db, int? iid)
		{
			var image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == iid);
			if (image == null)
				return null;
			return image.Bits;
		}
Ejemplo n.º 6
0
        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.OrganizationMembers.DeleteOnSubmit(this);
            db.SubmitChanges();
        }
Ejemplo n.º 7
0
 public static LongRunningOp FetchLongRunningOp(CMSDataContext db, int id, string op)
 {
     var lop = db.LongRunningOps.SingleOrDefault(m => m.Id == id && m.Operation == op);
     if(lop != null)
         lop.host = db.Host;
     return lop;
 }
Ejemplo n.º 8
0
        public static string VitalStats(CMSDataContext Db)
        {
            var qf = new QueryFunctions(Db);
            var script = Db.Content("VitalStats");
            if (script == null)
                return "no VitalStats script";
            #if DEBUG2
            var options = new Dictionary<string, object>();
            options["Debug"] = true;
            var engine = Python.CreateEngine(options);
            var paths = engine.GetSearchPaths();
            paths.Add(path);
            engine.SetSearchPaths(paths);
            var sc = engine.CreateScriptSourceFromFile(HttpContext.Current.Server.MapPath("/MembershipAutomation2.py"));
            #else
            var engine = Python.CreateEngine();
            var sc = engine.CreateScriptSourceFromString(script.Body);
            #endif

            try
            {
                var code = sc.Compile();
                var scope = engine.CreateScope();
                code.Execute(scope);

                dynamic VitalStats = scope.GetVariable("VitalStats");
                dynamic m = VitalStats();
                return m.Run(qf);
            }
            catch (Exception ex)
            {
                return "VitalStats script error: " + ex.Message;
            }
        }
Ejemplo n.º 9
0
        public static string RunScript(CMSDataContext db, string script)
        {
            if (!script.HasValue())
                return "no VitalStats script";

            var qf = new QueryFunctions(db);
            var engine = Python.CreateEngine();
            var ms = new MemoryStream();
            var sw = new StreamWriter(ms);
            engine.Runtime.IO.SetOutput(ms, sw);
            engine.Runtime.IO.SetErrorOutput(ms, sw);
            var sc = engine.CreateScriptSourceFromString(script);
            try
            {
                var code = sc.Compile();
                var scope = engine.CreateScope();
                scope.SetVariable("q", qf);
                scope.SetVariable("db", db);
                code.Execute(scope);
                ms.Position = 0;
                var sr = new StreamReader(ms);
                return sr.ReadToEnd();
            }
            catch (Exception ex)
            {
                return "VitalStats script error: " + ex.Message;
            }
        }
Ejemplo n.º 10
0
 public UploadPeopleModel(CMSDataContext Db, int PeopleId, bool noupdate)
 {
     this.Db = Db;
     Db2 = DbUtil.Create(Db.Host);
     this.PeopleId = PeopleId;
     this.noupdate = noupdate;
 }
Ejemplo n.º 11
0
 public static Meeting FetchOrCreateMeeting(CMSDataContext Db, int OrgId, DateTime dt, bool? noautoabsents = null)
 {
     var meeting = (from m in Db.Meetings
                    where m.OrganizationId == OrgId && m.MeetingDate == dt
                    select m).FirstOrDefault();
     if (meeting == null)
     {
         var acr = (from s in Db.OrgSchedules
                    where s.OrganizationId == OrgId
                    where s.SchedTime.Value.TimeOfDay == dt.TimeOfDay
                    where s.SchedDay == (int)dt.DayOfWeek
                    select s.AttendCreditId).SingleOrDefault();
         meeting = new Meeting
         {
             OrganizationId = OrgId,
             MeetingDate = dt,
             CreatedDate = Util.Now,
             CreatedBy = Util.UserId1,
             GroupMeetingFlag = false,
             AttendCreditId = acr ?? 1,
             NoAutoAbsents = noautoabsents
         };
         Db.Meetings.InsertOnSubmit(meeting);
         Db.SubmitChanges();
     }
     return meeting;
 }
Ejemplo n.º 12
0
        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;
        }
Ejemplo n.º 13
0
Archivo: Views.cs Proyecto: vs06/bvcms
 public static List<Value> GetStandardExtraValues(CMSDataContext db, string table, bool nocache = false)
 {
     return (from vv in GetViews(db, nocache).List
             where vv.Table == table
             from v in vv.Values
             select v).ToList();
 }
Ejemplo n.º 14
0
 public TagsModel()
 {
     Db = DbUtil.Db;
     Direction = "asc";
     GetCount = Count;
     SetCurrentTag();
 }
Ejemplo n.º 15
0
 public static void AddAsPreviousMember(CMSDataContext db, int oid, int pid, string orgname, int mbrid, DateTime joindt, DateTime dropdt, int userid)
 {
     db.EnrollmentTransactions.InsertOnSubmit(
         new EnrollmentTransaction
         {
             OrganizationId = oid,
             PeopleId = pid,
             OrganizationName = orgname,
             MemberTypeId = mbrid,
             TransactionDate = joindt,
             TransactionTypeId = 1,
             CreatedBy = userid,
             CreatedDate = Util.Now,
         });
     db.EnrollmentTransactions.InsertOnSubmit(
         new EnrollmentTransaction
         {
             OrganizationId = oid,
             PeopleId = pid,
             OrganizationName = orgname,
             MemberTypeId = mbrid,
             TransactionDate = dropdt,
             TransactionTypeId = 5,
             CreatedBy = userid,
             CreatedDate = Util.Now,
         });
     db.SubmitChanges();
 }
Ejemplo n.º 16
0
        public static int DoAllGiving(CMSDataContext Db)
        {
            var gateway = Db.Setting("TransactionGateway", "");
            int count = 0;
            if (gateway.HasValue())
            {
                var q = from rg in Db.ManagedGivings
                        where rg.NextDate < Util.Now.Date
                        //where rg.PeopleId == 819918
                        select rg;
                foreach (var rg in q)
                    rg.NextDate = rg.FindNextDate(Util.Now.Date);

                var rgq = from rg in Db.ManagedGivings
                          where rg.NextDate == Util.Now.Date
                          select new
                          {
                              rg,
                              rg.Person,
                              rg.Person.RecurringAmounts,
                          };
                foreach (var i in rgq)
                    count += i.rg.DoGiving(Db);
            }
            return count;
        }
Ejemplo n.º 17
0
 public UploadPeopleModel(CMSDataContext Db, int PeopleId, bool noupdate, string connectionstring)
 {
     this.Db = Db;
     Db2 = new CMSDataContext(connectionstring);
     this.PeopleId = PeopleId;
     this.noupdate = noupdate;
 }
Ejemplo n.º 18
0
 internal Expression Expression(QueryBuilderClause qbc, ParameterExpression parm, CMSDataContext Db)
 {
     var c = new Condition()
     {
         Age = qbc.Age,
         Campus = qbc.Campus,
         Comparison = qbc.Comparison,
         DateValue = qbc.DateValue,
         CodeIdValue = qbc.CodeIdValue,
         Days = qbc.Days,
         Division = qbc.Division,
         EndDate = qbc.EndDate,
         ConditionName = qbc.Field,
         Organization = qbc.Organization,
         OrgType = qbc.OrgType,
         Program = qbc.Program,
         Quarters = qbc.Quarters,
         Schedule = qbc.Schedule,
         StartDate = qbc.StartDate,
         Tags = qbc.Tags,
         TextValue = qbc.TextValue,
         SavedQuery = qbc.SavedQueryIdDesc
     };
     return c.GetExpression(parm, Db, qbc.SetIncludeDeceased, qbc.SetParentsOf);
 }
Ejemplo n.º 19
0
        public static void RegisterHelpers(CMSDataContext db)
        {
            Handlebars.RegisterHelper("BottomBorder", (writer, context, args) => { writer.Write(CssStyle.BottomBorder); });
            Handlebars.RegisterHelper("AlignTop", (writer, context, args) => { writer.Write(CssStyle.AlignTop); });
            Handlebars.RegisterHelper("AlignRight", (writer, context, args) => { writer.Write(CssStyle.AlignRight); });
            Handlebars.RegisterHelper("DataLabelStyle", (writer, context, args) => { writer.Write(CssStyle.DataLabelStyle); });
            Handlebars.RegisterHelper("LabelStyle", (writer, context, args) => { writer.Write(CssStyle.LabelStyle); });
            Handlebars.RegisterHelper("DataStyle", (writer, context, args) => { writer.Write(CssStyle.DataStyle); });

            Handlebars.RegisterHelper("ServerLink", (writer, context, args) => { writer.Write(db.ServerLink().TrimEnd('/')); });
            Handlebars.RegisterHelper("FmtZip", (writer, context, args) => { writer.Write(args[0].ToString().FmtZip()); });
            Handlebars.RegisterHelper("IfEqual", (writer, options, context, args) =>
            {
                if (IsEqual(args))
                    options.Template(writer, (object)context);
                else
                    options.Inverse(writer, (object)context);
            });
            Handlebars.RegisterHelper("IfNotEqual", (writer, options, context, args) =>
            {
                if (!IsEqual(args))
                    options.Template(writer, (object)context);
                else
                    options.Inverse(writer, (object)context);
            });
            Handlebars.RegisterHelper("GetToken", (writer, context, args) =>
            {
                var s = args[0].ToString();
                var n = args[1].ToInt();
                var ntoks = args.Length > 2 ? args[2].ToInt() : 2;
                var sep = args.Length > 3 ? args[3].ToString() : " ";
                var a = s.SplitStr(sep, ntoks);
                writer.Write(a[n].trim());
            });

            // Format helper in form of:  {{Fmt value "fmt"}}
            // ex. {{Fmt Total "C"}}
            // fmt is required. Uses standard/custom dotnet format strings
            Handlebars.RegisterHelper("Fmt", (writer, context, args) =>
            {
                var fmt = $"{{0:{args[1]}}}";
                writer.Write(fmt, args[0]);
            });

            // FmtPhone helper in form of:  {{FmtPhone phone# "prefix"}}
            Handlebars.RegisterHelper("FmtPhone", (writer, context, args) => { writer.Write(args[0].ToString().FmtFone($"{args[1]}")); });

            Handlebars.RegisterHelper("ReplaceCode", (writer, context, args) =>
            {
                EmailReplacements r = context.Replacements as EmailReplacements
                    ?? (context.Replacements = new EmailReplacements(db));
                var code = args[0].ToString();
                var p = db.LoadPersonById(args[1].ToInt());
                int? oid = null;
                if(args.Length == 3)
                    oid = args[2].ToInt2();
                writer.Write(r.RenderCode(code, p, oid));
            });
        }
Ejemplo n.º 20
0
        public void Save(CMSDataContext Db, bool increment = false, string owner = null)
        {
            var q = (from e in Db.Queries
                     where e.QueryId == Id
                     select e).FirstOrDefault();

            if (q == null)
            {
                q = new Query
                {
                    QueryId = Id,
                    Owner = Util.UserName,
                    Created = DateTime.Now,
                    Ispublic = IsPublic,
                    Name = Description
                };
                Db.Queries.InsertOnSubmit(q);
            }
            if(increment)
                q.LastRun = DateTime.Now;

            if (Description != q.Name)
            {
                var same = (from v in Db.Queries
                            where !v.Ispublic
                            where v.Owner == Util.UserName
                            where v.Name == Description
                            orderby v.LastRun descending
                            select v).FirstOrDefault();
                if (same != null)
                    same.Text = ToXml();
                else
                {
                    var c = Clone();
                    var cq = new Query
                    {
                        QueryId = c.Id,
                        Owner = Util.UserName,
                        Created = q.Created,
                        Ispublic = q.Ispublic,
                        Name = q.Name,
                        Text = c.ToXml(),
                        RunCount = q.RunCount,
                        CopiedFrom = q.CopiedFrom,
                        LastRun = q.LastRun
                    };
                    Db.Queries.InsertOnSubmit(cq);
                }
            }
            q.Name = Description;
            q.LastRun = DateTime.Now;
            if(owner.HasValue())
                q.Owner = owner;
            q.Ispublic = IsPublic;
            if (increment)
                q.RunCount = q.RunCount + 1;
            q.Text = ToXml();
            Db.SubmitChanges();
        }
        public void DoWork()
        {
            Db = DbUtil.Create(Host);
            Db.CommandTimeout = 1200;

            var noaddressok = Db.Setting("RequireAddressOnStatement", "true") == "false";
            showCheckNo = Db.Setting("RequireCheckNoOnStatement", "false").ToLower() == "true";
            showNotes = Db.Setting("RequireNotesOnStatement", "false").ToLower() == "true";
            const bool UseMinAmt = true;

            var qc = APIContribution.contributors(Db, fd, td, 0, 0, 0, noaddressok, UseMinAmt, StartsWith, Sort, tagid: TagId, excludeelectronic: ExcludeElectronic);
            var runningtotals = Db.ContributionsRuns.OrderByDescending(mm => mm.Id).First();
            runningtotals.Count = qc.Count();
            Db.SubmitChanges();
            if (showCheckNo || showNotes)
            {
                var c = new ContributionStatementsExtra
                {
                    FromDate = fd,
                    ToDate = td,
                    typ = 3,
                    ShowCheckNo = showCheckNo,
                    ShowNotes = showNotes
                };
                using (var stream = new FileStream(OutputFile, FileMode.Create))
                    c.Run(stream, Db, qc);
                LastSet = c.LastSet();
                var sets = c.Sets();
                foreach (var set in sets)
                    using (var stream = new FileStream(Output(OutputFile, set), FileMode.Create))
                        c.Run(stream, Db, qc, set);
                runningtotals = Db.ContributionsRuns.OrderByDescending(mm => mm.Id).First();
                runningtotals.LastSet = LastSet;
                runningtotals.Sets = string.Join(",", sets);
                runningtotals.Completed = DateTime.Now;
                Db.SubmitChanges();
            }
            else
            {
                var c = new ContributionStatements
                {
                    FromDate = fd,
                    ToDate = td,
                    typ = 3
                };
                using (var stream = new FileStream(OutputFile, FileMode.Create))
                    c.Run(stream, Db, qc);
                LastSet = c.LastSet();
                var sets = c.Sets();
                foreach (var set in sets)
                    using (var stream = new FileStream(Output(OutputFile, set), FileMode.Create))
                        c.Run(stream, Db, qc, set);
                runningtotals = Db.ContributionsRuns.OrderByDescending(mm => mm.Id).First();
                runningtotals.LastSet = LastSet;
                runningtotals.Sets = string.Join(",", sets);
                runningtotals.Completed = DateTime.Now;
                Db.SubmitChanges();
            }
        }
Ejemplo n.º 22
0
 public void DropAllMemberships(CMSDataContext Db)
 {
     var list = (from om in Db.OrganizationMembers
                 where om.PeopleId == PeopleId
                 select om).ToList();
     foreach (var om in list)
         om.Drop(Db, DateTime.Now);
 }
Ejemplo n.º 23
0
 public UploadPeopleModel(string host, int PeopleId, bool noupdate, bool testing = false)
 {
     Db2 = DbUtil.Create(host);
     this.PeopleId = PeopleId;
     this.noupdate = noupdate;
     this.testing = testing;
     this.host = host;
 }
Ejemplo n.º 24
0
 public PythonEvents(string dbname, Dictionary<string, object> dict)
 {
     dictionary = dict;
     Data = new DynamicData(dictionary);
     db = DbUtil.Create(dbname);
     pythonPath = ConfigurationManager.AppSettings["pythonPath"];
     pyrazorPath = ConfigurationManager.AppSettings["pyrazorPath"];
 }
Ejemplo n.º 25
0
 public static void AddEditExtraData(CMSDataContext db, int id, string field, string value)
 {
     if (!value.HasValue())
         return;
     var ev = GetExtraValue(db, id, field);
     ev.Data = value;
     ev.TransactionTime = DateTime.Now;
 }
Ejemplo n.º 26
0
 public QuickSearchModel(string t)
 {
     text = t ?? "";
     NameSplit(text, out First, out Last);
     Db = DbUtil.Db;
     people = PeopleList().ToList();
     orgs = Orglist().ToList();
 }
Ejemplo n.º 27
0
 public static Settings ParseSettings(string s, CMSDataContext Db, int OrgId)
 {
     var settings = ParseSettings(s);
     settings.Db = Db;
     settings.OrgId = OrgId;
     settings.org = Db.LoadOrganizationById(OrgId);
     return settings;
 }
Ejemplo n.º 28
0
Archivo: Views.cs Proyecto: vs06/bvcms
        public static Views GetViews(CMSDataContext db, bool nocache = false)
        {
            var xml = DbUtil.StandardExtraValues2(db, nocache);

            var f = Util.DeSerialize<Views>(xml);
            if (f == null)
                return new Views();
            return f;
        }
Ejemplo n.º 29
0
 public static string FetchUsername(CMSDataContext db, string first, string last)
 {
     var username = first.Trim().ToLower()[0] + last.Trim().ToLower().Replace(",", "");
     var uname = username;
     var i = 1;
     while (db.Users.SingleOrDefault(u => u.Username == uname) != null)
         uname = username + i++;
     return uname;
 }
Ejemplo n.º 30
0
 public CustomReportsModel(CMSDataContext db, string report, Guid? id = null, int? orgId = null)
     : this(db, orgId)
 {
     Report = report;
     if (id != null)
         queryid = id.Value;
     if(orgid == null)
         orgid = db.CurrentOrgId0;
 }
Ejemplo n.º 31
0
        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                   = 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;
                }
            }
        }
Ejemplo n.º 32
0
        public static OrganizationMember InsertOrgMembers(CMSDataContext db, int organizationId, int peopleId, int memberTypeId, DateTime enrollmentDate, DateTime?inactiveDate = null, bool pending = false, bool skipTriggerProcessing = false)
        {
            var org = db.LoadOrganizationById(organizationId);

            return(InsertOrgMembers(db, organizationId, peopleId, memberTypeId, enrollmentDate, inactiveDate, pending, org.OrganizationName, skipTriggerProcessing));
        }
Ejemplo n.º 33
0
 public EnrollmentTransaction Drop(CMSDataContext db, CMSImageDataContext idb, bool skipTriggerProcessing = false)
 {
     return(Drop(db, idb, DateTime.Now, skipTriggerProcessing));
 }
Ejemplo n.º 34
0
        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            = 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),
                    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);
            }
        }
Ejemplo n.º 35
0
        public Transaction AddTransaction(CMSDataContext db, string reason, decimal payment, string description, decimal?amount = null, bool?adjustFee = false, string pmtDescription = null)
        {
            var ts = TransactionSummary(db);
            var ti = db.Transactions.SingleOrDefault(tt => tt.Id == TranId);

            if (ti == null)
            {
                ti = (from t in db.Transactions
                      where t.OriginalTransaction.TransactionPeople.Any(pp => pp.PeopleId == PeopleId)
                      where t.OriginalTransaction.OrgId == OrganizationId
                      orderby t.Id descending
                      select t).FirstOrDefault();
                if (ti != null)
                {
                    TranId = ti.Id;
                }
            }

            var ti2 = new Transaction
            {
                TransactionId   = $"{reason} ({Util.UserPeopleId ?? Util.UserId1})",
                Description     = Util.PickFirst(pmtDescription, Organization.OrganizationName),
                TransactionDate = DateTime.Now,
                OrgId           = OrganizationId,
                Name            = Person.Name,
                First           = Person.PreferredName,
                Last            = Person.LastName,
                MiddleInitial   = Person.MiddleName.Truncate(1),
                Suffix          = Person.SuffixCode,
                Address         = Person.PrimaryAddress,
                City            = Person.PrimaryCity,
                Emails          = Person.EmailAddress,
                State           = Person.PrimaryState,
                Zip             = Person.PrimaryZip,
                LoginPeopleId   = Util.UserPeopleId,
                Approved        = true,
                Amt             = payment,
                //Amtdue = (amount ?? payment) - payment,
                Amtdue    = (amount ?? 0) - payment,
                AdjustFee = adjustFee,
                Message   = description,
            };

            db.Transactions.InsertOnSubmit(ti2);
            db.SubmitChanges();
            if (ts == null)
            {
                TranId = ti2.Id;
                ti2.TransactionPeople.Add(new TransactionPerson {
                    PeopleId = PeopleId, OrgId = OrganizationId, Amt = amount ?? payment
                });
                if (ti != null)
                {
                    ti.OriginalId = ti.Id;
                }
            }
            ti2.OriginalId = TranId;
            db.SubmitChanges();

            //            if (Organization.IsMissionTrip == true)
            //            {
            //                var settings = Settings.CreateSettings(Organization.RegSetting, db, OrganizationId);
            //            }

            return(ti2);
        }
Ejemplo n.º 36
0
        public static void MoveToOrg(CMSDataContext db, CMSImageDataContext idb, int pid, int fromOrg, int toOrg, bool?moveregdata = true, int toMemberTypeId = -1)
        {
            if (fromOrg == toOrg)
            {
                return;
            }

            var om = db.OrganizationMembers.SingleOrDefault(m => m.PeopleId == pid && m.OrganizationId == fromOrg);

            if (om == null)
            {
                return;
            }

            var tom = db.OrganizationMembers.SingleOrDefault(m => m.PeopleId == pid && m.OrganizationId == toOrg);

            if (tom == null)
            {
                tom = InsertOrgMembers(db,
                                       toOrg, pid, MemberTypeCode.Member, DateTime.Now, null, om.Pending ?? false, skipTriggerProcessing: true);
                if (tom == null)
                {
                    return;
                }
            }
            tom.MemberTypeId = toMemberTypeId != -1
                ? toMemberTypeId
                : om.MemberTypeId;
            tom.UserData = om.UserData;

            if (om.Pending == true) // search for PromotingTo Extra Value to update
            {
                var fromev = (from vv in db.OrgMemberExtras
                              where vv.PeopleId == om.PeopleId
                              where vv.IntValue == om.OrganizationId
                              where vv.Field == "PromotingTo"
                              select vv).SingleOrDefault();
                if (fromev != null)
                {
                    fromev.IntValue = tom.OrganizationId;
                }
            }
            if (moveregdata == true)
            {
                tom.Request            = om.Request;
                tom.Amount             = om.Amount;
                tom.OnlineRegData      = om.OnlineRegData;
                tom.RegistrationDataId = om.RegistrationDataId;
                tom.Grade         = om.Grade;
                tom.RegisterEmail = om.RegisterEmail;
                tom.ShirtSize     = om.ShirtSize;
                tom.TranId        = om.TranId;
                tom.Tickets       = om.Tickets;

                var sg = om.OrgMemMemTags.Select(mt => mt.MemberTag.Name).ToList();
                foreach (var s in sg)
                {
                    tom.AddToGroup(db, s);
                }
            }

            if (om.OrganizationId != tom.OrganizationId)
            {
                tom.Moved = true;
            }

            om.Drop(db, idb, skipTriggerProcessing: true);
            db.SubmitChanges();
        }
Ejemplo n.º 37
0
 public PythonModel(string dbname, Dictionary <string, object> dict)
 {
     dictionary = dict;
     Data       = new DynamicData(dictionary);
     db         = DbUtil.Create(dbname);
 }
Ejemplo n.º 38
0
        public static bool GatewayTesting(CMSDataContext db, PaymentProcessTypes processType)
        {
            var User = db.Users.SingleOrDefault(us => us.UserId == db.UserId);

            return((User != null && User.InRole("Developer")) ? Setting(db, "GatewayTesting", (int)processType) : false);
        }
Ejemplo n.º 39
0
        public void AddToGroup(CMSDataContext Db, string name)
        {
            int?n = null;

            AddToGroup(Db, name, n);
        }
Ejemplo n.º 40
0
 public static bool MemberExists(CMSDataContext db, int organizationId, int peopleId)
 {
     return(db.OrganizationMembers.Any(m2 => m2.PeopleId == peopleId && m2.OrganizationId == organizationId));
 }
Ejemplo n.º 41
0
 public EnrollmentTransaction Drop(CMSDataContext db, CMSImageDataContext idb, DateTime dropdate, bool skipTriggerProcessing = false)
 {
     return(Drop(db, idb, dropdate, Organization.OrganizationName, skipTriggerProcessing));
 }
Ejemplo n.º 42
0
 public PythonModel(CMSDataContext dbContext, Dictionary <string, object> dict)
 {
     db         = dbContext.Copy();
     dictionary = dict;
     Data       = new DynamicData(dictionary);
 }
Ejemplo n.º 43
0
 public static GatewayAccount GetAccount(CMSDataContext db, int GatewayAccountId)
 {
     return(db.GatewayAccount.FirstOrDefault(a => a.GatewayAccountId == GatewayAccountId));
 }
Ejemplo n.º 44
0
        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)
                    {
                        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;
                }
            }
        }