Exemplo n.º 1
0
 public void FromCustomObject(SqlConnection con, IntPtr pUdt)
 {
     if (ID != null)
     {
         SqlUdt.SetValue(con, pUdt, "ID", ID.ToSqlValue());
     }
     if (CheckNo != null)
     {
         SqlUdt.SetValue(con, pUdt, "CheckNo", CheckNo.ToSqlValue());
     }
     if (CheckType != null)
     {
         SqlUdt.SetValue(con, pUdt, "CheckType", CheckType.ToSqlValue());
     }
     if (DutyUser != null)
     {
         SqlUdt.SetValue(con, pUdt, "DutyUser", DutyUser.ToSqlValue());
     }
     if (CheckDesc != null)
     {
         SqlUdt.SetValue(con, pUdt, "CheckDesc", CheckDesc.ToSqlValue());
     }
     if (CheckStatus != null)
     {
         SqlUdt.SetValue(con, pUdt, "CheckStatus", CheckStatus.ToSqlValue());
     }
     if (BeginTime != null)
     {
         SqlUdt.SetValue(con, pUdt, "BeginTime", BeginTime.ToSqlValue());
     }
     if (DoneTime != null)
     {
         SqlUdt.SetValue(con, pUdt, "DoneTime", DoneTime.ToSqlValue());
     }
     if (Remarks != null)
     {
         SqlUdt.SetValue(con, pUdt, "Remarks", Remarks.ToSqlValue());
     }
     if (IsDel != null)
     {
         SqlUdt.SetValue(con, pUdt, "IsDel", IsDel.ToSqlValue());
     }
     if (Creater != null)
     {
         SqlUdt.SetValue(con, pUdt, "Creater", Creater.ToSqlValue());
     }
     if (CreateTime != null)
     {
         SqlUdt.SetValue(con, pUdt, "CreateTime", CreateTime.ToSqlValue());
     }
     if (Modifyer != null)
     {
         SqlUdt.SetValue(con, pUdt, "Modifyer", Modifyer.ToSqlValue());
     }
     if (ModifyTime != null)
     {
         SqlUdt.SetValue(con, pUdt, "ModifyTime", ModifyTime.ToSqlValue());
     }
 }
Exemplo n.º 2
0
 internal void PostContribution()
 {
     if (AmountGeneral > 0 || AmountGoer > 0)
     {
         var org       = DbUtil.Db.LoadOrganizationById(OrgId);
         var notifyIds = DbUtil.Db.NotifyIds(org.OrganizationId, org.GiftNotifyIds);
         var person    = DbUtil.Db.LoadPersonById(PeopleId ?? 0);
         var setting   = new Settings(org.RegSetting, DbUtil.Db, org.OrganizationId);
         var fund      = setting.DonationFundId;
         if (AmountGoer > 0)
         {
             var goerid = Goer.Value.ToInt();
             DbUtil.Db.GoerSenderAmounts.InsertOnSubmit(
                 new GoerSenderAmount
             {
                 Amount      = AmountGoer,
                 GoerId      = goerid,
                 Created     = DateTime.Now,
                 OrgId       = org.OrganizationId,
                 SupporterId = PeopleId ?? 0,
             });
             var c = person.PostUnattendedContribution(DbUtil.Db,
                                                       AmountGoer ?? 0, fund,
                                                       "SupportMissionTrip: org={0}; goer={1}".Fmt(OrgId, Goer.Value), typecode: BundleTypeCode.MissionTrip);
             c.CheckNo = CheckNo.Truncate(20);
             if (PeopleId == goerid)
             {
                 var om = DbUtil.Db.OrganizationMembers.Single(
                     mm => mm.PeopleId == goerid && mm.OrganizationId == OrgId);
                 om.AddTransaction(DbUtil.Db, "Payment", AmountGoer ?? 0, "Payment");
             }
             // send notices
             var goer = DbUtil.Db.LoadPersonById(goerid);
             ToGoerName = "to " + goer.Name;
             DbUtil.Db.Email(notifyIds[0].FromEmail, goer, org.OrganizationName + "-donation",
                             "{0:C} donation received from {1}".Fmt(AmountGoer, person.Name));
         }
         if (AmountGeneral > 0)
         {
             DbUtil.Db.GoerSenderAmounts.InsertOnSubmit(
                 new GoerSenderAmount
             {
                 Amount      = AmountGeneral,
                 Created     = DateTime.Now,
                 OrgId       = org.OrganizationId,
                 SupporterId = PeopleId ?? 0
             });
             var c = person.PostUnattendedContribution(DbUtil.Db,
                                                       AmountGeneral ?? 0, fund,
                                                       "SupportMissionTrip: org={0}".Fmt(OrgId), typecode: BundleTypeCode.MissionTrip);
             c.CheckNo = CheckNo;
         }
         DbUtil.Db.SubmitChanges();
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Checks if a jump is safe
        /// </summary>
        /// <param name="oldcol"></param>
        /// <param name="oldrow"></param>
        /// <param name="type"></param>
        /// <param name="mode"></param>
        /// <returns></returns>
        public bool CheckingJumps(int oldcol, int oldrow, SquareValues type, CheckNo mode)
        {
            switch (mode)
            {
            case CheckNo.RightUp:
                try
                {
                    a = Board.Squares[oldcol + 2, oldrow - 2];
                    b = Board.Squares[oldcol + 1, oldrow - 1];
                    Board.Squares[oldcol + 2, oldrow - 2] = type;
                    Board.Squares[oldcol + 1, oldrow - 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol + 2, oldrow - 2) || Board.CanJump(type, oldcol + 2, oldrow - 2) != 0)
                    {
                        Board.Squares[oldcol + 2, oldrow - 2] = a;
                        Board.Squares[oldcol + 1, oldrow - 1] = b;
                        return(true);
                    }
                    else
                    {
                        Board.Squares[oldcol + 2, oldrow - 2] = a;
                        Board.Squares[oldcol + 1, oldrow - 1] = b;
                        return(false);
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol + 2, oldrow - 2] = a;
                        Board.Squares[oldcol + 1, oldrow - 1] = b;
                        return(false);
                    }
                    catch (Exception)
                    {
                        return(false);
                    }
                }

            case CheckNo.LeftUp:
                try
                {
                    a = Board.Squares[oldcol - 2, oldrow - 2];
                    b = Board.Squares[oldcol - 1, oldrow - 1];
                    Board.Squares[oldcol - 2, oldrow - 2] = type;
                    Board.Squares[oldcol - 1, oldrow - 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol - 2, oldrow - 2) || Board.CanJump(type, oldcol - 2, oldrow - 2) != 0)
                    {
                        Board.Squares[oldcol - 2, oldrow - 2] = a;
                        Board.Squares[oldcol - 1, oldrow - 1] = b;
                        return(true);
                    }
                    else
                    {
                        Board.Squares[oldcol - 2, oldrow - 2] = a;
                        Board.Squares[oldcol - 1, oldrow - 1] = b;
                        return(false);
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol - 2, oldrow - 2] = a;
                        Board.Squares[oldcol - 1, oldrow - 1] = b;
                        return(false);
                    }
                    catch (Exception)
                    {
                        return(false);
                    }
                }

            case CheckNo.RightDown:
                try
                {
                    a = Board.Squares[oldcol + 2, oldrow + 2];
                    b = Board.Squares[oldcol + 1, oldrow + 1];
                    Board.Squares[oldcol + 2, oldrow + 2] = type;
                    Board.Squares[oldcol + 1, oldrow + 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol + 2, oldrow + 2) || Board.CanJump(type, oldcol + 2, oldrow + 2) != 0)
                    {
                        Board.Squares[oldcol + 2, oldrow + 2] = a;
                        Board.Squares[oldcol + 1, oldrow + 1] = b;
                        return(true);
                    }
                    else
                    {
                        Board.Squares[oldcol + 2, oldrow + 2] = a;
                        Board.Squares[oldcol + 1, oldrow + 1] = b;
                        return(false);
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol + 2, oldrow + 2] = a;
                        Board.Squares[oldcol + 1, oldrow + 1] = b;
                        return(false);
                    }
                    catch (Exception)
                    {
                        return(false);
                    }
                }

            case CheckNo.LeftDown:
                try
                {
                    a = Board.Squares[oldcol - 2, oldrow + 2];
                    b = Board.Squares[oldcol - 1, oldrow + 1];
                    Board.Squares[oldcol - 2, oldrow + 2] = type;
                    Board.Squares[oldcol - 1, oldrow + 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol - 2, oldrow + 2) || Board.CanJump(type, oldcol - 2, oldrow + 2) != 0)
                    {
                        Board.Squares[oldcol - 2, oldrow + 2] = a;
                        Board.Squares[oldcol - 1, oldrow + 1] = b;
                        return(true);;
                    }
                    else
                    {
                        Board.Squares[oldcol - 2, oldrow + 2] = a;
                        Board.Squares[oldcol - 1, oldrow + 1] = b;
                        return(false);
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol - 2, oldrow + 2] = a;
                        Board.Squares[oldcol - 1, oldrow + 1] = b;
                        return(false);
                    }
                    catch (Exception)
                    {
                        return(false);
                    }
                }

            default:
                return(false);
            }
        }
Exemplo n.º 4
0
        internal void PostContribution()
        {
            if (!(AmountGeneral > 0) && !(AmountGoer > 0))
            {
                return;
            }

            var org       = DbUtil.Db.LoadOrganizationById(OrgId);
            var notifyIds = DbUtil.Db.NotifyIds(org.GiftNotifyIds);
            var person    = DbUtil.Db.LoadPersonById(PeopleId ?? 0);
            var setting   = DbUtil.Db.CreateRegistrationSettings(OrgId ?? 0);
            var fund      = setting.DonationFundId;

            if (AmountGoer > 0)
            {
                var goerid = Goer.Value.ToInt();
                DbUtil.Db.GoerSenderAmounts.InsertOnSubmit(
                    new GoerSenderAmount
                {
                    Amount      = AmountGoer,
                    GoerId      = goerid,
                    Created     = DateTime.Now,
                    OrgId       = org.OrganizationId,
                    SupporterId = PeopleId ?? 0,
                });
                var c = person.PostUnattendedContribution(DbUtil.Db,
                                                          AmountGoer ?? 0, fund,
                                                          $"SupportMissionTrip: org={OrgId}; goer={Goer.Value}", typecode: BundleTypeCode.MissionTrip);
                c.CheckNo = (CheckNo ?? "").Trim().Truncate(20);
                if (PeopleId == goerid)
                {
                    var om = DbUtil.Db.OrganizationMembers.Single(
                        mm => mm.PeopleId == goerid && mm.OrganizationId == OrgId);
                    var descriptionForPayment = OnlineRegModel.GetDescriptionForPayment(OrgId);
                    om.AddTransaction(DbUtil.Db, "Payment", AmountGoer ?? 0, "Payment", pmtDescription: descriptionForPayment);
                }
                // send notices
                var goer = DbUtil.Db.LoadPersonById(goerid);
                ToGoerName = "to " + goer.Name;
                DbUtil.Db.Email(notifyIds[0].FromEmail, goer, org.OrganizationName + "-donation",
                                $"{AmountGoer:C} donation received from {person.Name}");
                DbUtil.LogActivity("OrgMem SupportMissionTrip goer=" + goerid, OrgId, PeopleId);
            }
            if (AmountGeneral > 0)
            {
                DbUtil.Db.GoerSenderAmounts.InsertOnSubmit(
                    new GoerSenderAmount
                {
                    Amount      = AmountGeneral,
                    Created     = DateTime.Now,
                    OrgId       = org.OrganizationId,
                    SupporterId = PeopleId ?? 0
                });
                var c = person.PostUnattendedContribution(DbUtil.Db,
                                                          AmountGeneral ?? 0, fund,
                                                          $"SupportMissionTrip: org={OrgId}", typecode: BundleTypeCode.MissionTrip);
                if (CheckNo.HasValue())
                {
                    c.CheckNo = (CheckNo ?? "").Trim().Truncate(20);
                }

                DbUtil.LogActivity("OrgMem SupportMissionTrip", OrgId, PeopleId);
            }
            DbUtil.Db.SubmitChanges();
        }
Exemplo n.º 5
0
        /// <summary>
        /// Checks if a jump is safe
        /// </summary>
        /// <param name="oldcol"></param>
        /// <param name="oldrow"></param>
        /// <param name="mode"></param>
        private void CheckingJumps(int oldcol, int oldrow, SquareValues type, CheckNo mode)
        {
            switch (mode)
            {
            case CheckNo.RightUp:
                try
                {
                    a = Board.Squares[oldcol + 2, oldrow - 2];
                    b = Board.Squares[oldcol + 1, oldrow - 1];
                    Board.Squares[oldcol + 2, oldrow - 2] = type;
                    Board.Squares[oldcol + 1, oldrow - 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol + 2, oldrow - 2) || Board.CanJump(type, oldcol + 2, oldrow - 2) != 0)
                    {
                        Board.Squares[oldcol + 2, oldrow - 2] = a;
                        Board.Squares[oldcol + 1, oldrow - 1] = b;
                        Jumper(oldcol, oldrow);
                    }
                    else
                    {
                        Board.Squares[oldcol + 2, oldrow - 2] = a;
                        Board.Squares[oldcol + 1, oldrow - 1] = b;
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol + 2, oldrow - 2] = a;
                        Board.Squares[oldcol + 1, oldrow - 1] = b;
                    }
                    catch (Exception)
                    {
                        return;
                    }
                    return;
                }

                break;

            case CheckNo.LeftUp:
                try
                {
                    a = Board.Squares[oldcol - 2, oldrow - 2];
                    b = Board.Squares[oldcol - 1, oldrow - 1];
                    Board.Squares[oldcol - 2, oldrow - 2] = type;
                    Board.Squares[oldcol - 1, oldrow - 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol - 2, oldrow - 2) || Board.CanJump(type, oldcol - 2, oldrow - 2) != 0)
                    {
                        Board.Squares[oldcol - 2, oldrow - 2] = a;
                        Board.Squares[oldcol - 1, oldrow - 1] = b;
                        Jumper(oldcol, oldrow);
                    }
                    else
                    {
                        Board.Squares[oldcol - 2, oldrow - 2] = a;
                        Board.Squares[oldcol - 1, oldrow - 1] = b;
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol - 2, oldrow - 2] = a;
                        Board.Squares[oldcol - 1, oldrow - 1] = b;
                    }
                    catch (Exception)
                    {
                        return;
                    }
                    return;
                }

                break;

            case CheckNo.RightDown:
                try
                {
                    a = Board.Squares[oldcol + 2, oldrow + 2];
                    b = Board.Squares[oldcol + 1, oldrow + 1];
                    Board.Squares[oldcol + 2, oldrow + 2] = type;
                    Board.Squares[oldcol + 1, oldrow + 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol + 2, oldrow + 2) || Board.CanJump(type, oldcol + 2, oldrow + 2) != 0)
                    {
                        Board.Squares[oldcol + 2, oldrow + 2] = a;
                        Board.Squares[oldcol + 1, oldrow + 1] = b;
                        Jumper(oldcol, oldrow);
                    }
                    else
                    {
                        Board.Squares[oldcol + 2, oldrow + 2] = a;
                        Board.Squares[oldcol + 1, oldrow + 1] = b;
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol + 2, oldrow + 2] = a;
                        Board.Squares[oldcol + 1, oldrow + 1] = b;
                    }
                    catch (Exception)
                    {
                        return;
                    }
                    return;
                }

                break;

            case CheckNo.LeftDown:
                try
                {
                    a = Board.Squares[oldcol - 2, oldrow + 2];
                    b = Board.Squares[oldcol - 1, oldrow + 1];
                    Board.Squares[oldcol - 2, oldrow + 2] = type;
                    Board.Squares[oldcol - 1, oldrow + 1] = SquareValues.Empty;
                    if (!Board.CanBeJumped(oldcol - 2, oldrow + 2) || Board.CanJump(type, oldcol - 2, oldrow + 2) != 0)
                    {
                        Board.Squares[oldcol - 2, oldrow + 2] = a;
                        Board.Squares[oldcol - 1, oldrow + 1] = b;
                        Jumper(oldcol, oldrow);
                    }
                    else
                    {
                        Board.Squares[oldcol - 2, oldrow + 2] = a;
                        Board.Squares[oldcol - 1, oldrow + 1] = b;
                    }
                }
                catch (Exception)
                {
                    try
                    {
                        Board.Squares[oldcol - 2, oldrow + 2] = a;
                        Board.Squares[oldcol - 1, oldrow + 1] = b;
                    }
                    catch (Exception)
                    {
                        return;
                    }
                    return;
                }
                break;
            }
        }