Exemplo n.º 1
0
        public ActionResult CreateRegion([FromBody] RegionRequest item)
        {
            if (item == null || !ModelState.IsValid)
            {
                return(BadRequest("Model state not valid."));
            }

            if (_regionService.RegionExists(item.Name))
            {
                return(BadRequest("Region already exists."));
            }

            var now = DateTime.UtcNow;

            var region = new Region
            {
                Name       = item.Name,
                Active     = item.Active,
                UpdatedBy  = "Oscar Negrete",
                LastUpdate = now
            };

            try
            {
                _regionService.AddRegion(region);
            }
            catch (Exception)
            {
                return(BadRequest("Could not create region"));
            }

            return(Ok($"Region created: {item.Name}"));
        }
Exemplo n.º 2
0
 public CreateResponse Create(RegionRequest request)
 {
     try
     {
         var region = TypeAdapter.Adapt <Region>(request);
         _regionValidator.ValidateAndThrowException(region, "Base");
         _regionRepository.Add(region);
         return(new CreateResponse(region.Id));
     }
     catch (DataAccessException)
     {
         throw new ApplicationException();
     }
 }
Exemplo n.º 3
0
 public void OnRegionRequest(MessageEventArgs args, RegionRequest request)
 {
     _selected = _characters[request.CharacterSlot];
     if (_selected == null)
     {
         // TODO send RegionList
         throw new System.NotImplementedException();
     }
     else
     {
         // TODO make region addresses part of server configuration
         // a server behind a NAT firewall does not know what a client thinks its address is
         var ep       = args.Session.LocalEndPoint;
         var region   = new Region(_selected.Region, ep.Address, ep.Port);
         var response = new CharacterRegion(region);
         args.Session.Send(response);
     }
 }
Exemplo n.º 4
0
 public SuccessResponse Update(RegionRequest request)
 {
     try
     {
         var currentRegion = _regionRepository.FindBy(request.Id);
         currentRegion.ThrowExceptionIfRecordIsNull();
         var regionToCopy = TypeAdapter.Adapt <Region>(request);
         TypeAdapter.Adapt(regionToCopy, currentRegion);
         _regionValidator.ValidateAndThrowException(currentRegion, "Base");
         _regionRepository.Update(currentRegion);
         return(new SuccessResponse {
             IsSuccess = true
         });
     }
     catch (DataAccessException)
     {
         throw new ApplicationException();
     }
 }
Exemplo n.º 5
0
        public ActionResult UpdateRegion(int id, [FromBody] RegionRequest item)
        {
            if (item == null || !ModelState.IsValid)
            {
                return(BadRequest("Model state not valid."));
            }

            if (id != item.ID)
            {
                return(BadRequest("ID not valid."));
            }

            var now = DateTime.UtcNow;

            var region = new Region
            {
                ID         = id,
                Name       = item.Name,
                Active     = item.Active,
                UpdatedBy  = "Oscar Negrete",
                LastUpdate = now
            };

            try
            {
                _regionService.UpdateRegion(region);
            }
            catch (Exception e)
            {
                if (!_regionService.RegionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    return(BadRequest(e.Message));
                }
            }

            return(Ok($"Region updated: {region.ID} - {region.Name}"));
        }
Exemplo n.º 6
0
 public SuccessResponse Put(RegionRequest request)
 {
     return(_regionService.Update(request));
 }
Exemplo n.º 7
0
 public CreateResponse Post(RegionRequest request)
 {
     return(_regionService.Create(request));
 }