Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }