public static bool Validate(ref string reason) { bool result = true; IoMap map = ViewManager.CurrentMap; string title = map.GetInput <string>("Block.Title"); DateTime shipDate = map.GetInput <DateTime>("Block.ShipByDate"); string description = map.GetInput <string>("Block.Description"); BlockSeries series = map.GetInput <BlockSeries>("Block.Series"); if (string.IsNullOrWhiteSpace(title) || title.Length < 3) { result = false; reason += "Title must be at least 3 characters" + Environment.NewLine; } if (shipDate == default(DateTime)) { result = false; reason += "Ship Date must be filled" + Environment.NewLine; } if (string.IsNullOrWhiteSpace(description)) { result = false; reason += "Description must be filled" + Environment.NewLine; } if (series == null) { result = false; reason += "A series must be selected" + Environment.NewLine; } return(result); }
public void InsertSeries() { IoMap map = ViewManager.CurrentMap; string name = map.GetInput <string>("Name"); string priceText = map.GetInput <string>("Price"); string volumeText = map.GetInput <string>("Volume"); Genre genre = map.GetInput <Genre>("Block.Genre"); string error = ""; if (string.IsNullOrWhiteSpace(name)) { error += "You must enter a series name\n"; } if (string.IsNullOrWhiteSpace(priceText)) { error += "You must enter a price\n"; } if (string.IsNullOrWhiteSpace(volumeText)) { error += "You must enter a block volume\n"; } if (genre == null) { error += "You must select a genre\n"; } decimal price = -1; int volume = -1; if (error == "") { if (!decimal.TryParse(priceText, out price) || price <= 0) { error += "Price must be numeric and greater than 0\n"; } if (!int.TryParse(volumeText, out volume) || volume <= 0) { error += "Volume must be an integer greater than 0\n"; } } if (error == "") { BlockSeries series = new BlockSeries(); series.StartDate = DateTime.Now; series.GenreId = genre; series.BlockVolume = volume; series.SubscriptionPrice = price; series.Title = name; if (DataAccess.Insert(series)) { map.Reset(); map.SetInput("Block.Genre", genre); ViewManager.Show("BlockSeries"); ViewManager.ShowFlash("Successfully added the series", FlashMessageType.Good); } else { ViewManager.ShowFlash("Cannot add series:\n" + DataAccess.Database.LastFailReason.Message, FlashMessageType.Bad); } } else { ViewManager.ShowFlash("Cannot add series:\n" + error, FlashMessageType.Bad); } }