예제 #1
0
        public async Task Create(SiegeRequest request)
        {
            new SiegeValidator().Validate(request);

            var siege = new Siege(request.Visibility, request.Title, request.Description,
                                  request.ImageUri, request.Latitude, request.Longitude, request.Range, request.Seconds,
                                  request.OperationIn, request.OperationTime, request.OwnerId);

            if (_notify.IsValid)
            {
                _swap.AddSiege(siege);

                #region - events -

                siege.OnAvaiable += Siege_OnStart;
                siege.OnOpen     += Siege_OnOpen;
                siege.OnAds      += Siege_OnAds;
                siege.OnEnd      += Siege_OnEnd;

                #endregion

                siege.Init();

                await _repoSiege.Register(siege);
            }
        }
        public async Task <IActionResult> Create([FromBody] SiegeRequest request)
        {
            await _service.Create(request.InjectAccount(LoggedLess, nameof(request.OwnerId)));

            return(Result(new BaseResponse()));
        }