Esempio n. 1
0
        public AllianceTechDataModel AddOrUpdateTech(IDbConnection connection, AllianceTechDataModel tech)
        {
            var dbTech  = _aTechRepo.AddOrUpdateeModel(connection, tech);
            var updTech = _aTechCahce.UpdateLocalItem(connection, dbTech);

            return(updTech);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        /// <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));
        }