public static BackendSeatingViewModelItem FromModel(this BackendSeatingViewModelItem viewmodel, Seat model) { viewmodel.ID = model.ID; viewmodel.SeatNumber = model.SeatNumber; viewmodel.ReservationState = new BackendSeatingStatusOption(model.State); viewmodel.ReservationDate = model.ReservationDate; viewmodel.Description = model.Description; viewmodel.IsPayed = model.Payed; viewmodel.User = null; viewmodel.TransferUser = null; viewmodel.Event.FromModel(model.Event); if (model.IsActive && model.State != 0 && model.User != null) { viewmodel.User = new BackendUserViewModelItem(); viewmodel.User.FromModel(model.User); } if (model.IsActive && model.State != 0 && model.TransferUser != null) { viewmodel.TransferUser = new BackendUserViewModelItem(); viewmodel.TransferUser.FromModel(model.TransferUser); } return(viewmodel); }
public static Seat ToModel(this BackendSeatingViewModelItem viewmodel) { Seat model = new Seat(); model.SeatNumber = viewmodel.SeatNumber; model.EventID = viewmodel.Event.ID; model.UserID = viewmodel.User.ID; if (viewmodel.TransferUser != null) { model.TransferUserID = viewmodel.TransferUser.ID; } model.State = viewmodel.ReservationState.Key; model.Payed = viewmodel.IsPayed; model.ReservationDate = viewmodel.ReservationDate; model.Description = viewmodel.Description; model.IsActive = true; return(model); }
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)); }
public IHttpActionResult Backend_Detail_Update(Int32 EventID, Int32 SeatNumber, BackendSeatingViewModelItem request) { BackendSeatingViewModel viewmodel = new BackendSeatingViewModel(); SeatDataController dataCtrl = new SeatDataController(); try { var seats = dataCtrl.GetItems().Where(x => x.EventID == EventID); Seat model = seats.FirstOrDefault(x => x.SeatNumber == SeatNumber); Seat result = null; if (request.ReservationState.Key != 0) { if (model == null) { result = dataCtrl.Insert(request.ToModel()); } else { result = request.ToModel(); result.ID = model.ID; result = dataCtrl.Update(result); } viewmodel.Data.FromModel(result); } else { if (model != null) { dataCtrl.Delete(model.ID); } } } catch (Exception ex) { return(Error(viewmodel, ex)); } return(Ok(viewmodel, "Sitzplatz gespeichert.")); }
public IHttpActionResult Backend_Detail_Insert(Int32 EventID, Int32 SeatNumber, BackendSeatingViewModelItem request) { BackendSeatingViewModel viewmodel = new BackendSeatingViewModel(); // TODO return(Ok(viewmodel)); }