Пример #1
0
        public IActionResult Put(string id, [FromBody] EventSavingModel eventSavingModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            if (!ObjectId.TryParse(id, out var objectId))
            {
                return(BadRequest("'Id' parameter is ivalid ObjectId"));
            }

            var oldEvent = _eventmanager.GetEventById(objectId);

            if (oldEvent == null)
            {
                return(NotFound());
            }

            oldEvent.Title       = eventSavingModel.Title ?? oldEvent.Title;
            oldEvent.Content     = eventSavingModel.Content ?? oldEvent.Content;
            oldEvent.Date        = eventSavingModel.Date;
            oldEvent.Description = eventSavingModel.Description ?? oldEvent.Description;

            _eventmanager.UpdateEvent(oldEvent);
            return(Ok(id));
        }
Пример #2
0
        public IActionResult Post([FromBody] EventSavingModel eventSavingModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var eventToCreate = EventMapper.EventModelToEvent(eventSavingModel);

            return(Ok(_eventmanager.CreateEvent(eventToCreate).ToString()));
        }
Пример #3
0
        public static Event EventModelToEvent(EventSavingModel postModel)
        {
            if (postModel == null)
            {
                return(null);
            }

            return(new Event
            {
                Title = postModel.Title,
                Content = postModel.Content,
                Date = postModel.Date,
                Description = postModel.Description,
                Img = postModel.Img == null
                    ? null
                    : new Image
                {
                    Original = postModel.Img.Original,
                    Small = postModel.Img.Small,
                    Role = postModel.Img.Role
                }
            });
        }