示例#1
0
 public ExtraValue(FamilyExtra v, ExtraValueModel model)
 {
     Type      = v.Type;
     Field     = v.Field;
     StrValue  = v.StrValue;
     DateValue = v.DateValue;
     Data      = v.Data;
     IntValue  = v.IntValue;
     BitValue  = v.BitValue;
     Id        = v.FamilyId;
     Model     = model;
 }
示例#2
0
 internal static Field AddField(Field f, FamilyExtra v)
 {
     if (f == null)
     {
         f = new Field
         {
             name        = v.Field,
             nonstandard = true,
             familyid    = v.FamilyId,
             extravalue  = v,
         };
         f.type = v.StrValue.HasValue() ? "Code"
             : v.Data.HasValue() ? "Data"
             : v.DateValue.HasValue ? "Date"
             : v.IntValue.HasValue ? "Int"
             : v.BitValue.HasValue ? "Bit"
             : "Code";
     }
     f.extravalue = v;
     return(f);
 }
示例#3
0
        public void ShouldMakePizzaOfSameType()
        {
            //Arrange
            List <string> extrasList = new List <string>()
            {
                "Cheese", "Family"
            };
            string        pizzaType    = "Pepperoni";
            IPizzaFactory pizzaFactory = new OrdinaryPizzaFactory();

            //Act
            IPizza pizzaFromFactory = pizzaFactory.MakePizza(extrasList, pizzaType);

            //Assert
            IPizza pizza = new FamilyExtra(new CheeseExtra(new PepperoniPizza()));

            Assert.NotNull(pizzaFromFactory);

            Assert.Equal(pizza.Price(), pizzaFromFactory.Price());
            Assert.Equal(pizza.Name(), pizzaFromFactory.Name());
            Assert.Equal(pizza.Calories(), pizzaFromFactory.Calories());
        }
示例#4
0
        public ActionResult NewExtraValue(int id, string field, string type, string value)
        {
            var v = new FamilyExtra {
                FamilyId = id, Field = field
            };

            DbUtil.Db.FamilyExtras.InsertOnSubmit(v);
            switch (type)
            {
            case "string":
                v.StrValue = value;
                break;

            case "text":
                v.Data = value;
                break;

            case "date":
                var dt = DateTime.MinValue;
                DateTime.TryParse(value, out dt);
                v.DateValue = dt;
                break;

            case "int":
                v.IntValue = value.ToInt();
                break;
            }
            try
            {
                DbUtil.Db.SubmitChanges();
            }
            catch (Exception ex)
            {
                return(Content("error: " + ex.Message));
            }
            return(Content("ok"));
        }