public void DeleteRestock(object parameter) { var selectedRestock = (RestockModel)parameter; if (selectedRestock == null) { return; } if (MessageBox.Show("Soll die ausgewählte Bestückungsliste gelöscht werden?", "Frage", MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.Cancel) { return; } try { using (var db = new PetaPoco.Database("db")) { db.Execute(sql: "DELETE FROM Restocks WHERE RestockId =@0;", selectedRestock.Id); db.Execute(sql: "DELETE FROM RestockLines WHERE RestockId =@0;", selectedRestock.Id); RestockModels.Remove(selectedRestock); RestockLineModels.Clear(); MessageBox.Show("Ausgewählte Bestückungsliste wurde gelöscht."); } } catch (Exception ex) { MessageBox.Show(string.Format("Daten konnten nicht abgerufen werden:\n\n" + ex.Message), "Fehler"); } }
public void GetRestocks(object patameter) { using (var db = new PetaPoco.Database("db")) { try { int?storeId = null; var isStoreId = int.TryParse(App.Current.Properties["StoreId"].ToString(), out int resultStoreId); if (isStoreId) { storeId = resultStoreId; } RestockModels.Clear(); RestockModels.AddRange(db.Fetch <RestockModel>("SELECT RestockId AS Id, Dt AS DATE, IsProcd AS IsProcd, StoreId AS StoreId, TemplateId AS TemplateId FROM Restocks WHERE (StoreId IS NULL OR StoreId = @0)", storeId)); } catch (Exception ex) { MessageBox.Show(string.Format("Daten konnten nicht abgerufen werden:\n\n" + ex.Message), "Fehler"); } } }
public void CreateRestock(object paramater) { var selectedRestock = (RestockModel)paramater; if (selectedRestock == null) { return; } try { if (selectedRestock.TemplateId != null) { throw new Exception("Neue Bestückslisten können nur aus Vorlagen erstellt werden."); } int?storeId = null; var isStoreId = int.TryParse(App.Current.Properties["StoreId"].ToString(), out int resultStoreId); if (isStoreId) { storeId = resultStoreId; } else { throw new Exception("Vorgang nicht möglich:\n\nBenutzer ist keiner Filiale zugeordnet."); } if (RestockModels.Any(x => x.StoreId == storeId && x.IsProcd == false)) { throw new Exception("Vorgang nicht möglich:\n\n Bitte zunächst die offene Bestückungsliste abschließen."); } int userId; var isUserId = int.TryParse(App.Current.Properties["UserId"].ToString(), out int resultUserId); if (isUserId) { userId = resultUserId; } else { throw new Exception("Vorgang nicht möglich:\n\nUnbekannter Benutzer."); } using (var db = new PetaPoco.Database("db")) { using (var scope = db.GetTransaction()) { var rowId = db.ExecuteScalar <int>("INSERT INTO Restocks(Dt, StoreId, UserId, TemplateId) VALUES(date('now'), @0, @1, @2);SELECT last_insert_rowid();", storeId, userId, selectedRestock.Id); var restock = new RestockModel() { Date = DateTime.Now, Id = rowId, IsProcd = false, StoreId = storeId, UserId = userId, TemplateId = selectedRestock.Id }; scope.Complete(); RestockModels.Add(restock); } } } catch (Exception ex) { MessageBox.Show(string.Format("Daten konnten nicht abgerufen werden:\n\n" + ex.Message), "Fehler"); } }