/// <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); }
/// <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)); } }
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)); } }
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; }
/// <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); }
/// <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); } }
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)); }
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; } }
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"); } }
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); } }
/// <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); }
// 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; } } } } } }
// 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 } }
/// <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(); } } }
public ActionResult Add_Book(Book b) { b.Add(); return(View()); }
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; } } } }
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)); }
public RedirectToRouteResult Store(Book bookObj) { Book.Add(TempData["book"] as Book); return(RedirectToAction("Index", "Books")); }
public bool AddBook(Book book) { return(book.Add()); }
public int Add(Book book) { Book.Add(book); return(SaveChanges()); }
/// <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); }