public bool Delete(IDbConnection connection, AllianceDataModel alliance) { if (alliance == null) { throw new NullReferenceException(); } var confederation = NpcHelper.GetNpcByName(Npc.ConfederationName); if (alliance.Id == confederation.NpcAlliance.Id) { throw new NotImplementedException(nameof(confederation.NpcAlliance.Id)); } var skagry = NpcHelper.GetNpcByName(Npc.SkagyName); if (alliance.Id == skagry.NpcAlliance.Id) { throw new NotImplementedException(nameof(skagry.NpcAlliance.Id)); } var allianceId = alliance.Id; DisbandAlliance(connection, alliance.CreatorId, allianceId); _aRepo.Delete(connection, allianceId); return(_channelService.DeleteAllianceChannel(null, allianceId)); }
public AllianceRatingOut(AllianceDataModel dbAlliance) { _dbAlliance = dbAlliance; Id = _dbAlliance.Id; Tax = _dbAlliance.Tax; Name = _dbAlliance.Name; AllianceDescription = _dbAlliance.Description; Label = _dbAlliance.Images; PvpPoint = _dbAlliance.PvpRating; LeaderName = _dbAlliance.CreatorName; }
public ChannelDataModel CreateAllianceChannel(IDbConnection connection, AllianceDataModel newAlliance, string password) { return(CreateChannel(connection, new ChannelDataModel { CreatorId = newAlliance.Id, ChannelType = ChannelTypes.Alliance, CreatorName = newAlliance.Name, Password = password, ChannelIcon = newAlliance.Images.Icon, ChannelName = newAlliance.Name }, newAlliance.CreatorId)); }
private AllianceDataModel _createAlliance(IDbConnection connection, AllianceDataModel allianceData, AllianceUserDataModel oldUser) { try { _leaveFromAlliance(connection, oldUser, true); return(AddOrUpdate(connection, allianceData)); } catch (Exception) { // todo если не получилось возвращаем пользователя в нпц альянс throw; } }
public AllianceRatingOut(AllianceRatingOut other) { _dbAlliance = other._dbAlliance; Name = other.Name; Id = other.Id; Buttons = other.Buttons; HasButtons = other.HasButtons; PvpPoint = other.PvpPoint; ControlledPlanet = other.ControlledPlanet; Pilots = other.Pilots; AllianceDescription = other.AllianceDescription; Tax = other.Tax; Label = other.Label; LeaderName = other.LeaderName; LeaderImg = other.LeaderImg; ComplexButtonView = other.ComplexButtonView; }
private AllianceDataModel _addAlliance(IDbConnection connection, AllianceDataModel dataModel) { AllianceDataModel newAllianceData = null; AllianceUserDataModel newCreatorAllianceUser = null; AllianceTechDataModel newTeches = null; var tech = new BattleTeches(); tech.CreateStartTeches(); var newDbTeches = tech.ConvertToDbTeches().ToSerealizeString(); var al = _aRepo.AddOrUpdate(connection, _aRepo.ConvertToEntity(dataModel)); newAllianceData = _aRepo.ConvertToWorkModel(al); var au = _aUserRepo.AddOrUpdate(connection, new alliance_user { allianceId = al.Id, userId = al.creatorId, roleId = (byte)AllianceRoles.Creator, dateCreate = al.dateCreate }); newCreatorAllianceUser = _aUserRepo.ConvertToWorkModel(au); var teches = _aTechRepo.AddOrUpdate(connection, new alliance_tech { Id = al.Id, techProgress = newDbTeches }); newTeches = _aTechRepo.ConvertToWorkModel(teches); if (newAllianceData == null || newCreatorAllianceUser == null || newTeches == null) { throw new NotImplementedException(); } var lcAllianceData = _aCache.UpdateLocalItem(connection, newAllianceData); _aUserCache.UpdateLocalItem(connection, newCreatorAllianceUser); _aTechCahce.UpdateLocalItem(connection, newTeches); return(lcAllianceData); }
public IAllianceRatingOut SetAllianceRating(IDbConnection connection, AllianceDataModel allianceDataModel, bool setButtons, IGameUserService gameUserService) { var alliance = new AllianceRatingOut(allianceDataModel); alliance.Pilots = _aUserCache.LocalOperation(connection, col => { return(col.Count(i => i.AllianceId == allianceDataModel.Id)); }); alliance.ControlledPlanet = _planetDetailCache.LocalOperation(connection, col => { return(col.Count(i => i.AllianceId == allianceDataModel.Id)); }); alliance.LeaderImg = gameUserService.GetUserAvatar(connection, allianceDataModel.CreatorId); if (setButtons) { alliance.SetComplexButtonView(); } return(alliance); }
public AllianceDataModel AddOrUpdate(IDbConnection connection, AllianceDataModel dataModel) { AllianceDataModel createdOrUpdatedData = null; if (dataModel.IsNewDataModel()) { createdOrUpdatedData = _addAlliance(connection, dataModel); } else { var existAlliance = _aRepo.GetById(connection, dataModel.Id); if (existAlliance == null || existAlliance.Id == default(int)) { var savedAllianceId = dataModel.Id; dataModel.Id = 0; createdOrUpdatedData = _addAlliance(connection, dataModel); if (createdOrUpdatedData.Id != savedAllianceId) { dataModel.Id = savedAllianceId; throw new NotImplementedException($"createdOrUpdatedData.Id!= savedAllianceId expect:{savedAllianceId}, returned:{createdOrUpdatedData.Id}"); } dataModel.Id = savedAllianceId; } else { createdOrUpdatedData = _updateAllianceInfo(connection, dataModel); } } if (createdOrUpdatedData == null) { throw new NotImplementedException(); } _aNameSercher.AddOrUpdate(connection, createdOrUpdatedData.Name, new AllianceNameSerchItem { Id = createdOrUpdatedData.Id, Name = createdOrUpdatedData.Name, Disbandet = createdOrUpdatedData.Disbandet }, _aCache); return(createdOrUpdatedData); }
public AllianceDataModel CreateAlliance(IDbConnection connection, AllianceDataModel allianceData) { var oldUser = GetAllianceUserByUserId(connection, allianceData.CreatorId); return(_createAlliance(connection, allianceData, oldUser)); }
private AllianceDataModel _updateAllianceInfo(IDbConnection connection, AllianceDataModel allianceInfo) { return(_aCache.UpdateLocalItem(connection, _aRepo.AddOrUpdateeModel(connection, allianceInfo))); }
public bool UpdateAllianceChannelIcon(IDbConnection connection, AllianceDataModel updatedAllianceDataModel) { return(_channelRepo.UpdateAllianceChannelIcon(connection, updatedAllianceDataModel.Images.Icon, updatedAllianceDataModel.Id)); }