/// <summary> /// 增加还款主从表数据 add by zl /// </summary> /// <param name="entity"></param> /// <returns></returns> public bool AddRepayApplyMasterAndDetail(T_FB_REPAYAPPLYMASTER entity, List <T_FB_REPAYAPPLYDETAIL> detailList) { try { var company = OrgClient.GetCompanyById(entity.OWNERCOMPANYID); if (company != null) { entity.OWNERCOMPANYNAME = company.CNAME; } } catch { } bool re; //2012-8-29 //从服务端获取时间 entity.PROJECTEDREPAYDATE = DateTime.Now; try { dal.BeginTransaction(); foreach (T_FB_REPAYAPPLYDETAIL obj in detailList) { //添加还款明细 Utility.RefreshEntity(obj); entity.T_FB_REPAYAPPLYDETAIL.Add(obj); } re = Add(entity); if (!re) { dal.RollbackTransaction(); return(false); } dal.CommitTransaction(); return(true); } catch (Exception ex) { string ErrInfo = this.GetType().ToString() + ":AddRepayApplyMasterAndDetail," + System.DateTime.Now.ToString() + "," + ex.Message; Tracer.Debug(ErrInfo); dal.RollbackTransaction(); return(false); } }
/// <summary> /// </summary> /// <param name="character"> /// </param> /// <param name="tPlayer"> /// </param> /// <returns> /// </returns> private static MessageDataFiller CharacterInfoPacket(ICharacter character, ICharacter tPlayer) { return(x => { uint LegacyScore = tPlayer.Stats[StatIds.pvp_rating].BaseValue; string LegacyTitle = null; if (LegacyScore < 1400) { LegacyTitle = string.Empty; } else if (LegacyScore < 1500) { LegacyTitle = "Freshman"; } else if (LegacyScore < 1600) { LegacyTitle = "Rookie"; } else if (LegacyScore < 1700) { LegacyTitle = "Apprentice"; } else if (LegacyScore < 1800) { LegacyTitle = "Novice"; } else if (LegacyScore < 1900) { LegacyTitle = "Neophyte"; } else if (LegacyScore < 2000) { LegacyTitle = "Experienced"; } else if (LegacyScore < 2100) { LegacyTitle = "Expert"; } else if (LegacyScore < 2300) { LegacyTitle = "Master"; } else if (LegacyScore < 2500) { LegacyTitle = "Champion"; } else { LegacyTitle = "Grand Master"; } int orgGoverningForm = 0; try { orgGoverningForm = OrganizationDao.Instance.GetGovernmentForm(character.Stats[StatIds.clan].Value); } catch (Exception) { } // Uses methods in ZoneEngine\PacketHandlers\OrgClient.cs /* Known packetFlags-- * 0x40 - No org | 0x41 - Org | 0x43 - Org and towers | 0x47 - Org, towers, player has personal towers | 0x50 - No pvp data shown * Bitflags-- * Bit0 = hasOrg, Bit1 = orgTowers, Bit2 = personalTowers, Bit3 = (Int32) time until supression changes (Byte) type of supression level?, Bit4 = noPvpDataShown, Bit5 = hasFaction, Bit6 = ?, Bit 7 = null. */ int?orgId; string orgRank; InfoPacketType type = InfoPacketType.Character; if (tPlayer.Stats[StatIds.clan].BaseValue == 0) { type = InfoPacketType.Character; orgId = null; orgRank = null; } else { type = InfoPacketType.CharacterOrg; orgId = (int?)tPlayer.Stats[StatIds.clan].BaseValue; if (character.Stats[StatIds.clan].BaseValue == tPlayer.Stats[StatIds.clan].BaseValue) { orgRank = OrgClient.GetRank(orgGoverningForm, tPlayer.Stats[StatIds.clanlevel].BaseValue); } else { orgRank = string.Empty; } } if (tPlayer.Stats[StatIds.npcfamily].Value != 0) { type = InfoPacketType.Monster; x.Unknown = 1; x.Info = new MonsterInfoPacket() { Unknown1 = 1, Unknown2 = 0, CurrentHealth = tPlayer.Stats[StatIds.health].Value, Level = (byte)tPlayer.Stats[StatIds.level].Value, MaxHealth = tPlayer.Stats[StatIds.life].Value, OrganizationId = 0, Profession = (byte)tPlayer.Stats[StatIds.profession].Value, TitleLevel = (byte)tPlayer.Stats[StatIds.titlelevel].Value, VisualProfession = (byte)tPlayer.Stats[StatIds.visualprofession].Value, Unknown8 = 1234567890, Unknown9 = 1234567890, Unknown10 = 1234567890, }; } else { x.Unknown = 0; x.Info = new CharacterInfoPacket { Unknown1 = 0x01, Profession = (Profession)tPlayer.Stats[StatIds.profession].Value, Level = (byte)tPlayer.Stats[StatIds.level].Value, TitleLevel = (byte)tPlayer.Stats[StatIds.titlelevel].Value, VisualProfession = (Profession)tPlayer.Stats[StatIds.visualprofession].Value, SideXp = 0, Health = tPlayer.Stats[StatIds.health].Value, MaxHealth = tPlayer.Stats[StatIds.life].Value, BreedHostility = 0x00000000, OrganizationId = orgId, FirstName = tPlayer.FirstName, LastName = tPlayer.LastName, LegacyTitle = LegacyTitle, Unknown2 = 0x0000, OrganizationRank = orgRank, TowerFields = null, CityPlayfieldId = 0x00000000, Towers = null, InvadersKilled = tPlayer.Stats[StatIds.invaderskilled].Value, KilledByInvaders = tPlayer.Stats[StatIds.killedbyinvaders].Value, AiLevel = tPlayer.Stats[StatIds.alienlevel].Value, PvpDuelWins = tPlayer.Stats[StatIds.pvpduelkills].Value, PvpDuelLoses = tPlayer.Stats[StatIds.pvpdueldeaths].Value, PvpProfessionDuelLoses = tPlayer.Stats[StatIds.pvpprofessiondueldeaths].Value, PvpSoloKills = tPlayer.Stats[StatIds.pvprankedsolokills].Value, PvpTeamKills = tPlayer.Stats[StatIds.pvprankedteamkills].Value, PvpSoloScore = tPlayer.Stats[StatIds.pvpsoloscore].Value, PvpTeamScore = tPlayer.Stats[StatIds.pvpteamscore].Value, PvpDuelScore = tPlayer.Stats[StatIds.pvpduelscore].Value }; } x.Type = type; x.Identity = tPlayer.Identity; }); }
/// <summary> /// 更新还款主从表数据 add by zl /// </summary> /// <param name="entity"></param> /// <param name="detailList"></param> /// <returns></returns> public void UptRepayApplyMasterAndDetail(string strActionType, T_FB_REPAYAPPLYMASTER entity, List <T_FB_REPAYAPPLYDETAIL> detailList, ref string strMsg) { try { var company = OrgClient.GetCompanyById(entity.OWNERCOMPANYID); if (company != null) { entity.OWNERCOMPANYNAME = company.CNAME; } } catch { } bool re = false; if (LockOrder(entity.REPAYAPPLYMASTERID)) { strMsg = "单据正在提交或审核中,不可重复操作!"; return; } try { FBAEnums.CheckStates dOldChecksates = FBAEnums.CheckStates.UnSubmit; T_FB_REPAYAPPLYMASTER cha = GetRepayApplyMasterByID(entity.REPAYAPPLYMASTERID); if (cha == null) { strMsg = "提交的单据不存在或已删除,不可继续操作!"; return; } object checkStatesOld = cha.CHECKSTATES; dOldChecksates = (FBAEnums.CheckStates) int.Parse(checkStatesOld.ToString()); object checkStatesNew = entity.CHECKSTATES; FBAEnums.CheckStates dNewCheckStates = (FBAEnums.CheckStates) int.Parse(checkStatesNew.ToString()); if ((dOldChecksates == FBAEnums.CheckStates.Approved || dOldChecksates == FBAEnums.CheckStates.UnApproved) && strActionType.ToUpper() != "RESUBMIT") { strMsg = "单据已审核完毕,不可再次操作"; return; } //不用月结可以进行借还款 //#region 是否本月有结算 //bool isChecked = SystemSettingsBLL.IsChecked; //// 没月结,只能处理报销。 //string entityType = entity.GetType().Name; //string[] EntityTypes = new string[] { typeof(T_FB_BORROWAPPLYMASTER).Name, // typeof(T_FB_REPAYAPPLYMASTER).Name, typeof(T_FB_CHARGEAPPLYMASTER).Name}; //// 月结不可操作:1.日常报销类型的单据的审核或提交,2.所有单据的提交或重新提交 //if (!isChecked && (EntityTypes.Contains(entityType) || (strActionType.ToUpper() == "SUBMIT") // || (strActionType.ToUpper() == "RESUBMIT"))) //{ // strMsg = "本月尚未结算,无法提交或审核!"; // return; //} //#endregion Utility.CloneEntity(entity, cha); cha.UPDATEDATE = DateTime.Now; bool n = Update(cha); if (n == false) { dal.RollbackTransaction(); strMsg = "单据更新异常!"; return; } RepayApplyDetailBLL bllRepayDetail = new RepayApplyDetailBLL(); re = bllRepayDetail.UpdateRepayApplyDetail(cha.REPAYAPPLYMASTERID, detailList);//删除报销明细 if (!re) { dal.RollbackTransaction(); strMsg = "单据明细更新异常!"; return; } if (dOldChecksates == dNewCheckStates && dOldChecksates == (int)FBAEnums.CheckStates.UnSubmit && strActionType.ToUpper() == "EDIT") { strMsg = "单据更新成功!"; return; } //if (dNewCheckStates == FBAEnums.CheckStates.Approving && ((strActionType.ToUpper() == "SUBMIT" && dOldChecksates == FBAEnums.CheckStates.UnSubmit) // || (strActionType.ToUpper() == "RESUBMIT" && dOldChecksates == FBAEnums.CheckStates.UnApproved))) //{ // BudgetAccountBLL budgetBLL = new BudgetAccountBLL(); // budgetBLL.UpdateAccount(cha, (int)dNewCheckStates); //} } catch (Exception ex) { string ErrInfo = this.GetType().ToString() + ":UptRepayApplyMasterAndDetail," + System.DateTime.Now.ToString() + "," + ex.Message; Tracer.Debug(ErrInfo); } finally { ReleaseOrder(entity.REPAYAPPLYMASTERID); } }