Esempio n. 1
0
        public IHttpActionResult ResetPassword(PasswordResetRequest request)
        {
            BaseViewModel      viewmodel = new BaseViewModel();
            UserDataController dataCtrl  = new UserDataController();

            try
            {
                User user = dataCtrl.GetItems().SingleOrDefault(x => x.Email == request.Email);
                if (user == null)
                {
                    return(Warning(viewmodel, "Eingegebene Email ist nicht registriert."));
                }
                else
                {
                    user = dataCtrl.SetPasswordReset(user.ID);
                    EmailHelper.SendResetMail(user);
                }
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel, "Dir wurde ein Link zugesendet."));
        }
        public IHttpActionResult Backend_Detail(Int32 id)
        {
            BackendCateringViewModel    viewmodel     = new BackendCateringViewModel();
            CateringOrderDataController dataCtrl      = new CateringOrderDataController();
            EventDataController         eventDataCtrl = new EventDataController();
            UserDataController          userDataCtrl  = new UserDataController();

            try
            {
                viewmodel.EventOptions = eventDataCtrl.GetItems().ToList().ConvertAll(x =>
                {
                    return(new BackendEventViewModelItem().FromModel(x));
                }).OrderByDescending(x => x.ID).ToList();
                viewmodel.UserOptions = userDataCtrl.GetItems().OrderBy(x => x.FirstName).ToList().ConvertAll(x =>
                {
                    return(new BackendUserViewModelItem().FromModel(x));
                });


                viewmodel.Data.FromModel(dataCtrl.GetItem(id));
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel));
        }
        public IHttpActionResult TransferReservation(TransferReservationRequest request)
        {
            BaseViewModel      viewmodel    = new BaseViewModel();
            UserDataController dataCtrl     = new UserDataController();
            SeatDataController seatDataCtrl = new SeatDataController();

            try
            {
                Int32 TransferUserID;
                Seat  seat = seatDataCtrl.GetItem(request.SeatID);
                try
                {
                    TransferUserID = dataCtrl.GetItems().Single(x => x.Email == request.Email).ID;
                }
                catch (Exception)
                {
                    return(Warning(viewmodel, "Die Email wurde nicht vergeben."));
                }

                if (TransferUserID == UserHelper.CurrentUserID)
                {
                    return(Warning(viewmodel, "Du kannst keine Tickets an dich selber versenden."));
                }

                if (seat.UserID != UserHelper.CurrentUserID)
                {
                    return(Warning(viewmodel, "Du bist nicht Inhaber dieses Tickets."));
                }

                if (dataCtrl.ValidateUser(UserHelper.CurrentUserEmail, request.Password))
                {
                    seat.TransferUserID = TransferUserID;
                    seatDataCtrl.Update(seat);
                }
                else
                {
                    return(Warning(viewmodel, "Das eingegebene Passwort stimmt nicht."));
                }
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel, "Ticket wurde versendet."));
        }
        public IHttpActionResult Backend_FilterList(ListArgsRequest <BackendSeatingFilter> request)
        {
            BackendSeatingListViewModel viewmodel     = new BackendSeatingListViewModel();
            SeatDataController          dataCtrl      = new SeatDataController();
            EventDataController         eventDataCtrl = new EventDataController();
            UserDataController          userDataCtrl  = new UserDataController();

            var events = eventDataCtrl.GetItems().OrderByDescending(x => x.Start).ToList();
            var users  = userDataCtrl.GetItems().OrderBy(x => x.FirstName).ToList();
            var eID    = request.Filter.EventSelected.ID;
            var seats  = dataCtrl.FilterList(request);

            viewmodel.Filter.EventSelected = request.Filter.EventSelected;
            viewmodel.Filter.EventOptions  = events.ConvertAll(x =>
            {
                return(new SeatingFilterEvent()
                {
                    ID = x.ID,
                    Name = $"{x.EventType.Name} Vol.{x.Volume}"
                });
            });

            for (int i = 1; i <= Properties.Settings.Default.SeatAmount; i++)
            {
                BackendSeatingViewModelItem item = new BackendSeatingViewModelItem();
                Seat model = seats.FirstOrDefault(x => x.SeatNumber == i);
                if (model == null)
                {
                    model = new Seat()
                    {
                        SeatNumber = i,
                        State      = 0,
                        Event      = events[0]
                    }
                }
                ;
                item.FromModel(model);
                viewmodel.Data.Add(item);
            }

            return(Ok(viewmodel));
        }
Esempio n. 5
0
        public IHttpActionResult ResetPassword(String code)
        {
            BaseViewModel      viewmodel = new BaseViewModel();
            UserDataController dataCtrl  = new UserDataController();

            try
            {
                var user = dataCtrl.GetItems().SingleOrDefault(x => x.PasswordReset == code);
                if (user == null)
                {
                    return(Warning(viewmodel, "Der Link ist abgelaufen."));
                }
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel));
        }
Esempio n. 6
0
        public static CateringOrder ToModel(this BackendNewOrderRequest viewmodel)
        {
            UserDataController userDataCtrl = new UserDataController();

            CateringOrder model = new CateringOrder();

            model.EventID    = viewmodel.Event.ID;
            model.OrderState = 0;
            model.Registered = DateTime.Now;
            model.UserID     = userDataCtrl.GetItems().Single(x => x.Email == "*****@*****.**").ID;
            model.SeatID     = 1; // TODO
            model.Note       = viewmodel.Note;

            model.CateringOrderDetail = viewmodel.Data.ConvertAll(x =>
            {
                return(x.ToModel());
            });

            return(model);
        }
Esempio n. 7
0
        public IHttpActionResult ResetPassword(String code, PasswordChangeRequest request)
        {
            BaseViewModel      viewmodel = new BaseViewModel();
            UserDataController dataCtrl  = new UserDataController();

            try
            {
                var user = dataCtrl.GetItems().SingleOrDefault(x => x.PasswordReset == code);
                if (user == null)
                {
                    return(Warning(viewmodel, "Der Link ist abgelaufen."));
                }
                String newPwd = PasswordHelper.ChangePassword(user, request.Password1, request.Password2);
                dataCtrl.ChangePassword(user.ID, newPwd);
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel, "Dein Passwort wurde gesetzt."));
        }
        public IHttpActionResult Backend_Detail(Int32 EventID, Int32 SeatNumber)
        {
            BackendSeatingViewModel viewmodel     = new BackendSeatingViewModel();
            SeatDataController      dataCtrl      = new SeatDataController();
            EventDataController     eventDataCtrl = new EventDataController();
            UserDataController      userDataCtrl  = new UserDataController();

            try
            {
                viewmodel.UserOptions = userDataCtrl.GetItems().OrderBy(x => x.FirstName).ToList().ConvertAll(x =>
                {
                    return(new BackendUserViewModelItem().FromModel(x));
                });

                var  seats = dataCtrl.GetItems().Where(x => x.EventID == EventID);
                Seat model = seats.FirstOrDefault(x => x.SeatNumber == SeatNumber);
                if (model == null)
                {
                    model = new Seat()
                    {
                        SeatNumber      = SeatNumber,
                        State           = 0,
                        Event           = eventDataCtrl.GetItem(EventID),
                        ReservationDate = DateTime.Now
                    }
                }
                ;
                viewmodel.Data.FromModel(model);
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel));
        }