Example #1
0
        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));
        }
Example #2
0
 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;
 }
Example #3
0
 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;
     }
 }
Example #5
0
        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;
        }
Example #6
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);
        }
        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);
        }
Example #8
0
        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));
        }
Example #10
0
 private AllianceDataModel _updateAllianceInfo(IDbConnection connection, AllianceDataModel allianceInfo)
 {
     return(_aCache.UpdateLocalItem(connection, _aRepo.AddOrUpdateeModel(connection, allianceInfo)));
 }
Example #11
0
 public bool UpdateAllianceChannelIcon(IDbConnection connection, AllianceDataModel updatedAllianceDataModel)
 {
     return(_channelRepo.UpdateAllianceChannelIcon(connection, updatedAllianceDataModel.Images.Icon,
                                                   updatedAllianceDataModel.Id));
 }