コード例 #1
0
        public async Task <IActionResult> Create([Bind("Platform,Organization,Name,From,To")] CreateEventVM vm)
        {
            if (ModelState.IsValid)
            {
                var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;
                var user   = await _context.Users.Where(x => x.Id == userId).FirstOrDefaultAsync();

                var organization = await _context.Organizations.FindAsync(vm.Organization);

                var platform = await _context.Platforms.FindAsync(vm.Platform);

                var @event = new EventEntity
                {
                    Name         = vm.Name,
                    Organization = organization,
                    Platform     = platform,
                    From         = vm.From,
                    To           = vm.To
                };
                _context.Add(@event);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(vm));
        }
コード例 #2
0
        public ActionResult CreateEvent()
        {
            CreateEventVM model = new CreateEventVM();

            model.Countries = new SelectList(db.GetAllCountries(), "id", "Name");
            return(View(model));
        }
コード例 #3
0
 public Client(CreateEventVM model)
 {
     Name        = model.ClientName;
     Phone       = model.ClientPhone;
     Email       = model.ClientEmail;
     Description = model.ClientDescription;
 }
コード例 #4
0
        public ActionResult CreateEvent(CreateEventVM model)
        {
            if (ModelState.IsValid)
            {
                db.CreateEvent(model.Event);
                return(RedirectToAction("ListEvents"));
            }

            return(View(model));
        }
コード例 #5
0
 public Event(CreateEventVM model)
 {
     Name        = model.EventName;
     CreatedDate = DateTime.Now;
     DeadLine    = model.DeadLine;
     Description = model.EventDescription;
     Status      = "Создано";
     Adress      = model.EventLocation;
     EventType   = model.EventType;
 }
コード例 #6
0
        public async Task <IActionResult> New(CreateEventVM model)
        {
            if (ModelState.IsValid)
            {
                var eventDb  = new Event(model);
                var clientDb = await db.Clients.Where(c => c.Name == model.ClientName).FirstOrDefaultAsync();

                if (clientDb == null)
                {
                    clientDb = new Client(model);
                }
                clientDb.Description = model.ClientDescription;
                var manager = await db.Managers.Where(e => e.Email == User.Identity.Name).FirstOrDefaultAsync();

                if (model.FromRequest == true)
                {
                    manager.MissionFromRequestNum++;
                }
                eventDb.Manager  = manager;
                clientDb.Manager = manager;
                eventDb.Client   = clientDb;
                await db.AddAsync(eventDb);

                await db.SaveChangesAsync();

                var workMission = new Mission()
                {
                    Employeer   = manager,
                    Event       = eventDb,
                    CreatedDate = DateTime.Now,
                    DeadLine    = DateTime.Now.AddHours(48),
                    MissionType = "Услуги",
                    MissionText = $"Указать услуги для мероприятия '{eventDb.Name}'"
                };

                await db.AddAsync(workMission);

                await db.SaveChangesAsync();

                return(RedirectToAction("Index", "Manager"));
            }
            else
            {
                ModelState.AddModelError("", "Заполните все поля");
                ViewBag.EventTypes  = StaticValues.GetEventTypes();
                ViewBag.FromRequest = model.FromRequest;
                return(View());
            }
        }
コード例 #7
0
        public async Task BookRoom(CreateEventVM viewModel, string userName)
        {
            var user = await userManager.FindByNameAsync(userName);

            var userId      = user.Id;
            var newRoomTime = new RoomTime
            {
                RId         = viewModel.RoomId,
                UId         = userId,
                StartTime   = viewModel.Start,
                EndTime     = viewModel.End,
                Description = viewModel.Description
            };

            this.RoomTime.Add(newRoomTime);
            await this.SaveChangesAsync();
        }
コード例 #8
0
        public async Task <bool> CreateEvent(CreateEventVM viewModel)
        {
            await context.BookRoom(viewModel, User.Identity.Name);

            return(true);
        }