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 Auth(LoginRequest request) { LoginViewModel viewmodel = new LoginViewModel(); viewmodel.Authenticated = this.User.Identity.IsAuthenticated; UserDataController dataCtrl = new UserDataController(); try { User u; if (dataCtrl.ValidateUser(request.Email, request.Password, out u)) { ClaimsIdentity identity = InitializeIdentity(u); var authentication = HttpContext.Current.GetOwinContext().Authentication; authentication.SignIn(new Microsoft.Owin.Security.AuthenticationProperties() { IsPersistent = true }, identity); viewmodel.Data.FromModel(u); HttpContext.Current.Response.AddHeader("X-Redirect", Properties.Settings.Default.BaseAbosulteUrl + "/account"); } else { viewmodel.Data = null; return(Warning(viewmodel, "Anmeldung fehlerhaft.")); } } catch (Exception ex) { viewmodel.Data = null; return(Error(viewmodel, ex, "Anmeldung fehlgeschlagen.")); } return(Ok(viewmodel, "Die Anmeldung war erfolgreich!")); }