示例#1
0
        public BaseResponse <object> Create(int playerId, int companyId, ChallangeRequest request)
        {
            var validationResult = Validate <object>(request);

            if (!validationResult.Ok)
            {
                return(validationResult);
            }

            if (!_dbContext.Companies.Any(x => x.Id == companyId &&
                                          x.Players.Any(q => q.IsOwner && q.PlayerId == playerId)))
            {
                return(BaseResponse <object> .Fail(_errorMessageProvider.CompanyNotFound));
            }

            var challange = new Challange
            {
                CompanyId     = companyId,
                Desciprion    = request.Description,
                Name          = request.Name,
                PlayerOwnerId = playerId,
            };

            _dbContext.Challanges.Add(challange);
            _dbContext.SaveChanges();

            return(BaseResponse <object> .Success());
        }
示例#2
0
        public BaseResponse <object> Upate(int playerId, int challangeId, ChallangeRequest request)
        {
            var validationResult = Validate <object>(request);

            if (!validationResult.Ok)
            {
                return(validationResult);
            }

            var challange = _dbContext.Challanges.FirstOrDefault(x => x.Id == challangeId &&
                                                                 x.Company.Players.Any(q =>
                                                                                       q.IsOwner && q.PlayerId == playerId));

            if (challange == null)
            {
                return(BaseResponse <object> .Fail(_errorMessageProvider.ChallangeNotFound));
            }

            challange.Name       = request.Name;
            challange.Desciprion = request.Description;

            _dbContext.SaveChanges();

            return(BaseResponse <object> .Success());
        }
示例#3
0
        public void SQP_SerializeChallangeRequest_NoError()
        {
            var snd = new ChallangeRequest();

            snd.ToStream(ref writer);

            var rcv = new ChallangeRequest();

            rcv.FromStream(ref reader);

            Assert.AreEqual((byte)SQPMessageType.ChallangeRequest, rcv.Header.Type);
        }
示例#4
0
        public void SQP_SerializeChallangeRequest_NoError()
        {
            var snd = new ChallangeRequest();

            snd.ToStream(ref writer);

            reader  = new DataStreamReader(writer, 0, writer.Length);
            context = default(DataStreamReader.Context);
            var rcv = new ChallangeRequest();

            rcv.FromStream(reader, ref context);

            Assert.AreEqual((byte)SQPMessageType.ChallangeRequest, rcv.Header.Type);
        }