Ejemplo n.º 1
0
        public async Task <IActionResult> TicketPurchase(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var @event = await _context.Events
                         .FirstOrDefaultAsync(e => e.Id == id);

            if (@event == null)
            {
                return(NotFound());
            }

            var userLogged = HttpContext.Session.GetString("Usuario");
            var usuario    = JsonConvert.DeserializeObject <UserProfile>(userLogged);

            var obj = new UserEventViewModel
            {
                Event     = @event,
                UserEvent = new UserEvent()
            };

            return(View(@obj));
        }
Ejemplo n.º 2
0
        public ActionResult EditCoachEventDialog(UserEventViewModel viewModel)
        {
            ViewResult result = (ViewResult)EditCoachEvent(viewModel);

            result.ViewName = "~/Views/CoachFacet/Module/EditCoachEventDialog.ascx";
            return(result);
        }
Ejemplo n.º 3
0
        public ActionResult JoinedEvents()
        {
            var currentuser  = CurrentUser();
            var Events       = AllEvents();
            var JoinedEvents = new JoinedEvents();
            //int?[] productModelIds = { 19, 26, 118 };
            //var products = AWEntities.Products.
            //    Where(p => productModelIds.Contains(p.ProductModelID));
            var joins = JoinedEvents.EventsJoined(currentuser);

            Events.ToList();
            joins.ToList();
            var Ev = Events.Intersect(joins, new EventIdComparer()).ToList();

            var viewModel = new UserEventViewModel
            {
                Person   = currentuser,
                Events   = Ev,
                UserJoin = new JoinedEvents
                {
                    JoinedPerson = currentuser,
                }
            };

            return(View("Index", viewModel));
        }
Ejemplo n.º 4
0
        public ActionResult Save(Event @event)
        {
            var currentuser = CurrentUser();
            var Event       = @event;

            Event.OwnerId     = currentuser.Id;
            Event.DateCreated = DateTime.Now;

            if (ModelState.IsValid)
            {
                if (Event.Id == 0)
                {
                    db.Events.Add(Event);
                }
                else
                {
                    db.Entry(Event).State = EntityState.Modified;
                }
            }
            else
            {
                var userEventViewModel = new UserEventViewModel
                {
                    Person = currentuser,
                    Event  = Event
                };
                return(View("EventForm", userEventViewModel));
            }

            db.SaveChanges();
            return(RedirectToAction("Index", "Events"));
        }
Ejemplo n.º 5
0
        // GET: Events/Create
        public ActionResult Create()
        {
            var currentUser = CurrentUser();
            var viewmodel   = new UserEventViewModel
            {
                Person = currentUser,
                Event  = new Event()
            };

            return(View("EventForm", viewmodel));
        }
        public ActionResult CommitUserEvent(UserEventViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            var profile = models.GetTable <UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault();

            if (profile == null)
            {
                return(View("~/Views/Shared/JsAlert.cshtml", model: "學員資料錯誤!!"));
            }

            if (!viewModel.StartDate.HasValue)
            {
                ModelState.AddModelError("StartDate", "請選擇開始時間!!");
            }
            if (!viewModel.EndDate.HasValue)
            {
                ModelState.AddModelError("EndDate", "請選擇結束時間!!");
            }
            if (String.IsNullOrEmpty(viewModel.Title))
            {
                ModelState.AddModelError("Title", "請輸入行事曆內容!!");
            }

            if (!ModelState.IsValid)
            {
                ViewBag.ModelState = ModelState;
                return(View("~/Views/Shared/ReportInputError.ascx"));
            }

            var item = models.GetTable <UserEvent>().Where(u => u.EventID == viewModel.EventID).FirstOrDefault();

            if (item == null)
            {
                item = new UserEvent
                {
                    UID = profile.UID
                };
                models.GetTable <UserEvent>().InsertOnSubmit(item);
            }

            item.StartDate = viewModel.StartDate.Value;
            item.EndDate   = viewModel.EndDate.Value;
            item.Title     = viewModel.Title;

            models.SubmitChanges();

            return(View("~/Views/LearnerFacet/Module/CompleteUserEvent.ascx", item));
        }
Ejemplo n.º 7
0
        public ActionResult Index()
        {
            var person    = CurrentUser();
            var Events    = AllEvents();
            var viewModel = new UserEventViewModel
            {
                Events   = Events,
                Person   = person,
                UserJoin = new JoinedEvents
                {
                    JoinedPerson = person,
                }
            };

            return(View(viewModel));
        }
Ejemplo n.º 8
0
        public ActionResult BookingCustomEvent(UserEventViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;
            var profile = HttpContext.GetUser();

            if (viewModel.KeyID != null)
            {
                viewModel.EventID = viewModel.DecryptKeyValue();
            }

            UserEvent item;

            if (profile.IsAssistant())
            {
                item = models.GetTable <UserEvent>().Where(v => v.EventID == viewModel.EventID).FirstOrDefault();
            }
            else
            {
                item = models.GetTable <UserEvent>().Where(v => v.EventID == viewModel.EventID &&
                                                           v.UID == profile.UID).FirstOrDefault();
            }

            if (item != null)
            {
                viewModel.EventID         = item.EventID;
                viewModel.UID             = item.UID;
                viewModel.Title           = item.Title;
                viewModel.StartDate       = item.StartDate;
                viewModel.EndDate         = item.EndDate;
                viewModel.ActivityProgram = item.ActivityProgram;
                viewModel.Accompanist     = item.Accompanist;
                viewModel.BranchID        = (Naming.BranchName?)item.BranchID;
                viewModel.Place           = item.Place;
                viewModel.MemberID        = item.GroupEvent.Select(g => g.UID).ToArray();
            }

            if (!viewModel.EndDate.HasValue)
            {
                viewModel.EndDate = viewModel.StartDate;
            }
            if (!viewModel.UID.HasValue)
            {
                viewModel.UID = profile.UID;
            }

            return(View("~/Views/ConsoleEvent/EventModal/BookingCustomEvent.cshtml"));
        }
Ejemplo n.º 9
0
        public ActionResult MyEvents()
        {
            var currentuser = CurrentUser();
            var allEvents   = AllEvents();
            var Events      = allEvents.Where(m => m.OwnerId == currentuser.Id).ToList();
            var viewModel   = new UserEventViewModel
            {
                Events   = Events,
                Person   = currentuser,
                UserJoin = new JoinedEvents
                {
                    JoinedPerson = currentuser,
                }
            };

            return(View("Index", viewModel));
        }
Ejemplo n.º 10
0
        public ActionResult CreateUserEvent(UserEventViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            var profile = models.GetTable<UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault();
            if (profile == null)
            {
                return View("~/Views/Shared/JsAlert.cshtml", model: "學員資料錯誤!!");
            }

            var item = models.GetTable<UserEvent>().Where(u => u.EventID == viewModel.EventID).FirstOrDefault();
            if (item != null)
            {
                viewModel.StartDate = item.StartDate;
                viewModel.EndDate = item.EndDate;
                viewModel.Title = item.Title;
            }

            return View("~/Views/LearnerFacet/Module/CreateUserEvent.ascx");
        }
Ejemplo n.º 11
0
        // GET: Events/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Event @event      = db.Events.Find(id);
            var   currentUser = CurrentUser();
            var   viewmodel   = new UserEventViewModel
            {
                Person = currentUser,
                Event  = @event
            };

            if (@event == null)
            {
                return(HttpNotFound());
            }
            return(View("EventForm", viewmodel));
        }
Ejemplo n.º 12
0
        public async Task<ActionResult> AddCalendarEvent(UserEventViewModel userEventViewModel)
        {
            UserEvent userEvent = new UserEvent()
            {
                Content = userEventViewModel.Comments,
                Creator = _siteUserManager.FindById(User.Identity.GetUserId())
            };
            await _eventsService.CreateAsync(userEvent);

            /*TimeSpanEvent timeSpanEvent = new TimeSpanEvent()
            {
                BeginDate = UserEventViewModel.Date,
                Topic = UserEventViewModel.Topic,
                Comments = UserEventViewModel.Comments,
                OwnerUserId = User.Identity.GetUserId(),
                UserEvent = userEvent,
                EventType = EventType.Calendar
            }; 

            await _timeSpanEventService.CreateAsync(timeSpanEvent);*/

            return PartialView("Calendar");
        }
Ejemplo n.º 13
0
        public ActionResult EditCoachEvent(UserEventViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            var profile = models.GetTable <UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault();

            if (profile == null)
            {
                return(View("~/Views/Shared/JsAlert.cshtml", model: "資料錯誤!!"));
            }

            var item = models.GetTable <UserEvent>().Where(u => u.EventID == viewModel.EventID).FirstOrDefault();

            if (item != null)
            {
                viewModel.StartDate       = item.StartDate;
                viewModel.EndDate         = item.EndDate;
                viewModel.Title           = item.Title;
                viewModel.Accompanist     = item.Accompanist;
                viewModel.ActivityProgram = item.ActivityProgram;
                viewModel.MemberID        = item.GroupEvent.Select(v => v.UID).ToArray();
                if (item.BranchID.HasValue)
                {
                    viewModel.BranchID = (Naming.BranchName)item.BranchID;
                }
                else
                {
                    Naming.BranchName branch;
                    if (Enum.TryParse <Naming.BranchName>(item.Place, out branch))
                    {
                        viewModel.BranchID = branch;
                    }
                }
            }

            return(View("~/Views/CoachFacet/Module/EditCoachEvent.ascx"));
        }
Ejemplo n.º 14
0
        public ActionResult CommitCoachEvent(UserEventViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            var profile = models.GetTable <UserProfile>().Where(u => u.UID == viewModel.UID).FirstOrDefault();

            if (profile == null)
            {
                return(View("~/Views/Shared/JsAlert.cshtml", model: "資料錯誤!!"));
            }

            if (!viewModel.StartDate.HasValue)
            {
                ModelState.AddModelError("StartDate", "請選擇開始時間!!");
            }
            if (!viewModel.EndDate.HasValue)
            {
                ModelState.AddModelError("EndDate", "請選擇結束時間!!");
            }
            else if (viewModel.StartDate.HasValue && viewModel.StartDate.Value >= viewModel.EndDate.Value)
            {
                ModelState.AddModelError("EndDate", "結束時間需晚於開始時間!!");
            }

            if ((String.IsNullOrEmpty(viewModel.Title) || viewModel.Title == "請選擇") && String.IsNullOrEmpty(viewModel.ActivityProgram))
            {
                ModelState.AddModelError("ActivityProgram", "請輸入行事曆內容!!");
            }
            if (viewModel.BranchID == (int)Naming.BranchName.請選擇)
            {
                ModelState.AddModelError("BranchID", "請選擇地點!!");
            }
            if (viewModel.Title == "請選擇")
            {
                ModelState.AddModelError("Title", "請選擇行程類別!!");
            }


            if (!ModelState.IsValid)
            {
                ViewBag.ModelState = ModelState;
                return(View(Settings.Default.ReportInputError));
            }

            var item = models.GetTable <UserEvent>().Where(u => u.EventID == viewModel.EventID).FirstOrDefault();

            if (item == null)
            {
                item = new UserEvent
                {
                    UID = profile.UID
                };
                models.GetTable <UserEvent>().InsertOnSubmit(item);
            }

            item.StartDate       = viewModel.StartDate.Value;
            item.EndDate         = viewModel.EndDate.Value;
            item.Title           = viewModel.Title;
            item.ActivityProgram = viewModel.ActivityProgram;
            item.Accompanist     = viewModel.Accompanist;
            item.EventType       = 1;
            if (viewModel.BranchID.HasValue)
            {
                if ((int)viewModel.BranchID <= (int)Naming.BranchName.東門)
                {
                    item.BranchID = (int)viewModel.BranchID;
                    item.Place    = null;
                }
                else
                {
                    item.BranchID = null;
                    item.Place    = viewModel.BranchID.ToString();
                }
            }

            models.SubmitChanges();

            models.ExecuteCommand("delete GroupEvent where EventID = {0} ", item.EventID);
            if (viewModel.MemberID != null && viewModel.MemberID.Length > 0)
            {
                //models.ExecuteCommand("insert GroupEvent(EventID,UID) values ({0},{1}) ", item.EventID, item.UID);
                foreach (var memberID in viewModel.MemberID.Distinct())
                {
                    models.ExecuteCommand("insert GroupEvent(EventID,UID) values ({0},{1}) ", item.EventID, memberID);
                }
            }

            return(Json(new { result = true, message = "行事曆已儲存!!" }));
        }