private void _setHpGauge() { bool flag = false; this._eHitState = new HpHitState[this._eBattleship.get_Count()]; List <ShipModel_Defender> defenders = this._clsTorpedo.GetDefenders(false); for (int i = 0; i < defenders.get_Count(); i++) { DamageModel attackDamage = this._clsTorpedo.GetAttackDamage(defenders.get_Item(i).TmpId); switch (attackDamage.GetHitState()) { case BattleHitStatus.Miss: if (this._eHitState[i] == HpHitState.None) { this._eHitState[i] = HpHitState.Miss; } break; case BattleHitStatus.Normal: if (this._eHitState[i] != HpHitState.Critical) { this._eHitState[i] = HpHitState.Hit; } break; case BattleHitStatus.Clitical: this._eHitState[i] = HpHitState.Critical; break; } BattleHitStatus status; if (this._eHitState[i] == HpHitState.Miss) { status = BattleHitStatus.Miss; } else if (this._eHitState[i] == HpHitState.Critical) { status = BattleHitStatus.Clitical; } else { status = BattleHitStatus.Normal; } this._battleHpGauges.SetGauge(i, false, false, true, false); this._battleHpGauges.SetHp(i, defenders.get_Item(i).MaxHp, defenders.get_Item(i).HpBefore, defenders.get_Item(i).HpAfter, attackDamage.GetDamage(), status, false); if (attackDamage.GetProtectEffect() && !flag) { flag = true; this._isProtect = true; this._rescueCutIn.AddShipList(this._eBattleship.get_Item(0), this._eBattleship.get_Item(i)); } } }
private void ProcessServerHit(RaycastHit2D hit, int penetration, DamageModel model) { if (model == null) { return; } if (model.ColliderPartMap.ContainsKey(hit.collider)) { var part = model.ColliderPartMap[hit.collider]; if (part == null) { return; } // Deal damage to that part! switch (Data.DamageType) { case ProjectileDamageType.NORMAL: // Deal damage to only the hit part. part.Damage(damage); break; case ProjectileDamageType.EXPLOSIVE: // Do an explosion style damage that will harm parts around the inital hit point. // Does not spawn explosion effect or anything like that. model.DealExplosionDamage(damage, part.ID, Data.ExplosionCollateralDamage); break; default: Debug.LogError("Unhandled type of projectile damage!! ({0})".Form(Data.DamageType)); break; } if (ServerHit != null) { ServerHit.Invoke(hit, penetration, model); } } else { // Hit a collider that was part of a damage model, but the collider was not mapped. // This counted as a penetration hit, but it didn't deal damage. :( Debug.LogWarning("Unmapped collider on damage model '{0}'. Collider name: '{1}'. Hit with projectile, but could not deal damage. Please consider making unmapped colliders triggers so that they are not hit.".Form(model.name, hit.collider.name)); return; } }
private void _createExplosion() { _listBombCritical = new List <bool>(); _listExplosion = new List <ParticleSystem>(); _listMiss = new List <ParticleSystem>(); Vector3 position5 = default(Vector3); for (int i = 0; i < _defenders.Count; i++) { DamageModel attackDamage = _clsShelling.GetAttackDamage(_defenders[i].TmpId); int key = (!attackDamage.GetProtectEffect()) ? _defenders[i].Index : _defenders[i].Index; if (attackDamage.GetHitState() != 0) { _isAttack = true; ParticleSystem val = (!((UnityEngine.Object)BattleTaskManager.GetParticleFile().explosionAerial == null)) ? UnityEngine.Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().explosionAerial) : BattleTaskManager.GetParticleFile().explosionAerial; ((Component)val).SetActive(isActive: true); ((Component)val).transform.parent = BattleTaskManager.GetBattleField().transform; Transform transform = ((Component)val).transform; Vector3 position = _eBattleship[key].transform.position; float x = position.x; Vector3 position2 = _eBattleship[key].transform.position; transform.position = new Vector3(x, 3f, position2.z); _listExplosion.Add(val); _listBombCritical.Add((attackDamage.GetHitState() == BattleHitStatus.Clitical) ? true : false); } else { int iLim = XorRandom.GetILim(0, 2); Vector3[] array = new Vector3[3] { new Vector3(5f, 0f, -5f), new Vector3(-3f, 0f, 5f), new Vector3(4f, 0f, -7f) }; Vector3 position3 = _eBattleship[key].transform.position; float x2 = position3.x + array[iLim].x; Vector3 position4 = _eBattleship[key].transform.position; position5 = new Vector3(x2, 0f, position4.z + array[iLim].z); ParticleSystem val2 = (!((UnityEngine.Object)BattleTaskManager.GetParticleFile().splashMiss == null)) ? UnityEngine.Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().splashMiss) : BattleTaskManager.GetParticleFile().splashMiss; ((Component)val2).SetActive(isActive: true); ((Component)val2).transform.parent = BattleTaskManager.GetBattleField().transform; ((Component)val2).transform.position = position5; val2.Stop(); _listMiss.Add(val2); } } }
private void _createTorpedoWake() { ShipModel_BattleAll[] ships_e = BattleTaskManager.GetBattleManager().Ships_e; List <ShipModel_Defender> defenders = this._clsTorpedo.GetDefenders(false); for (int i = 0; i < defenders.get_Count(); i++) { DamageModel attackDamage = this._clsTorpedo.GetAttackDamage(defenders.get_Item(i).TmpId); Vector3 vector = (!attackDamage.GetProtectEffect()) ? this._eBattleship.get_Item(i).get_transform().get_position() : this._eBattleship.get_Item(i).get_transform().get_position(); Vector3 target = (attackDamage.GetHitState() != BattleHitStatus.Miss) ? new Vector3(vector.x, vector.y + 1f, vector.z) : new Vector3(vector.x - 1.5f, vector.y - 1.5f, vector.z - 20f); this._listPSTorpedoWake.Add(this._createTorpedo(new Vector3(this._eBattleship.get_Item(i).get_transform().get_position().x, 1f, this._eBattleship.get_Item(i).get_transform().get_position().z + 40f), target, (attackDamage.GetHitState() != BattleHitStatus.Miss) ? 0.6f : 1f, attackDamage.GetHitState() != BattleHitStatus.Miss)); if (attackDamage.GetHitState() != BattleHitStatus.Miss) { this._isAttackE = true; } } }
private void _createTorpedoWake() { ShipModel_BattleAll[] ships_e = BattleTaskManager.GetBattleManager().Ships_e; List<ShipModel_Defender> defenders = _clsTorpedo.GetDefenders(is_friend: false); for (int i = 0; i < defenders.Count; i++) { DamageModel attackDamage = _clsTorpedo.GetAttackDamage(defenders[i].TmpId); Vector3 vector = (!attackDamage.GetProtectEffect()) ? _eBattleship[i].transform.position : _eBattleship[i].transform.position; Vector3 target = (attackDamage.GetHitState() != 0) ? new Vector3(vector.x, vector.y + 1f, vector.z) : new Vector3(vector.x - 1.5f, vector.y - 1.5f, vector.z - 20f); List<PSTorpedoWake> listPSTorpedoWake = _listPSTorpedoWake; Vector3 position = _eBattleship[i].transform.position; float x = position.x; Vector3 position2 = _eBattleship[i].transform.position; listPSTorpedoWake.Add(_createTorpedo(new Vector3(x, 1f, position2.z + 40f), target, (attackDamage.GetHitState() != 0) ? 0.6f : 1f, (attackDamage.GetHitState() != 0) ? true : false)); if (attackDamage.GetHitState() != 0) { _isAttackE = true; } } }
private void _createTorpedoWakeOnes() { Dictionary <int, UIBattleShip> dicFriendBattleShips = BattleTaskManager.GetBattleShips().dicFriendBattleShips; Dictionary <int, UIBattleShip> dicEnemyBattleShips = BattleTaskManager.GetBattleShips().dicEnemyBattleShips; bool isTC = false; for (int i = 0; i < this._clsTorpedo.ShienShips.Length; i++) { if (this._clsTorpedo.ShienShips[i] != null) { if (this._clsTorpedo.ShienShips[i].ShipType == 4) { isTC = true; } } } this._listTorpedoWake = new List <PSTorpedoWake>(); List <ShipModel_Defender> defenders = this._clsTorpedo.GetDefenders(false); for (int j = 0; j < defenders.get_Count(); j++) { DamageModel attackDamage = this._clsTorpedo.GetAttackDamage(defenders.get_Item(j).TmpId); Vector3 vecStraightTarget = (!attackDamage.GetProtectEffect()) ? dicEnemyBattleShips.get_Item(j).get_transform().get_position() : dicEnemyBattleShips.get_Item(0).get_transform().get_position(); Vector3 injection = new Vector3(vecStraightTarget.x, vecStraightTarget.y, dicFriendBattleShips.get_Item(0).get_transform().get_position().z - 1f); Vector3 target = (attackDamage.GetHitState() != BattleHitStatus.Miss) ? new Vector3(vecStraightTarget.x, vecStraightTarget.y, vecStraightTarget.z + 20f) : new Vector3(vecStraightTarget.x - 3f, vecStraightTarget.y, vecStraightTarget.z + 20f); this._listTorpedoWake.Add(this._createTorpedo(true, injection, target, 2.65f, false, false)); this._setTopCamera(injection.x); this._vecStraightTarget = vecStraightTarget; this._fStraightTargetGazeHeight = dicEnemyBattleShips.get_Item(j).pointOfGaze.y; } using (List <PSTorpedoWake> .Enumerator enumerator = this._listTorpedoWake.GetEnumerator()) { while (enumerator.MoveNext()) { PSTorpedoWake current = enumerator.get_Current(); current.Injection(iTween.EaseType.linear, true, isTC, delegate { }); } } }
private void _setHpGauge() { BattleCutInCamera cutInCamera = BattleTaskManager.GetBattleCameras().cutInCamera; bool flag = false; _eHpPos = _setHpGaugePosition(_eBattleship.Count); _eHitState = new HpHitState[_eBattleship.Count]; UIPanel uIPanel = Resources.Load <UIPanel>("Prefabs/Battle/UI/UICircleHpPanel"); _uiHpGaugePanel = Util.Instantiate(uIPanel.gameObject, cutInCamera.transform.gameObject).GetComponent <UIPanel>(); for (int i = 0; i < _defenders.Count; i++) { DamageModel attackDamage = _clsShelling.GetAttackDamage(_defenders[i].TmpId); if (attackDamage.GetHitState() == BattleHitStatus.Clitical) { _eHitState[attackDamage.Defender.Index] = HpHitState.Critical; } else if (attackDamage.GetHitState() == BattleHitStatus.Miss) { if (_eHitState[attackDamage.Defender.Index] == HpHitState.None) { _eHitState[attackDamage.Defender.Index] = HpHitState.Miss; } } else if (attackDamage.GetHitState() == BattleHitStatus.Normal && _eHitState[attackDamage.Defender.Index] != HpHitState.Critical) { _eHitState[attackDamage.Defender.Index] = HpHitState.Hit; } BattleHitStatus status = (_eHitState[i] != HpHitState.Miss) ? ((_eHitState[i] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss; _battleHpGauges.SetGauge(i, isFriend: false, isLight: true, isT: false, isNumber: false); _battleHpGauges.SetHp(i, _defenders[i].MaxHp, _defenders[i].HpBefore, _defenders[i].HpAfter, attackDamage.GetDamage(), status, isFriend: false); if (attackDamage.GetProtectEffect() && !flag) { flag = true; _isProtect = true; _rescueCutIn.AddShipList(_eBattleship[0], _eBattleship[i]); } } }
public static void Postfix() { Game.instance.model.GetUpgrade("Armor Piercing Darts").cost = ArmorPiercingDartsCost; foreach (var towerModel in Game.instance.model.towers) { if (!towerModel.appliedUpgrades.Contains("Armor Piercing Darts")) { continue; } var attackModel = towerModel.behaviors.First(b => b.name.Contains("AttackModel")).Cast <AttackModel>(); var projectile = attackModel.weapons[0].projectile; DamageModel damage = projectile.behaviors.First(b => b.name.Contains("Damage")).Cast <DamageModel>(); damage.damageTypes = new[] { "Normal" }; if (towerModel.appliedUpgrades.Contains("Heat-tipped Darts")) { damage.damage += HeatTippedDartsBonus; } } }
private void _createTorpedoWakeOnes() { Dictionary <int, UIBattleShip> dicFriendBattleShips = BattleTaskManager.GetBattleShips().dicFriendBattleShips; Dictionary <int, UIBattleShip> dicEnemyBattleShips = BattleTaskManager.GetBattleShips().dicEnemyBattleShips; bool isTC = false; for (int i = 0; i < _clsTorpedo.ShienShips.Length; i++) { if (_clsTorpedo.ShienShips[i] != null && _clsTorpedo.ShienShips[i].ShipType == 4) { isTC = true; } } _listTorpedoWake = new List <PSTorpedoWake>(); List <ShipModel_Defender> defenders = _clsTorpedo.GetDefenders(is_friend: false); Vector3 injection = default(Vector3); for (int j = 0; j < defenders.Count; j++) { DamageModel attackDamage = _clsTorpedo.GetAttackDamage(defenders[j].TmpId); Vector3 vecStraightTarget = (!attackDamage.GetProtectEffect()) ? dicEnemyBattleShips[j].transform.position : dicEnemyBattleShips[0].transform.position; float x = vecStraightTarget.x; float y = vecStraightTarget.y; Vector3 position = dicFriendBattleShips[0].transform.position; injection = new Vector3(x, y, position.z - 1f); Vector3 target = (attackDamage.GetHitState() != 0) ? new Vector3(vecStraightTarget.x, vecStraightTarget.y, vecStraightTarget.z + 20f) : new Vector3(vecStraightTarget.x - 3f, vecStraightTarget.y, vecStraightTarget.z + 20f); _listTorpedoWake.Add(_createTorpedo(isOnes: true, injection, target, 2.65f, isDet: false, isMiss: false)); _setTopCamera(injection.x); _vecStraightTarget = vecStraightTarget; Vector3 pointOfGaze = dicEnemyBattleShips[j].pointOfGaze; _fStraightTargetGazeHeight = pointOfGaze.y; } foreach (PSTorpedoWake item in _listTorpedoWake) { item.Injection(iTween.EaseType.linear, isPlaySE: true, isTC, delegate { }); } }
private void _createExplosion() { this._listBombCritical = new List <bool>(); this._listExplosion = new List <ParticleSystem>(); this._listMiss = new List <ParticleSystem>(); for (int i = 0; i < this._defenders.get_Count(); i++) { DamageModel attackDamage = this._clsShelling.GetAttackDamage(this._defenders.get_Item(i).TmpId); int num = (!attackDamage.GetProtectEffect()) ? this._defenders.get_Item(i).Index : this._defenders.get_Item(i).Index; if (attackDamage.GetHitState() != BattleHitStatus.Miss) { this._isAttack = true; ParticleSystem particleSystem = (!(BattleTaskManager.GetParticleFile().explosionAerial == null)) ? Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().explosionAerial) : BattleTaskManager.GetParticleFile().explosionAerial; particleSystem.SetActive(true); particleSystem.get_transform().set_parent(BattleTaskManager.GetBattleField().get_transform()); particleSystem.get_transform().set_position(new Vector3(this._eBattleship.get_Item(num).get_transform().get_position().x, 3f, this._eBattleship.get_Item(num).get_transform().get_position().z)); this._listExplosion.Add(particleSystem); this._listBombCritical.Add(attackDamage.GetHitState() == BattleHitStatus.Clitical); } else { int iLim = XorRandom.GetILim(0, 2); Vector3[] array = new Vector3[] { new Vector3(5f, 0f, -5f), new Vector3(-3f, 0f, 5f), new Vector3(4f, 0f, -7f) }; Vector3 position = new Vector3(this._eBattleship.get_Item(num).get_transform().get_position().x + array[iLim].x, 0f, this._eBattleship.get_Item(num).get_transform().get_position().z + array[iLim].z); ParticleSystem particleSystem2 = (!(BattleTaskManager.GetParticleFile().splashMiss == null)) ? Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().splashMiss) : BattleTaskManager.GetParticleFile().splashMiss; particleSystem2.SetActive(true); particleSystem2.get_transform().set_parent(BattleTaskManager.GetBattleField().get_transform()); particleSystem2.get_transform().set_position(position); particleSystem2.Stop(); this._listMiss.Add(particleSystem2); } } }
public void ProcessHit(RaycastHit2D hit, int penetration, DamageModel model) { // Can run on either server or client. // On server, deals damage, applies forces. if (isServer) { ProcessServerHit(hit, penetration, model); } // On clients, spawns hit effects and audio ect. // TODO apply hit effect and audio. // Apply hit effect. if (model != null) { if (model.ColliderPartMap.ContainsKey(hit.collider)) { var hitEffect = model.ColliderPartMap[hit.collider].HitEffect; if (hitEffect != TempEffects.NONE) { // Spawn hit effect. var prefab = TempEffect.GetPrefab(hitEffect).PoolableObject; var effect = Pool.Get(prefab); if (effect != null) { effect.transform.position = hit.point; float angle = Mathf.Atan2(hit.normal.y, hit.normal.x) * Mathf.Rad2Deg; effect.transform.eulerAngles = new Vector3(0f, 0f, angle); } else { Debug.LogWarning("Tried to spawn effect for projectile hit, but the pool returned null!"); } } } } }
public static void GorillaGlue(TowerModel model) { foreach (var projectileModel in model.GetAllProjectiles()) { var amount = Math.Max(1, model.tier); if (model.tier == 4) { amount++; } if (model.tier == 5) { amount += 5; } var damageModel = projectileModel.GetDamageModel(); if (damageModel == null) { damageModel = new DamageModel("DamageModel_", amount, 0f, new Il2CppStringArray(new[] { "Normal" }), true, false, true, null); projectileModel.AddBehavior(damageModel); } else { damageModel.damage += amount; } if (model.appliedUpgrades.Contains("MOAB Glue")) { var damageModifierForTagModel = new DamageModifierForTagModel("DamageModifierForTagModel_", "Moabs", 1.0f, amount * 9, false, true); projectileModel.AddBehavior(damageModifierForTagModel); projectileModel.hasDamageModifiers = true; } } }
private void _compTorpedoAttack() { bool flag = false; float[] array = new float[] { -416f, -310f, -205f, -70f, 115f, 350f }; List <ShipModel_Defender> defenders = this._clsTorpedo.GetDefenders(false); for (int i = 0; i < defenders.get_Count(); i++) { this._battleHpGauges.Show(i, new Vector3(this.setHpGaugePosition(defenders.get_Count(), i), -210f, 0f), new Vector3(0.22f, 0.22f, 0.22f), false); this._battleHpGauges.PlayHp(i, null); DamageModel attackDamage = this._clsTorpedo.GetAttackDamage(defenders.get_Item(i).TmpId); if (attackDamage.GetHitState() == BattleHitStatus.Miss) { this._battleHpGauges.PlayMiss(i); } else if (attackDamage.GetHitState() == BattleHitStatus.Clitical) { flag = true; this._battleHpGauges.PlayCritical(i); } } if (this._isAttackE) { KCV.Utils.SoundUtils.PlaySE((!flag) ? SEFIleInfos.SE_909 : SEFIleInfos.SE_910); this._camFriend.cameraShake.ShakeRot(null); } this._setState(ProdSupportTorpedoP2.StateType.End); }
private void _setHpGauge() { bool flag = false; _eHitState = new HpHitState[_eBattleship.Count]; List<ShipModel_Defender> defenders = _clsTorpedo.GetDefenders(is_friend: false); for (int i = 0; i < defenders.Count; i++) { DamageModel attackDamage = _clsTorpedo.GetAttackDamage(defenders[i].TmpId); switch (attackDamage.GetHitState()) { case BattleHitStatus.Normal: if (_eHitState[i] != HpHitState.Critical) { _eHitState[i] = HpHitState.Hit; } break; case BattleHitStatus.Clitical: _eHitState[i] = HpHitState.Critical; break; case BattleHitStatus.Miss: if (_eHitState[i] == HpHitState.None) { _eHitState[i] = HpHitState.Miss; } break; } BattleHitStatus status = (_eHitState[i] != HpHitState.Miss) ? ((_eHitState[i] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss; _battleHpGauges.SetGauge(i, isFriend: false, isLight: false, isT: true, isNumber: false); _battleHpGauges.SetHp(i, defenders[i].MaxHp, defenders[i].HpBefore, defenders[i].HpAfter, attackDamage.GetDamage(), status, isFriend: false); if (attackDamage.GetProtectEffect() && !flag) { flag = true; _isProtect = true; _rescueCutIn.AddShipList(_eBattleship[0], _eBattleship[i]); } } }
public IActionResult ReciveAddDamage(DamageModel value) { //add model to db. return(Json(value)); }
public void AddDamage(SkillCom attacker, SkillCom target, DamageModel damage, float angle = 0) { DamageCom damageCom = LCECS.ECSLocate.ECS.GetWorld().GetCom <DamageCom>(); damageCom.AddDamageInfo(attacker, target, damage, angle); }
public TileObject(ISceneParentRef parent, IPlayerParentRef owner, ITileParentRef tempTile, float z, DamageModel damageModel, TaggingNative native) : base(parent, owner, tempTile.X, tempTile.Y, z) { this.Native = native; this.TempTile = tempTile; this.DamageModel = damageModel; this.InitiativePosition += parent.GetNextRandom() / 10000f; this.Affected = true; this.HealthRevealed = false; }
public void DamagedPlayer(DamageModel result) { Logger.DebugHighlight("[PacketNotification.DamagedPlayer]"); PlayerManager.inst.UpdateHP(result.damagedPlayer, result.currentHP, result.maxHP); }
public void Health() { _damageModel = new DamageModel(500, null); Assert.AreEqual(_damageModel.Health, 500, "Model has 500 health"); Assert.AreEqual(_damageModel.MaxHealth, 500, "Model has 500 max health"); }
public JsonResult getNewEntryEdit(DamageModel damage) { // if (!Utils.Utils.GetPermission("SHOW_SELL_ATTACHMENTS")) //{ // return Json(0); //} using (DataContext _db = new DataContext()) { using (DbContextTransaction tran = _db.Database.BeginTransaction(IsolationLevel.Snapshot)) { try { //if (data.customer_id == 0) { //Customer cust = _db.Customers.Where(c => c.Code == damage.code).FirstOrDefault(); //data.customer_id = cust.Id; } if (damage.code != null && damage.code != "") { Customer cust = _db.Customers.Where(c => c.Code == damage.code).FirstOrDefault(); List <CustomerSellAttachments> cur_attachs_date = _db.CustomerSellAttachments.Where(a => a.CustomerID == cust.Id && a.Diler_Id == damage.user_id).ToList(); List <CustomerSellAttachments> cur_attachs = new List <CustomerSellAttachments>(); foreach (var item in cur_attachs_date) { if (item.CustomerID == cust.Id && item.Diler_Id == damage.user_id) { cur_attachs.Add(item); } } var customerSellAttachs = from custAttachs in cur_attachs group custAttachs by custAttachs.AttachmentID into cGroup select new { Key = cGroup.Key, customerAttachs = cGroup }; foreach (var item in damage.attachment) { if (cur_attachs.Any(a => a.AttachmentID == item.id)) { foreach (var group in customerSellAttachs) { //if (group.customerAttachs.FirstOrDefault().AttachmentID == item.id && group.customerAttachs.Select(a => a.Count).Sum() == item.count) //{ // continue; //} if (group.customerAttachs.FirstOrDefault().AttachmentID == item.id) { short verify_status = cur_attachs.FirstOrDefault().VerifyStatus == 2 || cur_attachs.FirstOrDefault().VerifyStatus == (short)1 ? (short)1 : (short)0; if (item.count > 0) { var count_attach = cur_attachs.Where(c => c.AttachmentID == item.id).Select(s => s.Count).FirstOrDefault() + item.count; _db.CustomerSellAttachments.Add(new CustomerSellAttachments() { Tdate = DateTime.Now, AttachmentID = group.customerAttachs.FirstOrDefault().AttachmentID, Count = count_attach,// item.count, CustomerID = group.customerAttachs.FirstOrDefault().CustomerID, Diler_Id = group.customerAttachs.FirstOrDefault().Diler_Id, VerifyStatus = verify_status }); cur_attachs.ToList().ForEach(a => a.VerifyStatus = verify_status); cur_attachs.ToList().ForEach(a => _db.Entry(a).State = EntityState.Modified); cur_attachs.Remove(group.customerAttachs.Select(s => s).FirstOrDefault()); _db.CustomerSellAttachments.RemoveRange(group.customerAttachs); _db.SaveChanges(); } //else if (item.count == 0) //{ // cur_attachs.ToList().ForEach(a => a.VerifyStatus = verify_status); // cur_attachs.ToList().ForEach(a => _db.Entry(a).State = EntityState.Modified); // cur_attachs.Remove(group.customerAttachs.Select(s => s).FirstOrDefault()); // _db.CustomerSellAttachments.RemoveRange(group.customerAttachs); // _db.SaveChanges(); //} } } } else { if (item.count > 0) { short verify_status = 0; if (cur_attachs.Any(a => a.AttachmentID == item.id)) { verify_status = cur_attachs.FirstOrDefault().VerifyStatus == 2 || cur_attachs.FirstOrDefault().VerifyStatus == (short)1 ? (short)1 : (short)0; cur_attachs.ToList().ForEach(a => a.VerifyStatus = verify_status); cur_attachs.ToList().ForEach(a => _db.Entry(a).State = EntityState.Modified); } _db.CustomerSellAttachments.Add(new CustomerSellAttachments() { Tdate = DateTime.Now, AttachmentID = item.id, Count = item.count, CustomerID = cust.Id, Diler_Id = damage.user_id, VerifyStatus = verify_status }); _db.SaveChanges(); } } } _db.SaveChanges(); tran.Commit(); return(Json(1)); } } catch (Exception ex) { tran.Rollback(); return(Json(0)); } } } return(Json(0)); }