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()); } }
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(); } }
/// <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); } }
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(); }
/// <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; } }