public AllianceTechDataModel AddOrUpdateTech(IDbConnection connection, AllianceTechDataModel tech) { var dbTech = _aTechRepo.AddOrUpdateeModel(connection, tech); var updTech = _aTechCahce.UpdateLocalItem(connection, dbTech); return(updTech); }
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); }
/// <summary> /// Предварительные данные должны быть синхронизированны /// </summary> /// <param name="connection"></param> /// <param name="mother"></param> /// <param name="allianceTech"></param> /// <param name="confederationService"></param> /// <param name="storeService"></param> /// <returns></returns> public static Dictionary <UnitType, Dictionary <BattleStatTypes, IBattleStatsDouble> > GetUnitStatsAndMods(IDbConnection connection, UserMothershipDataModel mother, AllianceTechDataModel allianceTech, IConfederationService confederationService, IStoreService storeService) { var boosersMods = GetBoosterBonuses(connection, mother.Id, storeService); var officerBonus = confederationService.GetOfficerBonus(connection, allianceTech.Id); var userTechesService = new BattleTeches(mother.TechProgress); var allianceTechesService = new BattleTeches(allianceTech.Teches); return(GetUnitStatsAndMods(mother.Id, userTechesService, allianceTechesService, officerBonus, boosersMods)); }