コード例 #1
0
        public IActionResult Edit(string id)
        {
            var           meeting   = this.meetingsService.GetMeetingById(id);
            var           usersList = this.usersService.GetAllUsers().Where(u => u.UserName != User.Identity.Name);
            List <string> users     = new List <string>();

            foreach (var user in usersList)
            {
                users.Add(user.UserName);
            }

            var startTime = new DateTime(meeting.MeetingStartTime.Year, meeting.MeetingStartTime.Month, meeting.MeetingStartTime.Day);
            var startHour = new TimeSpan(meeting.MeetingStartTime.Hour, meeting.MeetingStartTime.Minute, meeting.MeetingStartTime.Second);
            var endTime   = new DateTime(meeting.MeetingEnding.Year, meeting.MeetingEnding.Month, meeting.MeetingEnding.Day);
            var endHour   = new TimeSpan(meeting.MeetingEnding.Hour, meeting.MeetingEnding.Minute, meeting.MeetingEnding.Second);

            var inputModel = new MeetingInputModel
            {
                Id               = meeting.Id,
                Users            = users,
                MeetingStartTime = startTime,
                MeetingStartHour = startHour,
                MeetingEnding    = endTime,
                MeetingEndHour   = endHour,
                Title            = meeting.Title,
                Description      = meeting.Description,
                Place            = meeting.Place,
            };

            ViewBag.Users = users;
            ViewBag.Data  = inputModel;
            return(View());
        }
コード例 #2
0
        public async Task <IActionResult> Create([FromBody] MeetingInputModel model)
        {
            if (model.StartDateTimeMeeting > model.EndDateTimeMeeting)
            {
                ModelState.AddModelError("MeetingPeriod", "Start date of meeting should be less than end date");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var item = new Meeting
            {
                Name = model.Name,
                StartDateTimeMeeting = model.StartDateTimeMeeting.Value,
                EndDateTimeMeeting   = model.EndDateTimeMeeting.Value
            };

            _context.Add(item);
            await _context.SaveChangesAsync();

            return(Ok(
                       new MeetingOutputModel
            {
                Name = item.Name,
                StartDateTimeMeeting = model.StartDateTimeMeeting.Value,
                EndDateTimeMeeting = model.EndDateTimeMeeting.Value,
                Id = item.Id,
            }
                       ));
        }
コード例 #3
0
        public IActionResult Add()
        {
            var users      = this.usersService.GetAllUsers().Where(u => u.UserName != User.Identity.Name);
            var inputModel = new MeetingInputModel();

            ViewBag.Users = users;
            ViewBag.Data  = inputModel;
            return(View());
        }
コード例 #4
0
        public async Task <IActionResult> Add(MeetingInputModel inputModel)
        {
            DateTime dateNow = DateTime.UtcNow;

            if (inputModel.MeetingStartTime < dateNow ||
                inputModel.MeetingEnding < dateNow ||
                inputModel.MeetingEnding < inputModel.MeetingStartTime ||
                !inputModel.Users.Any())
            {
                ViewBag.Users = this.usersService.GetAllUsers().Where(u => u.UserName != User.Identity.Name);
                ViewBag.Data  = inputModel;
                return(this.View(inputModel));
            }

            var users = inputModel.Users.ToList();

            users.Add(User.Identity.Name);

            await this.meetingsService.AddAsync(inputModel.MeetingStartTime, inputModel.MeetingStartHour, inputModel.MeetingEnding, inputModel.MeetingEndHour, inputModel.Title, inputModel.Description, inputModel.Place, users, (string)User.Identity.Name);

            return(this.Redirect("/"));
        }