Exemple #1
0
        private void AddBought(List <AnimalFoodStoreType> types, AnimalFoodStore store)
        {
            var fodders = Fodder.Elements().Skip(2).ToList();

            var indices = from fodder in fodders
                          where fodder.Elements().ElementAt(3).Value == "TRUE"
                          select fodders.IndexOf(fodder);

            var slist = FodderSpecs.Elements().Skip(3).ToList();
            var specs = from spec in slist
                        where indices.Contains(slist.IndexOf(spec))
                        select new string[3]
            {
                spec.Name.LocalName,
                spec.Elements().ElementAt(1).Value,
                spec.Elements().ElementAt(2).Value
            };

            foreach (var spec in specs)
            {
                types.Add(new AnimalFoodStoreType(store)
                {
                    Name     = spec[0],
                    DMD      = Convert.ToDouble(spec[1]),
                    Nitrogen = Convert.ToDouble(spec[2])
                });
            }
        }
Exemple #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Producer,Name,ProductionDate,Price")] Fodder fodder)
        {
            if (id != fodder.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(fodder);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FodderExists(fodder.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(fodder));
        }
Exemple #3
0
        public async Task <IActionResult> Create([Bind("Id,Producer,Name,ProductionDate,Price")] Fodder fodder)
        {
            if (ModelState.IsValid)
            {
                _context.Add(fodder);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(fodder));
        }
Exemple #4
0
        public Fodder WrapStandardFodder(DataRow fodderRow)
        {
            Fodder fodderItem = new Fodder();

            if (fodderRow != null)
            {
                fodderItem.ID       = Convert.ToInt32(fodderRow["FodderID"]);
                fodderItem.Name     = fodderRow["FodderName"].ToString();
                fodderItem.Quantity = Convert.ToInt32(fodderRow["Quantity"]);
            }
            return(fodderItem);
        }
Exemple #5
0
        public PastureFodder MapToPastureFodder(Fodder standardFodder, int pastureID)
        {
            PastureFodder p = GetPastureFodders(pastureID).Find(pp => pp.PastureID == pastureID && pp.SysFodderID == standardFodder.ID);

            //牧场饲料的量是Usage,从配方的quantity得到
            if (p == null)
            {
                return(null);
            }
            p.Usage = standardFodder.Quantity;
            return(p);
        }
Exemple #6
0
        /// <summary>
        /// 获取某配方的标准饲料list
        /// </summary>
        /// <param name="formulaID"></param>
        /// <returns></returns>
        public List <Fodder> GetFodderList(int formulaID)
        {
            DataTable fodder = this.dalFodder.GetStandardFodderTable(formulaID);

            List <Fodder> lstFodder = new List <Fodder>();

            foreach (DataRow darFodder in fodder.Rows)
            {
                Fodder fodderItem = WrapStandardFodder(darFodder);
                lstFodder.Add(fodderItem);
            }

            return(lstFodder);
        }
Exemple #7
0
        /// <summary>
        /// 获取所有标准饲料(不包含营养信息)
        /// </summary>
        /// <returns></returns>
        public List <Fodder> GetAllSysFodderList()
        {
            DataTable     table = dalFodder.GetStandardFodderTable();
            List <Fodder> list  = new List <Fodder>();

            foreach (DataRow item in table.Rows)
            {
                Fodder fodderItem = new Fodder();
                fodderItem.ID          = Convert.ToInt32(item["ID"]);
                fodderItem.Name        = item["Name"].ToString();
                fodderItem.Description = item["Description"].ToString();
                list.Add(fodderItem);
            }

            return(list);
        }
Exemple #8
0
        public JsonResult AddFodder()
        {
            FodderBLL fodderBLL = new FodderBLL();
            Fodder    f         = new Fodder();

            f.Name        = Request.Form["fodderName"].ToString();
            f.Description = Request.Form["description"].ToString();
            f.RefPrice    = ToDouble(Request.Form["price"]);

            f.DM  = ToDouble(Request.Form["DM"]);
            f.NND = ToDouble(Request.Form["NND"]);
            f.Ca  = ToDouble(Request.Form["Ca"]);
            f.P   = ToDouble(Request.Form["P"]);
            f.CP  = ToDouble(Request.Form["CP"]);
            f.CF  = ToDouble(Request.Form["CF"]);
            f.Fat = ToDouble(Request.Form["Fat"]);
            f.NFE = ToDouble(Request.Form["NFE"]);
            f.ASH = ToDouble(Request.Form["ASH"]);
            f.NDF = ToDouble(Request.Form["NDF"]);
            f.ADF = ToDouble(Request.Form["ADF"]);
            f.NPP = ToDouble(Request.Form["NPP"]);
            f.Arg = ToDouble(Request.Form["Arg"]);
            f.His = ToDouble(Request.Form["His"]);
            f.Ile = ToDouble(Request.Form["Ile"]);
            f.Leu = ToDouble(Request.Form["Leu"]);
            f.Lys = ToDouble(Request.Form["Lys"]);
            f.Met = ToDouble(Request.Form["Met"]);
            f.Cys = ToDouble(Request.Form["Cys"]);
            f.Phe = ToDouble(Request.Form["Phe"]);
            f.Tyr = ToDouble(Request.Form["Tyr"]);
            f.Thr = ToDouble(Request.Form["Thr"]);
            f.Trp = ToDouble(Request.Form["Trp"]);
            f.Val = ToDouble(Request.Form["Val"]);
            f.Na  = ToDouble(Request.Form["Na"]);
            f.Cl  = ToDouble(Request.Form["Cl"]);
            f.Mg  = ToDouble(Request.Form["Mg"]);
            f.K   = ToDouble(Request.Form["K"]);
            f.Fe  = ToDouble(Request.Form["Fe"]);
            f.Cu  = ToDouble(Request.Form["Cu"]);
            f.Mn  = ToDouble(Request.Form["Mn"]);
            f.Zn  = ToDouble(Request.Form["Zn"]);
            f.Se  = ToDouble(Request.Form["Se"]);

            int temp = fodderBLL.InsertFodder(f);

            return(Json(new { Result = temp }));
        }
Exemple #9
0
        private Fodder WrapFodderWithQuantityAndNutritionFact(DataRow row)
        {
            //字段均不可空
            Fodder formulaItem = new Fodder()
            {
                ID       = Convert.ToInt32(row["FodderID"]),
                Name     = row["FodderName"].ToString(),
                Quantity = Convert.ToDouble(row["Quantity"]),
                DM       = Convert.ToDouble(row["DM"]),
                NND      = Convert.ToDouble(row["NND"]),
                Ca       = Convert.ToDouble(row["Ca"]),
                P        = Convert.ToDouble(row["P"]),
                CP       = Convert.ToDouble(row["CP"]),
                Fat      = Convert.ToDouble(row["Fat"]),
                RefPrice = Convert.ToDouble(row["RefPrice"]),
                CF       = Convert.ToDouble(row["CF"]),
                NFE      = Convert.ToDouble(row["NFE"]),
                ASH      = Convert.ToDouble(row["ASH"]),
                NDF      = Convert.ToDouble(row["NDF"]),
                ADF      = Convert.ToDouble(row["ADF"]),
                Arg      = Convert.ToDouble(row["Arg"]),
                His      = Convert.ToDouble(row["His"]),
                Ile      = Convert.ToDouble(row["Ile"]),
                Leu      = Convert.ToDouble(row["Leu"]),
                Lys      = Convert.ToDouble(row["Lys"]),
                Met      = Convert.ToDouble(row["Met"]),
                Cys      = Convert.ToDouble(row["Cys"]),
                Phe      = Convert.ToDouble(row["Phe"]),
                Tyr      = Convert.ToDouble(row["Tyr"]),
                Thr      = Convert.ToDouble(row["Thr"]),
                Trp      = Convert.ToDouble(row["Trp"]),
                Val      = Convert.ToDouble(row["Val"]),
                Na       = Convert.ToDouble(row["Na"]),
                Cl       = Convert.ToDouble(row["Cl"]),
                Mg       = Convert.ToDouble(row["Mg"]),
                K        = Convert.ToDouble(row["K"]),
                Fe       = Convert.ToDouble(row["Fe"]),
                Cu       = Convert.ToDouble(row["Cu"]),
                Mn       = Convert.ToDouble(row["Mn"]),
                Zn       = Convert.ToDouble(row["Zn"]),
                Se       = Convert.ToDouble(row["Se"]),
            };

            return(formulaItem);
        }
Exemple #10
0
        public int InsertFodder(Fodder f)
        {
            int temp = 0;

            temp = dalFodder.InsertStandardFodder(f.Name,
                                                  f.Description,
                                                  f.RefPrice,
                                                  f.DM,
                                                  f.NND,
                                                  f.Ca,
                                                  f.P,
                                                  f.CP,
                                                  f.CF,
                                                  f.Fat,
                                                  f.NFE,
                                                  f.ASH,
                                                  f.NDF,
                                                  f.ADF,
                                                  f.NPP,
                                                  f.Arg,
                                                  f.His,
                                                  f.Ile,
                                                  f.Leu,
                                                  f.Lys,
                                                  f.Met,
                                                  f.Cys,
                                                  f.Phe,
                                                  f.Tyr,
                                                  f.Thr,
                                                  f.Trp,
                                                  f.Val,
                                                  f.Na,
                                                  f.Cl,
                                                  f.Mg,
                                                  f.K,
                                                  f.Fe,
                                                  f.Cu,
                                                  f.Mn,
                                                  f.Zn,
                                                  f.Se);
            return(temp);
        }
Exemple #11
0
 /// <summary>
 /// Checks if there is fodder that can be bought and ensures there
 /// is a pool to store it in
 /// </summary>
 private void GetBoughtFodderPools()
 {
     // Look at each fodder type in the table
     for (int row = 0; row < Fodder.RowNames.Count; row++)
     {
         // Check if a fodder type can be bought
         double unit  = Fodder.GetData <double>(row, 0);
         int    month = Fodder.GetData <int>(row, 1);
         if ((unit > 0) && (month > 0))
         {
             // Create appropriate storage pool if none exists
             int    pool     = Fodder.GetData <int>(row, 4);
             string cropname = FodderSpecs.RowNames[row + 1];
             if (!Pools.ContainsKey(pool))
             {
                 Pools.Add(pool, cropname);
             }
             else
             {
                 Pools[pool] = Pools[pool] + $", {cropname}";
             }
         }
     }
 }