private void AddSupplementaryMove(Move move, Pile pile, HoldingSet holdingSet, bool undoHolding) { // Add moves to the holding piles. for (int i = 0; i < holdingSet.Count; i++) { HoldingInfo holding = holdingSet[i]; Move holdingMove = new Move(MoveType.Basic, MoveFlags.Holding, move.From, -holding.Length, holding.To); WorkingTableau.Move(holdingMove); SupplementaryMoves.Add(holdingMove); } // Add the primary move. WorkingTableau.UncheckedMove(new Move(move.From, move.FromRow, move.To)); SupplementaryMoves.Add(move); if (undoHolding) { // Undo moves from the holding piles. for (int i = holdingSet.Count - 1; i >= 0; i--) { HoldingInfo holding = holdingSet[i]; Move holdingMove = new Move(MoveType.Basic, MoveFlags.UndoHolding, holding.To, -holding.Length, move.To); if (!WorkingTableau.TryMove(holdingMove)) { break; } SupplementaryMoves.Add(holdingMove); } } }
public async Task <IActionResult> Create([Bind("Id,HoldingNo,ClientInfoId,HoldingTypeId,HoldingCategoryId,WardId,RoadId,Address,MeterNo,Floor,Flat,AssetValue,Status,EffectDate,DivisionId,DistrictId,UpzillaId,Remark")] HoldingInfo holdingInfo) { bool IsHoldingInfoExist = _context.HoldingInfo.Any (x => x.HoldingNo == holdingInfo.HoldingNo && x.Id != holdingInfo.Id); if (IsHoldingInfoExist == true) { ModelState.AddModelError("HoldingNo", "Holding No Already exit"); } if (ModelState.IsValid) { holdingInfo.InsertDate = DateTime.Now; // holdingInfo.InsertBy= _context.Add(holdingInfo); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ClientInfoId"] = new SelectList(_context.ClientInfo, "Id", "UserId", holdingInfo.ClientInfoId); ViewData["DistrictId"] = new SelectList(_context.District, "Id", "DistrictName", holdingInfo.DistrictId); ViewData["DivisionId"] = new SelectList(_context.Division, "Id", "DivisonName", holdingInfo.DivisionId); ViewData["HoldingCategoryId"] = new SelectList(_context.HoldingCategory, "Id", "TypeName", holdingInfo.HoldingCategoryId); ViewData["HoldingTypeId"] = new SelectList(_context.HoldingType, "Id", "TypeName", holdingInfo.HoldingTypeId); ViewData["RoadId"] = new SelectList(_context.Road, "Id", "Id", holdingInfo.RoadId); ViewData["UpzillaId"] = new SelectList(_context.Upzilla, "Id", "UpzillaName", holdingInfo.UpzillaId); ViewData["WardId"] = new SelectList(_context.Ward, "Id", "Id", holdingInfo.WardId); return(View(holdingInfo)); }
public int AddHolding(HoldingSet holdingSet) { if (holdingSet.Count == 0) { return(-1); } int first = SupplementaryList.Count; for (int i = 0; i < holdingSet.Count; i++) { HoldingInfo holding = holdingSet[i]; int holdingNext = i < holdingSet.Count - 1 ? SupplementaryList.Count + 1 : -1; SupplementaryList.Add(new Move(holding.From, holding.FromRow, holding.To, holding.Length, -1, holdingNext)); } return(first); }