public IActionResult Create([FromBody] MeetingSchemaViewModel meetingSchema)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            MeetingSchemas NewMSchemas = Mapper.Map <MeetingSchemaViewModel, MeetingSchemas>(meetingSchema);

            NewMSchemas.DateCreated = DateTime.Now;
            _meetingSchemasRepository.Add(NewMSchemas);
            _meetingSchemasRepository.Commit();

            foreach (var item in meetingSchema.Participants)
            {
                NewMSchemas.Participants.Add(new Participants {
                    UserId = item
                });
            }
            _meetingSchemasRepository.Commit();

            meetingSchema = Mapper.Map <MeetingSchemas, MeetingSchemaViewModel>(NewMSchemas);

            //Create
            CreatedAtRouteResult result = CreatedAtRoute("Get", new { controller = "MeetingSchemas", Id = meetingSchema.Id }, meetingSchema);

            // return result;
            return(Json(result));
        }
Exemple #2
0
        public IActionResult Get(int id)
        {
            MeetingSchemas _meetingSchemas = _meetingSchemasRepository
                                             .GetSingle(e => e.Id == id, e => e.Creator, e => e.Participants);

            if (_meetingSchemas != null)
            {
                MeetingSchemaViewModel meetingSchemaVM = Mapper.Map <MeetingSchemas, MeetingSchemaViewModel>(_meetingSchemas);

                return(new OkObjectResult(meetingSchemaVM));
            }
            else
            {
                return(NotFound());
            }
        }
        public IActionResult Put(int id, [FromBody] MeetingSchemaViewModel meetingSchemaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            MeetingSchemas _meetingSchemas = _meetingSchemasRepository.GetSingle(id);

            if (_meetingSchemas == null)
            {
                return(NotFound());
            }
            else
            {
                _meetingSchemas.Title       = meetingSchemaViewModel.Title;
                _meetingSchemas.Location    = meetingSchemaViewModel.Location;
                _meetingSchemas.Description = meetingSchemaViewModel.Description;
                _meetingSchemas.Status      = (MeetingSchemaStatus)Enum.Parse(typeof(MeetingSchemaStatus), meetingSchemaViewModel.Status);
                _meetingSchemas.Type        = (MeetingSchemaType)Enum.Parse(typeof(MeetingSchemaType), meetingSchemaViewModel.Type);
                _meetingSchemas.TimeStart   = meetingSchemaViewModel.TimeStart;
                _meetingSchemas.TimeEnd     = meetingSchemaViewModel.TimeEnd;

                _participantsRepository.DeleteWhere(e => e.MeetingSchemaId == id);

                foreach (var user_id in meetingSchemaViewModel.Participants)
                {
                    _meetingSchemas.Participants.Add(new Participants {
                        MeetingSchemaId = id, UserId = id
                    });
                }

                _meetingSchemasRepository.Commit();
            }

            //Mapp to ViewModel from DB
            meetingSchemaViewModel = Mapper.Map <MeetingSchemas, MeetingSchemaViewModel>(_meetingSchemas);

            return(new NoContentResult());
        }