Example #1
0
    /// <summary>
    /// Add a new book
    /// </summary>
    /// <param name="isbn"></param>
    /// <param name="sPublisherNumber"></param>
    /// <param name="sPublisherName"></param>
    /// <param name="sBookTitle"></param>
    /// <param name="BindingTypeNumber"></param>
    /// <returns></returns>
    public Book AddBook(string isbn, string sPublisherNumber, string sPublisherName, string sBookTitle, string BindingTypeNumber = "")
    {
        SDSPortalApplication app = new SDSPortalApplication();
        Book _book = new Book();

        _book.DATE_ADDED = DateTime.Now;
        _book.BOOK_IDENTIFICATION_TYPE = "ISBN";
        _book.BOOK_NUMBER              = isbn;
        _book.PUBLISHER_NUMBER         = sPublisherNumber;
        _book.PUBLISHER_NAME           = sPublisherName;
        _book.DATE_ADDED               = DateTime.Now;
        _book.BOOK_IDENTIFICATION_TYPE = "ISBN";
        _book.BOOK_TITLE               = sBookTitle;
        _book.BINDING_TYPE_NUMBER      = BindingTypeNumber;

        using (SDSEntities objSDS = new SDSEntities())
        {
            SDS_BOOK objBook = (from B in objSDS.SDS_BOOK
                                where B.BOOK_NUMBER == _book.BOOK_NUMBER && B.PUBLISHER_NUMBER == _book.PUBLISHER_NUMBER
                                select B).FirstOrDefault();
            if (objBook == null)
            {
                LogWriter.LogWriter.WriteEntry("Publisher Numbers :" + sPublisherNumber);
                _book.Add(app.SDSConnection);
            }
            else
            {
                _book.BOOK_ID = objBook.BOOK_ID;
            }
        }
        return(_book);
    }
Example #2
0
 /// <summary>
 /// 构造函数 构造时 名字 isbn 数量 购入时间 不能为空 其余可以
 /// 生成历史文件
 /// </summary>
 /// <param name="_name">书名</param>
 /// <param name="_isbn">书号</param>
 /// <param name="_amount">书的数量</param>
 /// <param name="_broughttime">购入时间</param>
 /// <param name="_publisher">出版社</param>
 /// <param name="_auther">作者</param>
 /// <param name="_introduction">简介</param>
 /// <param name="_bookimage">书籍封面地址</param>
 /// <param name="_adminid">管理员id</param>
 /// <param name="_lable1">标签1</param>
 /// <param name="_lable2">标签2</param>
 /// <param name="_lable3">标签3</param>
 internal ClassBook(string _name, string _isbn, int _amount, DateTime _broughttime, string _adminid, string _lable1, string _lable2, string _lable3, string _publisher = "", string _auther = "", string _bookimage = "", string _introduction = "")
 {
     Bookname  = _name; Bookisbn = _isbn; Bookamount = _amount;
     Publisher = _publisher; Author = _auther; Introduction = _introduction; Bookimage = _bookimage; Booklable1 = _lable1; Booklable2 = _lable2; Booklable3 = _lable3;
     for (int i = 0; i < Bookamount; i++)
     {
         Book.Add(new ABook(BOOKSTATE.Available, "", _broughttime, _isbn + i.ToString("D4")));
         UpdateHistory(Book.Last().Extisbn.ToString(), new ClassBookHis(_broughttime, _adminid, 0));
     }
 }
Example #3
0
 public void Post([FromBody] Book book)
 {
     try
     {
         IAdd bookDetail = new Book();
         bookDetail.Add(book);
     }
     catch (Exception ex)
     {
         _logger.LogError(string.Format("BookController => POST   Error Occured at: {0}{1}Error Details: {2}", DateTime.Now, Environment.NewLine, ex.InnerException.Message));
     }
 }
Example #4
0
        public Book Decode()
        {
            JSONObject imageList = json.GetField("book").GetField("imageURLs");

            book = new Book(imageList.Count);
            book.id = json.GetField("book").GetField("id").str;

            imageList.list.ForEach(x =>
            {
                book.Add(x.str);
            });

            return book;
        }
Example #5
0
        /// <summary>
        /// 搜索最小路径
        /// </summary>
        /// <param name="currentCoordinate">当前坐标</param>
        /// <param name="step">已经走了几步</param>
        /// <returns>是否有找到最小路径</returns>
        private bool SearchMinimumPath(Coordinate currentCoordinate, int step)
        {
            if (currentCoordinate.Equals(Target_Coordinate))
            {
                //  更新最小路径记录
                if (step < MinimumStep)
                {
                    MinimumStep = step;
                    //  更新最小路径记录
                    Path = new Coordinate[TemplatePath.Count];
                    TemplatePath.CopyTo(Path, 0);
                    return(true);
                }
                return(false);
            }

            bool isFindMinimumPath = false;

            //  往四个方向探索
            for (int i = 0; i < 4; i++)
            {
                Coordinate nextCoordinate = i switch
                {
                    0 => currentCoordinate.MoveUp(),
                    1 => currentCoordinate.MoveRight(),
                    2 => currentCoordinate.MoveDown(),
                    3 => currentCoordinate.MoveLeft(),
                    _ => throw new ArgumentOutOfRangeException(),
                };

                if (Book.Contains(nextCoordinate) || map[nextCoordinate.X][nextCoordinate.Y] == BARRIER ||
                    nextCoordinate.X <0 || nextCoordinate.X> Rows ||
                    nextCoordinate.Y <0 || nextCoordinate.Y> Columns)
                {
                    continue;
                }

                TemplatePath.Push(nextCoordinate);
                Book.Add(nextCoordinate);
                isFindMinimumPath = SearchMinimumPath(nextCoordinate, step + 1);
                //  记录找到的最小路径

                TemplatePath.Pop();
                Book.Remove(nextCoordinate);
            }
            return(isFindMinimumPath);
        }
Example #6
0
        /// <summary>
        /// 添加书的数量
        /// </summary>
        /// <param name="n">数量</param>
        /// <param name="time">购入时间</param>
        /// <param name="_adminid">管理员ID</param>
        internal void AddBook(int n, DateTime time, string _adminid)
        {
            int oldamount = Book.Count;

            Bookamount += n;

            int lastisbn = Convert.ToInt32((Book.Last().Extisbn).Substring(10, 4));

            for (int i = 0; i < n; i++)
            {
                lastisbn++;
                Book.Add(new ABook(BOOKSTATE.Available, "", time, Bookisbn + lastisbn.ToString("D4")));
                UpdateHistory(Book.Last().Extisbn, new ClassBookHis(time, _adminid, 0));
            }

            //通知预约者
            for (int i = oldamount; i < Bookamount; i++)
            {
                InformToScheduler(i);
            }
        }
Example #7
0
    private static void ProcessBook()
    {
        string temp = LoadBook();

        short symbols = (short)(SetingsData.SymbolsSize * (SetingsData.SymbolsSize + 4) - 1);
        short end;
        int   start;

        for (start = 0, end = symbols; start + end < temp.Length;)
        {
            if (temp[end] == ' ' | temp[end] == '\n')
            {
                Book.Add(temp.Substring(start, end));
                start += end;
                end    = symbols;
            }
            else
            {
                end--;
            }
        }
        Book.Add(temp.Substring(start));
    }
Example #8
0
        async Task ExecuteLoadBooksCommand()
        {
            IsBusy = true;

            try
            {
                Book.Clear();
                var _books = await BooksDataStore.GetItemsAsync(true);

                foreach (var book in _books)
                {
                    Book.Add(book);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Example #9
0
        public override void StepRun(bool serialize, int i, string variety = null, string parameterName = null, double parameterValue = 0)
        {
            if (i == 0)
            {
                ///<Behnam>
                string miName, piName, riName, roiName, siiName, soiName, viName;
                miName  = RunItem.Normal.ManagementItem;
                piName  = RunItem.Normal.ParameterItem;
                riName  = RunItem.Name;
                roiName = RunItem.Normal.RunOptionItem;
                siiName = RunItem.Normal.SiteItem;
                soiName = RunItem.Normal.SoilItem;
                viName  = RunItem.Normal.VarietyItem;

                ManagementItem    mi  = null;
                CropParameterItem pi  = null;
                RunOptionItem     roi = null;
                SiteItem          sii = null;
                SoilItem          soi = null;
                CropParameterItem vi  = null;
                RunCore.GetItems(riName, miName, piName, roiName, siiName, soiName, viName, ref mi, ref pi, ref roi, ref sii, ref soi, ref vi);

                switch (roi.OutputPattern)
                {
                case "V13": ProjectFile.OutputVersion = OutputVersion.V13; break;

                case "V15": ProjectFile.OutputVersion = OutputVersion.V15; break;

                case "Cus": ProjectFile.OutputVersion = OutputVersion.Cus; break;

                case "Maize": ProjectFile.OutputVersion = OutputVersion.Maize; break;
                }
                ///</Behnam>

                ///<Behnam (2016.01.19)>
                ///<Comment>Adding the Summary file to the outputs of a Normal run</Comment>
                var SumOutputFileName = OutputFile.ExtractMultiRunHeader();
                SumOutputFileName.Title = OutputFileName.Replace(OutputExtention, SumOutputExtention);
                Book.Add(SumOutputFileName);

                Run.isFirstYear = true;
                var excelPage = RunCore.Run(RunItem.Name, true, true, ManagementItem, ParameterItem, RunOptionItem, SiteItem, SoilItem, VarietyItem);
                excelPage.Title = OutputFileName;
                Book.Add(excelPage);

                var WarningOutputFileName = OutputFile.ExtractWarningsNormalRun(RunCore.RunInstance);
                WarningOutputFileName.Title = "Warnings";
                Book.Add(WarningOutputFileName);


                if (serialize)
                {
                    RunCore.Save(excelPage, AbsoluteOutputPath, true);
                }

                if (ProjectFile.OutputVersion == OutputVersion.Cus)
                {
                    Run.SecondLine = false;
                    Book[0].Add(OutputFile.ExtractMultiRunLine(RunCore.RunInstance));
                }
                Book[0].Add(OutputFile.ExtractMultiRunLine(RunCore.RunInstance));
                ///</Behnam>
            }
            else
            {
                throw new RunException(RunItem.Name, "Normal run index != 0");
            }
        }
Example #10
0
        public override void StepRun(bool serialize, int i, string variety = null, string parameterName = null, double parameterValue = 0)
        {
            #region get items

            string miName, piName, riName, roiName, siiName, soiName, viName, exName;

            if (MultiRuns.Count > 0)
            {
                var item = MultiRuns[i];
                miName  = item.ManagementItemSelected;
                piName  = item.ParameterItemSelected;
                riName  = RunItem.Name;
                roiName = item.RunOptionItemSelected;
                siiName = item.SiteItemSelected;
                soiName = item.SoilItemSelected;
                viName  = item.VarietyItemSelected;
                exName  = item.ExperimentSelected;
            }
            else
            {
                miName  = RunItem.Normal.ManagementItem;
                piName  = RunItem.Normal.ParameterItem;
                riName  = RunItem.Name;
                roiName = RunItem.Normal.RunOptionItem;
                siiName = RunItem.Normal.SiteItem;
                soiName = RunItem.Normal.SoilItem;
                viName  = RunItem.Normal.VarietyItem;
                exName  = RunItem.Normal.ExperimentItem;
            }

            ManagementItem    mi  = null;
            CropParameterItem pi  = null;
            RunOptionItem     roi = null;
            SiteItem          sii = null;
            SoilItem          soi = null;
            CropParameterItem vi  = null;
            RunCore.GetItems(riName, miName, piName, roiName, siiName, soiName, viName, ref mi, ref pi, ref roi, ref sii, ref soi, ref vi);

            #endregion

            #region override some parameters

            if (variety != null)
            {
                if (variety == viName)
                {
                    vi.ParamValue[parameterName] = parameterValue;
                }
            }

            #endregion

            if (!multiYear)
            {
                switch (roi.OutputPattern)
                {
                case "V13": ProjectFile.OutputVersion = OutputVersion.V13; break;

                case "V15": ProjectFile.OutputVersion = OutputVersion.V15; break;

                case "Cus": ProjectFile.OutputVersion = OutputVersion.Cus; break;

                case "Maize": ProjectFile.OutputVersion = OutputVersion.Maize; break;
                }

                ///<Behnam>
                ///<Comment>
                ///Modifications related to estimating sowing window and forcing the model
                ///to put daily outputs into one file if the names of the daily output files
                ///are identical for two successive years.
                ///</Comment>

                var yy = sii.MaxSowingDate.Year - sii.MinSowingDate.Year;
                mi.SowingDate     = new DateTime(mi.SowingDate.Year, mi.SowingDate.Month, mi.SowingDate.Day);
                sii.MinSowingDate = new DateTime(mi.SowingDate.Year, sii.MinSowingDate.Month, sii.MinSowingDate.Day);
                sii.MaxSowingDate = new DateTime(mi.SowingDate.Year + yy, sii.MaxSowingDate.Month, sii.MaxSowingDate.Day);

                Run.isFirstYear = true;
                ///</Behnam>
                //Debug
                var excelPage = RunCore.Run(riName, exportNormalRuns, false, mi, pi, roi, sii, soi, vi);

                ///<Behnam>
                if (i == 0)
                {
                    Book.Clear();
                    var outputFile = OutputFile.ExtractMultiRunHeader();
                    outputFile.Title = OutputFileName;
                    Book.Add(outputFile);
                }


                if (exportNormalRuns)
                {
                    var dailyOutputFileName = OutputPatternVarDef.OutputPatternValue(dailyOutputPattern, miName, piName, riName, roiName, siiName, soiName, viName, exName) + RunItem.Normal.OutputExtention;
                    dailyOutputFileName = dailyOutputFileName.Replace(VarMultiYearSowingYear, "");
                    excelPage.Title     = dailyOutputFileName;
                    Book.Add(excelPage);
                    if (serialize)
                    {
                        RunCore.Save(excelPage, AbsoluteOutputDirectory + "\\" + dailyOutputFileName);
                    }


                    if (i == 0)
                    {
                        warningFile       = OutputFile.ExtractWarningsHeader();
                        warningFile.Title = "warnings";
                    }

                    LineData line = OutputFile.ExtractWarningsMultiRun(RunCore.RunInstance);
                    if (line != null)
                    {
                        warningFile.Add(line);
                    }
                }

                if (i == 0 && ProjectFile.OutputVersion == OutputVersion.Cus)
                {
                    Run.SecondLine = false;
                    Book[0].Add(OutputFile.ExtractMultiRunLine(RunCore.RunInstance));
                }
                ///</Behnam>
                Book[0].Add(OutputFile.ExtractMultiRunLine(RunCore.RunInstance));

                /// Behnam (2016.06.01): Added to write the summaty file after each run is finished.
                /// Other way, if one simulations is not completed, the summary file is not pronted at all.
                if (serialize)
                {
                    RunCore.Save(Book[0], AbsoluteOutputPath);
                }
            }
            else
            {
                mi = mi.Clone();

                ///<Behnam>
                switch (roi.OutputPattern)
                {
                case "V13": ProjectFile.OutputVersion = OutputVersion.V13; break;

                case "V15": ProjectFile.OutputVersion = OutputVersion.V15; break;

                case "Cus": ProjectFile.OutputVersion = OutputVersion.Cus; break;

                case "Maize": ProjectFile.OutputVersion = OutputVersion.Maize; break;
                }

                for (var j = firstYear; j <= lastYear; ++j)
                {
                    foreach (var dateApp in mi.DateApplications)
                    {
                        dateApp.Date = new DateTime(j + (dateApp.Date.Year - mi.SowingDate.Year), dateApp.Date.Month, dateApp.Date.Day);
                    }

                    var yy = sii.MaxSowingDate.Year - sii.MinSowingDate.Year;
                    mi.SowingDate     = new DateTime(j, mi.SowingDate.Month, mi.SowingDate.Day);
                    sii.MinSowingDate = new DateTime(j, sii.MinSowingDate.Month, sii.MinSowingDate.Day);
                    sii.MaxSowingDate = new DateTime(j + yy, sii.MaxSowingDate.Month, sii.MaxSowingDate.Day);

                    Run.isFirstYear = (j == firstYear);

                    var excelPage = RunCore.Run(riName, exportNormalRuns, false, mi, pi, roi, sii, soi, vi);

                    if (i == 0 && j == firstYear)
                    {
                        Book.Clear();
                        var outputFile = OutputFile.ExtractMultiRunHeader();
                        outputFile.Title = OutputFileName;
                        Book.Add(outputFile);
                    }

                    if (exportNormalRuns)
                    {
                        var dailyOutputFileName = OutputPatternVarDef.OutputPatternValue(dailyOutputPattern, miName, piName, riName, roiName, siiName, soiName, viName, exName) + RunItem.Normal.OutputExtention;
                        dailyOutputFileName = dailyOutputFileName.Replace(VarMultiYearSowingYear, sii.MinSowingDate.Year.ToString());
                        excelPage.Title     = dailyOutputFileName;
                        Book.Add(excelPage);

                        if (j == firstYear || (j != firstYear && oldDailyOutputFileName != dailyOutputFileName))
                        {
                            if (serialize)
                            {
                                RunCore.Save(excelPage, AbsoluteOutputDirectory + "\\" + dailyOutputFileName, true);
                            }
                        }
                        else
                        {
                            if (serialize)
                            {
                                RunCore.Save(excelPage, AbsoluteOutputDirectory + "\\" + dailyOutputFileName, false);
                            }
                        }
                        oldDailyOutputFileName = dailyOutputFileName;
                    }

                    if (i == 0 && j == firstYear && ProjectFile.OutputVersion == OutputVersion.Cus)
                    {
                        Run.SecondLine = false;
                        Book[0].Add(OutputFile.ExtractMultiRunLine(RunCore.RunInstance));
                    }
                    Book[0].Add(OutputFile.ExtractMultiRunLine(RunCore.RunInstance));

                    /// Behnam (2016.06.01): Added to write the summaty file after each run is finished.
                    /// Other way, if one simulations is not completed, the summary file is not pronted at all.
                    if (serialize)
                    {
                        RunCore.Save(Book[0], AbsoluteOutputPath);
                    }
                    ///</Behnam>

                    //Warnings
                    if (i == 0 && j == firstYear)
                    {
                        warningFile       = OutputFile.ExtractWarningsHeader();
                        warningFile.Title = "warnings";
                    }

                    LineData line = OutputFile.ExtractWarningsMultiRun(RunCore.RunInstance);
                    if (line != null)
                    {
                        warningFile.Add(line);
                    }
                }
            }
            if (i == (MultiRuns.Count - 1))
            {
                Book.Add(warningFile);
            }
        }
Example #11
0
        /// <summary>
        /// Book类的接口帮助类,完成Add方法的数据检查
        /// </summary>
        /// <param name="bookInfo">Add方法的图书哈希表信息</param>
        /// <param name="WarningMessageList">返回的警告信息</param>
        /// <returns>如果数据检查正确:返回true;否则:返回false</returns>
        public static bool Add(Hashtable bookInfo, ref ArrayList WarningMessageList)
        {
            bool result = true;

            WarningMessageList.Clear();
            Hashtable quoetedBookInfo = new Hashtable();                //值带有单引号的图书信息哈希表

            foreach (DictionaryEntry item in bookInfo)
            {
                switch (item.Key.ToString())
                {
                case "BookName":                                        //图书名称
                {
                    if (item.Value.ToString() == "")
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书名称不能为空!");
                    }
                    else if (!ValidateUtility.IsString(item.Value))                             //检查是否为字符串类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书名称数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("BookName", SqlStringConstructor.GetQuotedString(item.Value.ToString()));
                    }
                    break;
                }

                case "CategoryId":                                      //图书类别ID
                {
                    if (item.Value.ToString() == "")
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书类别ID不能为空!");
                    }
                    else if (!ValidateUtility.IsDouble(item.Value))                             //检查是否为浮点数类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书类别ID类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("CategoryId", item.Value.ToString());
                    }
                    break;
                }

                case "Price":                                   //图书价格
                {
                    if (item.Value.ToString() == "")
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书价格数不能为空!");
                    }
                    else if (!ValidateUtility.IsDouble(item.Value))                             //检查是否为浮点数类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书价格数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("Price", item.Value.ToString());
                    }
                    break;
                }

                case "Publisher":                                       //出版社
                {
                    if (item.Value.ToString() == "")
                    {
                        result = false;
                        WarningMessageList.Add("警告:出版社不能为空!");
                    }
                    else if (!ValidateUtility.IsString(item.Value))                             //检查是否为字符串类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:出版社数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("Publisher", SqlStringConstructor.GetQuotedString(item.Value.ToString()));
                    }
                    break;
                }

                case "PublishDate":                              //出版日期
                {
                    if (!ValidateUtility.IsDateTime(item.Value)) //检查是否为日期类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书出版日期数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("PublishDate", SqlStringConstructor.GetQuotedString(item.Value.ToString()));
                    }

                    break;
                }

                case "Author":                                  //作者
                {
                    if (item.Value.ToString() == "")
                    {
                        result = false;
                        WarningMessageList.Add("警告:作者不能为空!");
                    }
                    else if (!ValidateUtility.IsString(item.Value))                             //检查是否为字符串类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书名称数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("Author", SqlStringConstructor.GetQuotedString(item.Value.ToString()));
                    }
                    break;
                }

                case "PageNum":
                {
                    if (!ValidateUtility.IsInt(item.Value))                                     //检查是否为整数类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书页数数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("PageNum", item.Value.ToString());
                    }
                    break;
                }

                case "PictureUrl":
                {
                    if (!ValidateUtility.IsString(item.Value))                                          //检查是否为字符串类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图片路径数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("PictureUrl", SqlStringConstructor.GetQuotedString(item.Value.ToString()));
                    }
                    break;
                }

                case "Description":
                {
                    if (!ValidateUtility.IsString(item.Value))                                          //检查是否为字符串类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:图书页数数据类型错误!");
                    }
                    else if (item.Value.ToString().Length > 1000)
                    {
                        result = false;
                        WarningMessageList.Add("警告:请把图书简介字符在1000字之内!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("Description", SqlStringConstructor.GetQuotedString(item.Value.ToString()));
                    }
                    break;
                }

                case "SaleCount":
                {
                    if (!ValidateUtility.IsString(item.Value))                                          //检查是否为整数类型
                    {
                        result = false;
                        WarningMessageList.Add("警告:销售量数据类型错误!");
                    }
                    else
                    {
                        quoetedBookInfo.Add("SaleCount", item.Value.ToString());
                    }
                    break;
                }
                }        //switch
            }            //while

            if (result)
            {
                Book book = new Book();
                book.Add(quoetedBookInfo);
            }
            return(result);
        }
Example #12
0
        // Load the monster.txt drop file.
        private void LoadDropFile(bool edit)
        {
            var lines = (edit == false) ? File.ReadAllLines(Path.Combine(Settings.DropPath, String.Format("{0}.txt", listBoxMonsters.SelectedItem)), Encoding.GetEncoding("euc-kr")) : textBoxDropList.Lines;

            for (int i = 0; i < lines.Length; i++)
            {
                if (lines[i].StartsWith(";Gold"))
                {
                    if (lines[i + 1].StartsWith("1/"))
                    {
                        var workingLine = lines[i + 1].Split(' ');
                        GoldOdds = workingLine[0].Remove(0, 2);
                        Gold     = workingLine[2];
                        break;
                    }
                    else
                    {
                        GoldOdds = "0";
                        Gold     = "0";
                    }
                }
            }

            string[] Headers = new string[34]
            {
                ";Weapons",
                ";Armours",
                ";Helmets",
                ";Necklaces",
                ";Bracelets",
                ";Rings",
                ";Amulets",
                ";Belts",
                ";Boots",
                ";Stones",
                ";Torches",
                ";Potions",
                ";Ores",
                ";Meat",
                ";Crafting Materials",
                ";Scrolls",
                ";Gems",
                ";Mount",
                ";Books",
                ";Nothing",
                ";Script",
                ";Reins",
                ";Bells",
                ";Saddle",
                ";Ribbon",
                ";Mask",
                ";Food",
                ";Hook",
                ";Float",
                ";Bait",
                ";Finder",
                ";Reel",
                ";Fish",
                ";Quest"
            };

            for (int i = 0; i < Headers.Length; i++)
            {
                for (int j = 0; j < lines.Length; j++)
                {
                    if (lines[j].StartsWith(Headers[i]))
                    {
                        for (int k = j + 1; k < lines.Length; k++)
                        {
                            if (lines[k].StartsWith(";"))
                            {
                                break;
                            }

                            var workingLine = lines[k].Split(' ');
                            if (workingLine.Length < 2)
                            {
                                continue;
                            }

                            var quest = "";

                            if (workingLine.Length > 2 && workingLine[2] == "Q")
                            {
                                quest = workingLine[2];
                            }

                            DropItem newDropItem = new DropItem {
                                Odds = workingLine[0], Name = workingLine[1], Quest = quest
                            };
                            switch (i)
                            {
                            case 0:
                                Weapon.Add(newDropItem);
                                break;

                            case 1:
                                Armour.Add(newDropItem);
                                break;

                            case 2:
                                Helmet.Add(newDropItem);
                                break;

                            case 3:
                                Necklace.Add(newDropItem);
                                break;

                            case 4:
                                Bracelet.Add(newDropItem);
                                break;

                            case 5:
                                Ring.Add(newDropItem);
                                break;

                            case 6:
                                Amulet.Add(newDropItem);
                                break;

                            case 7:
                                Belt.Add(newDropItem);
                                break;

                            case 8:
                                Boot.Add(newDropItem);
                                break;

                            case 9:
                                Stone.Add(newDropItem);
                                break;

                            case 10:
                                Torch.Add(newDropItem);
                                break;

                            case 11:
                                Potion.Add(newDropItem);
                                break;

                            case 12:
                                Ore.Add(newDropItem);
                                break;

                            case 13:
                                Meat.Add(newDropItem);
                                break;

                            case 14:
                                CraftingMaterial.Add(newDropItem);
                                break;

                            case 15:
                                Scrolls.Add(newDropItem);
                                break;

                            case 16:
                                Gem.Add(newDropItem);
                                break;

                            case 17:
                                Mount.Add(newDropItem);
                                break;

                            case 18:
                                Book.Add(newDropItem);
                                break;

                            case 19:
                                Nothing.Add(newDropItem);
                                break;

                            case 20:
                                Script.Add(newDropItem);
                                break;

                            case 21:
                                Reins.Add(newDropItem);
                                break;

                            case 22:
                                Bells.Add(newDropItem);
                                break;

                            case 23:
                                Saddle.Add(newDropItem);
                                break;

                            case 24:
                                Ribbon.Add(newDropItem);
                                break;

                            case 25:
                                Mask.Add(newDropItem);
                                break;

                            case 26:
                                Food.Add(newDropItem);
                                break;

                            case 27:
                                Hook.Add(newDropItem);
                                break;

                            case 28:
                                Float.Add(newDropItem);
                                break;

                            case 29:
                                Bait.Add(newDropItem);
                                break;

                            case 30:
                                Finder.Add(newDropItem);
                                break;

                            case 31:
                                Reel.Add(newDropItem);
                                break;

                            case 32:
                                Fish.Add(newDropItem);
                                break;

                            case 33:
                                Quest.Add(newDropItem);
                                break;

                            default:
                                break;
                            }
                        }
                    }
                }
            }
        }
Example #13
0
        // Add the item to the drop list
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            int dropChance;

            int.TryParse(textBoxItemOdds.Text, out dropChance);

            if (dropChance < 1)
            {
                dropChance = 1;
            }

            string quest = QuestOnlyCheckBox.Checked ? "Q" : "";

            try
            {
                switch (tabControlSeperateItems.SelectedTab.Tag.ToString())
                {
                case "Weapon":
                    Weapon.Add(new DropItem {
                        Name = listBoxWeapon.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Armour":
                    Armour.Add(new DropItem {
                        Name = listBoxArmour.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Helmet":
                    Helmet.Add(new DropItem {
                        Name = listBoxHelmet.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Necklace":
                    Necklace.Add(new DropItem {
                        Name = listBoxNecklace.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Bracelet":
                    Bracelet.Add(new DropItem {
                        Name = listBoxBracelet.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Ring":
                    Ring.Add(new DropItem {
                        Name = listBoxRing.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Amulet":
                    Amulet.Add(new DropItem {
                        Name = listBoxAmulet.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Belt":
                    Belt.Add(new DropItem {
                        Name = listBoxBelt.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Boots":
                    Boot.Add(new DropItem {
                        Name = listBoxBoot.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Stone":
                    Stone.Add(new DropItem {
                        Name = listBoxStone.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Torch":
                    Torch.Add(new DropItem {
                        Name = listBoxTorch.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Potion":
                    Potion.Add(new DropItem {
                        Name = listBoxPotion.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Ore":
                    Ore.Add(new DropItem {
                        Name = listBoxOre.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Meat":
                    Meat.Add(new DropItem {
                        Name = listBoxMeat.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "CraftingMaterial":
                    CraftingMaterial.Add(new DropItem {
                        Name = listBoxCraftingMaterial.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance)
                    });
                    break;

                case "Scroll":
                    Scrolls.Add(new DropItem {
                        Name = listBoxScroll.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Gem":
                    Gem.Add(new DropItem {
                        Name = listBoxGem.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Mount":
                    Mount.Add(new DropItem {
                        Name = listBoxMount.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Book":
                    Book.Add(new DropItem {
                        Name = listBoxBook.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Nothing":
                    Nothing.Add(new DropItem {
                        Name = listBoxNothing.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Script":
                    Script.Add(new DropItem {
                        Name = listBoxScript.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Reins":
                    Reins.Add(new DropItem {
                        Name = listBoxReins.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Bells":
                    Bells.Add(new DropItem {
                        Name = listBoxBells.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Saddle":
                    Saddle.Add(new DropItem {
                        Name = listBoxSaddle.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Ribbon":
                    Ribbon.Add(new DropItem {
                        Name = listBoxRibbon.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Mask":
                    Mask.Add(new DropItem {
                        Name = listBoxMask.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Food":
                    Food.Add(new DropItem {
                        Name = listBoxFood.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", dropChance), Quest = quest
                    });
                    break;

                case "Hook":
                    Hook.Add(new DropItem {
                        Name = listBoxHook.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", textBoxItemOdds.Text), Quest = quest
                    });
                    break;

                case "Float":
                    Float.Add(new DropItem {
                        Name = listBoxFloat.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", textBoxItemOdds.Text), Quest = quest
                    });
                    break;

                case "Bait":
                    Bait.Add(new DropItem {
                        Name = listBoxBait.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", textBoxItemOdds.Text), Quest = quest
                    });
                    break;

                case "Finder":
                    Finder.Add(new DropItem {
                        Name = listBoxFinder.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", textBoxItemOdds.Text), Quest = quest
                    });
                    break;

                case "Reel":
                    Reel.Add(new DropItem {
                        Name = listBoxReel.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", textBoxItemOdds.Text), Quest = quest
                    });
                    break;

                case "Fish":
                    Fish.Add(new DropItem {
                        Name = listBoxFish.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", textBoxItemOdds.Text), Quest = quest
                    });
                    break;

                case "Quest":
                    Quest.Add(new DropItem {
                        Name = listBoxQuest.SelectedItem.ToString().Replace(" ", string.Empty), Odds = string.Format("1/{0}", textBoxItemOdds.Text), Quest = quest
                    });
                    break;
                }

                UpdateDropFile();
            }
            catch
            {
                //No item selected when trying to add an item to the drop
            }
        }
Example #14
0
        /// <summary>
        ///  载入详细信息,无需提前载入基本信息
        /// </summary>
        /// <param name="bookisbn">书籍编号</param>
        /// <returns></returns>
        public ClassBook(string bookisbn)
        {
            FileStream fs = null; GZipStream zip = null; StreamReader sr = null;

            try
            {
                fs  = new FileStream(ClassBackEnd.BookDirectory + bookisbn + ".lbs", FileMode.Open);
                zip = new GZipStream(fs, CompressionMode.Decompress);
                sr  = new StreamReader(zip);

                Bookisbn   = sr.ReadLine();
                Bookname   = sr.ReadLine();
                Publisher  = sr.ReadLine();
                Author     = sr.ReadLine();
                Booklable1 = sr.ReadLine();
                Booklable2 = sr.ReadLine();
                Booklable3 = sr.ReadLine();
                Bookimage  = sr.ReadLine();

                var a = Convert.ToInt32(sr.ReadLine());

                Introduction = "";
                while (a-- > 0)
                {
                    introduction += sr.ReadLine();
                    if (a != 0)
                    {
                        introduction += "\r\n";
                    }
                }

                Bookamount = Convert.ToInt32(sr.ReadLine());

                var count = Convert.ToInt32(sr.ReadLine());  //each list amount
                for (int i = 0; i < count; i++)              //load bookstate list
                {
                    Book.Add(new ABook(sr));
                }

                count = Convert.ToInt32(sr.ReadLine());
                for (int i = 0; i < count; i++)              //load schedulequeue list
                {
                    schedulequeue.AddLast(sr.ReadLine());
                }
            }
            catch (Exception e) { return; }
            finally
            {
                if (sr != null)
                {
                    sr.Close();
                }
                if (zip != null)
                {
                    zip.Close();
                }
                if (fs != null)
                {
                    fs.Close();
                }
            }
        }
Example #15
0
 public ActionResult Add_Book(Book b)
 {
     b.Add();
     return(View());
 }
Example #16
0
        public override void StepRun(bool serialize, int i, string variety = null, string parameterName = null, double parameterValue = 0)
        {
            BindingList <MultiRunItem> multiRuns = RunItem.Multi.MultiRuns;
            var multiYear = RunItem.Multi.MultiYear;

            #region get items

            string miName, piName, riName, roiName, siiName, soiName, viName, exName;

            if (multiRuns.Count > 0)
            {
                var item = multiRuns[i];
                miName  = item.ManagementItemSelected;
                piName  = item.ParameterItemSelected;
                riName  = RunItem.Name;
                roiName = item.RunOptionItemSelected;
                siiName = item.SiteItemSelected;
                soiName = item.SoilItemSelected;
                viName  = item.VarietyItemSelected;
                exName  = item.ExperimentSelected;
            }
            else
            {
                miName  = RunItem.Normal.ManagementItem;
                piName  = RunItem.Normal.ParameterItem;
                riName  = RunItem.Name;
                roiName = RunItem.Normal.RunOptionItem;
                siiName = RunItem.Normal.SiteItem;
                soiName = RunItem.Normal.SoilItem;
                viName  = RunItem.Normal.VarietyItem;
                exName  = RunItem.Normal.ExperimentItem;
            }

            ManagementItem    mi  = null;
            CropParameterItem pi  = null;
            RunOptionItem     roi = null;
            SiteItem          sii = null;
            SoilItem          soi = null;
            CropParameterItem vi  = null;
            RunCore.GetItems(riName, miName, piName, roiName, siiName, soiName, viName, ref mi, ref pi, ref roi, ref sii, ref soi, ref vi);

            mi  = mi.Clone();
            pi  = pi.Clone();
            roi = roi.Clone();
            sii = sii.Clone();
            soi = soi.Clone();
            vi  = vi.Clone();

            #endregion

            ///<Behnam>
            var deltaHeader = new string[SensitivityRuns.Count];
            var index1      = 0;

            if (oneByOne)
            {
                nbSensitivityStep = 1;
                SensitivityRuns.Iterate(
                    delegate(SensitivityRunItem item)
                {
                    nbSensitivityStep    += item.NbStep;
                    deltaHeader[index1++] = item.GetHeader();
                });
            }
            else
            {
                nbSensitivityStep = 1;
                SensitivityRuns.Iterate(
                    delegate(SensitivityRunItem item)
                {
                    nbSensitivityStep    *= item.NbStep;
                    deltaHeader[index1++] = item.GetHeader();
                });
            }
            ///</Behnam>

            var   deltaValue = new double[SensitivityRuns.Count];
            int[] index      = { 0 };

            if (!multiYear)
            {
                ///<Behnam>
                switch (roi.OutputPattern)
                {
                case "V13": ProjectFile.OutputVersion = OutputVersion.V13; break;

                case "V15": ProjectFile.OutputVersion = OutputVersion.V15; break;

                case "Cus": ProjectFile.OutputVersion = OutputVersion.Cus; break;

                case "Maize": ProjectFile.OutputVersion = OutputVersion.Maize; break;
                }
                ///</Behnam>

                var yy = sii.MaxSowingDate.Year - sii.MinSowingDate.Year;
                mi.SowingDate     = new DateTime(mi.SowingDate.Year, mi.SowingDate.Month, mi.SowingDate.Day);
                sii.MinSowingDate = new DateTime(mi.SowingDate.Year, sii.MinSowingDate.Month, sii.MinSowingDate.Day);
                sii.MaxSowingDate = new DateTime(mi.SowingDate.Year + yy, sii.MaxSowingDate.Month, sii.MaxSowingDate.Day);

                Run.isFirstYear = true;
                ///</Behnam>

                var end = false;
                InitStepSensitivity(mi, pi, roi, sii, soi, vi, deltaValue, index);

                var stepIndex = 0;
                while (!end)
                {
                    var excelPage        = RunCore.Run(riName, exportNormalRuns, false, mi, pi, roi, sii, soi, vi);
                    var deltaSensitivity = "";

                    index[0] = 0;
                    SensitivityRuns.Iterate(
                        item =>
                    {
                        deltaValue[index[0]] = item.GetValue(mi, pi, roi, sii, soi, vi);
                        deltaSensitivity    += item.GetHeader() + "_" + Math.Round(deltaValue[index[0]], 4) + "_";
                        ++index[0];
                    });

                    ///<Behnam>
                    if (i == 0 && stepIndex == 0)
                    {
                        Book.Clear();
                        var outputFile = OutputFile.ExtractSensitivityRunHeader(deltaHeader);
                        outputFile.Title = OutputFileName;
                        Book.Add(outputFile);
                    }

                    if (exportNormalRuns)
                    {
                        var dailyOutputFileName = OutputPatternVarDef.OutputPatternValue(dailyOutputPattern, miName, piName, riName, roiName, siiName, soiName, viName, exName) + RunItem.Normal.OutputExtention;
                        dailyOutputFileName = dailyOutputFileName.Replace(VarDeltaSensitivity, deltaSensitivity);
                        dailyOutputFileName = dailyOutputFileName.Replace(RunItemModeMulti.VarMultiYearSowingYear, "");
                        excelPage.Title     = dailyOutputFileName;
                        Book.Add(excelPage);
                        if (serialize)
                        {
                            RunCore.Save(excelPage, AbsoluteOutputDirectory + "\\" + dailyOutputFileName);
                        }
                    }

                    if (i == 0 && ProjectFile.OutputVersion == OutputVersion.Cus && stepIndex == 0)
                    {
                        Run.SecondLine = false;
                        Book[0].Add(OutputFile.ExtractSensitivityRunLine(RunCore.RunInstance, deltaHeader, deltaValue));
                    }
                    Book[0].Add(OutputFile.ExtractSensitivityRunLine(RunCore.RunInstance, deltaHeader, deltaValue));
                    ///</Behnam>

                    end = Increment(stepIndex, mi, pi, roi, sii, soi, vi);
                    ++stepIndex;
                }
            }
            else
            {
                ///<Behnam>
                switch (roi.OutputPattern)
                {
                case "V13": ProjectFile.OutputVersion = OutputVersion.V13; break;

                case "V15": ProjectFile.OutputVersion = OutputVersion.V15; break;

                case "Cus": ProjectFile.OutputVersion = OutputVersion.Cus; break;

                case "Maize": ProjectFile.OutputVersion = OutputVersion.Maize; break;
                }
                ///</Behnam>

                var firstYear = RunItem.Multi.FirstYear;
                var lastYear  = RunItem.Multi.LastYear;

                for (var j = firstYear; j <= lastYear; ++j)
                {
                    foreach (var dateApp in mi.DateApplications)
                    {
                        dateApp.Date = new DateTime(j + (dateApp.Date.Year - mi.SowingDate.Year), dateApp.Date.Month, dateApp.Date.Day);
                    }

                    ///<Behnam>
                    var yy = sii.MaxSowingDate.Year - sii.MinSowingDate.Year;
                    mi.SowingDate     = new DateTime(j, mi.SowingDate.Month, mi.SowingDate.Day);
                    sii.MinSowingDate = new DateTime(j, sii.MinSowingDate.Month, sii.MinSowingDate.Day);
                    sii.MaxSowingDate = new DateTime(j + yy, sii.MaxSowingDate.Month, sii.MaxSowingDate.Day);

                    Run.isFirstYear = (j == firstYear);
                    ///</Behnam>

                    var end = false;
                    InitStepSensitivity(mi, pi, roi, sii, soi, vi, deltaValue, index);

                    var stepIndex = 0;

                    while (!end)
                    {
                        var excelPage        = RunCore.Run(riName, exportNormalRuns, false, mi, pi, roi, sii, soi, vi);
                        var deltaSensitivity = "";

                        index[0] = 0;
                        var index0 = index[0];
                        SensitivityRuns.Iterate(
                            delegate(SensitivityRunItem item)
                        {
                            deltaValue[index0] = item.GetValue(mi, pi, roi, sii, soi, vi);
                            deltaSensitivity  += item.GetHeader() + "_" + Math.Round(deltaValue[index[0]], 4) + "_";
                            ++index0;
                        });

                        ///<Behnam (2016.11.12)>
                        if (i == 0 && j == firstYear && stepIndex == 0)
                        {
                            Book.Clear();
                            var outputFile = OutputFile.ExtractSensitivityRunHeader(deltaHeader);
                            outputFile.Title = OutputFileName;
                            Book.Add(outputFile);
                        }

                        if (exportNormalRuns)
                        {
                            var dailyOutputFileName = OutputPatternVarDef.OutputPatternValue(dailyOutputPattern, miName, piName, riName, roiName, siiName, soiName, viName, exName) + RunItem.Normal.OutputExtention;
                            dailyOutputFileName = dailyOutputFileName.Replace(VarDeltaSensitivity, deltaSensitivity);
                            dailyOutputFileName = dailyOutputFileName.Replace(RunItemModeMulti.VarMultiYearSowingYear, mi.FinalSowingDate.Year.ToString());
                            excelPage.Title     = dailyOutputFileName;
                            Book.Add(excelPage);

                            if ((j == firstYear || (j != firstYear && oldDailyOutputFileName != dailyOutputFileName)) && stepIndex == 0)
                            {
                                if (serialize)
                                {
                                    RunCore.Save(excelPage, AbsoluteOutputDirectory + "\\" + dailyOutputFileName, true);
                                }
                            }
                            else
                            {
                                if (serialize)
                                {
                                    RunCore.Save(excelPage, AbsoluteOutputDirectory + "\\" + dailyOutputFileName, false);
                                }
                            }
                            oldDailyOutputFileName = dailyOutputFileName;
                        }

                        if (i == 0 && j == firstYear && ProjectFile.OutputVersion == OutputVersion.Cus && stepIndex == 0)
                        {
                            Run.SecondLine = false;
                            Book[0].Add(OutputFile.ExtractSensitivityRunLine(RunCore.RunInstance, deltaHeader, deltaValue));
                        }
                        Book[0].Add(OutputFile.ExtractSensitivityRunLine(RunCore.RunInstance, deltaHeader, deltaValue));
                        ///</Behnam>

                        end = Increment(stepIndex, mi, pi, roi, sii, soi, vi);
                        ++stepIndex;
                    }
                }
            }
        }
Example #17
0
        public override int InitRun(bool serialize)
        {
            ///<Behnam 92015.12.08)>
            #region get items
            string miName, piName, riName, roiName, siiName, soiName, viName, exName;
            BindingList <MultiRunItem> multiRuns = RunItem.Multi.MultiRuns;
            var multiYear = RunItem.Multi.MultiYear;

            if (multiRuns.Count > 0)
            {
                var item = multiRuns[0];
                miName  = item.ManagementItemSelected;
                piName  = item.ParameterItemSelected;
                riName  = RunItem.Name;
                roiName = item.RunOptionItemSelected;
                siiName = item.SiteItemSelected;
                soiName = item.SoilItemSelected;
                viName  = item.VarietyItemSelected;
                exName  = item.ExperimentSelected;
            }
            else
            {
                miName  = RunItem.Normal.ManagementItem;
                piName  = RunItem.Normal.ParameterItem;
                riName  = RunItem.Name;
                roiName = RunItem.Normal.RunOptionItem;
                siiName = RunItem.Normal.SiteItem;
                soiName = RunItem.Normal.SoilItem;
                viName  = RunItem.Normal.VarietyItem;
                exName  = RunItem.Normal.ExperimentItem;
            }

            ManagementItem    mi  = null;
            CropParameterItem pi  = null;
            RunOptionItem     roi = null;
            SiteItem          sii = null;
            SoilItem          soi = null;
            CropParameterItem vi  = null;
            RunCore.GetItems(riName, miName, piName, roiName, siiName, soiName, viName, ref mi, ref pi, ref roi, ref sii, ref soi, ref vi);

            mi  = mi.Clone();
            pi  = pi.Clone();
            roi = roi.Clone();
            sii = sii.Clone();
            soi = soi.Clone();
            vi  = vi.Clone();

            switch (roi.OutputPattern)
            {
            case "V13": ProjectFile.OutputVersion = OutputVersion.V13; break;

            case "V15": ProjectFile.OutputVersion = OutputVersion.V15; break;

            case "Cus": ProjectFile.OutputVersion = OutputVersion.Cus; break;

            case "Maize": ProjectFile.OutputVersion = OutputVersion.Maize; break;
            }
            #endregion
            ///</Behnam>

            if (RunItem.Multi.MultiYear && RunItem.Multi.FirstYear > RunItem.Multi.LastYear)
            {
                throw new RunException(RunItem.Name, "First year (" + RunItem.Multi.FirstYear + ") must be <= to last year (" + RunItem.Multi.LastYear + ")");
            }

            var deltaHeader = new string[SensitivityRuns.Count];
            var index       = 0;

            if (oneByOne)
            {
                nbSensitivityStep = 1;
                SensitivityRuns.Iterate(
                    delegate(SensitivityRunItem item)
                {
                    nbSensitivityStep   += item.NbStep;
                    deltaHeader[index++] = item.GetHeader();
                });
            }
            else
            {
                nbSensitivityStep = 1;
                SensitivityRuns.Iterate(
                    delegate(SensitivityRunItem item)
                {
                    nbSensitivityStep   *= item.NbStep;
                    deltaHeader[index++] = item.GetHeader();
                });
            }

            if (Book != null)
            {
                Book.Clear();
            }
            else
            {
                Book = new Book();
            }
            var page = OutputFile.ExtractSensitivityRunHeader(deltaHeader);
            page.Title = OutputFileName;
            Book.Add(page);
            return(Math.Max(1, RunItem.Multi.MultiRuns.Count));
        }
Example #18
0
 public RedirectToRouteResult Store(Book bookObj)
 {
     Book.Add(TempData["book"] as Book);
     return(RedirectToAction("Index", "Books"));
 }
Example #19
0
 public bool AddBook(Book book)
 {
     return(book.Add());
 }
Example #20
0
 public int Add(Book book)
 {
     Book.Add(book);
     return(SaveChanges());
 }
Example #21
0
        /// <summary>
        /// 载入详细信息,如果没有载入基本信息,会返回false
        /// </summary>
        internal bool LoadDetailInformation()
        {
            book.Clear();
            schedulequeue.Clear();

            if (Bookisbn == "")
            {
                return(false);
            }
            FileStream fs = null; GZipStream zip = null; StreamReader sr = null;

            fs         = new FileStream(ClassBackEnd.BookDirectory + Bookisbn + ".lbs", FileMode.Open);
            zip        = new GZipStream(fs, CompressionMode.Decompress);
            sr         = new StreamReader(zip);
            Bookisbn   = sr.ReadLine();
            Bookname   = sr.ReadLine();
            Publisher  = sr.ReadLine();
            Author     = sr.ReadLine();
            Booklable1 = sr.ReadLine();
            Booklable2 = sr.ReadLine();
            Booklable3 = sr.ReadLine();
            Bookimage  = sr.ReadLine();
            var a = Convert.ToInt32(sr.ReadLine());

            Introduction = "";
            while (a-- > 0)
            {
                introduction += sr.ReadLine();
                if (a != 0)
                {
                    introduction += "\r\n";
                }
            }

            Bookamount = Convert.ToInt32(sr.ReadLine());

            var count = Convert.ToInt32(sr.ReadLine()); //each list amount

            for (int i = 0; i < count; i++)             //load bookstate list
            {
                Book.Add(new ABook(sr));
            }

            count = Convert.ToInt32(sr.ReadLine());
            for (int i = 0; i < count; i++)          //load schedulequeue list
            {
                schedulequeue.AddLast(sr.ReadLine());
            }
            if (sr != null)
            {
                sr.Close();
            }
            if (zip != null)
            {
                zip.Close();
            }
            if (fs != null)
            {
                fs.Close();
            }
            return(true);
        }