public void deleteExtraMOU(int mou_bonus_id) { using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { //finding old exScope of exMOU. List <MOUPartnerScope> exList = db.MOUPartnerScopes.Where(x => x.mou_bonus_id == mou_bonus_id).ToList(); exList.Clear(); db.Entry(exList).State = EntityState.Modified; //add new record of MOuPartnerScope MOUBonu m = db.MOUBonus.Find(mou_bonus_id); db.MOUBonus.Remove(m); db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }
public void addExtraMOU(ExMOUAdd input, int mou_id) { using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { DateTime sign_date = DateTime.ParseExact(input.ExBasicInfo.ex_mou_sign_date, "dd/MM/yyyy", CultureInfo.InvariantCulture); DateTime end_date = DateTime.ParseExact(input.ExBasicInfo.ex_mou_end_date, "dd/MM/yyyy", CultureInfo.InvariantCulture); //add MOUBonus MOUBonu mb = new MOUBonu(); mb.mou_bonus_code = input.ExBasicInfo.ex_mou_code; mb.mou_bonus_decision_date = sign_date; mb.mou_bonus_end_date = end_date; mb.mou_id = mou_id; mb.evidence = ""; db.MOUBonus.Add(mb); //checkpoint 1 db.SaveChanges(); MOUBonu addObj = db.MOUBonus.Where(x => x.mou_bonus_code.Equals(mb.mou_bonus_code)).First(); foreach (PartnerScopeInfo partnerScopeItem in input.PartnerScopeInfo.ToList()) { foreach (int scopeItem in partnerScopeItem.scopes_id.ToList()) { db.MOUPartnerScopes.Add(new MOUPartnerScope { mou_id = mou_id, mou_bonus_id = addObj.mou_bonus_id }); } } //checkpoint 2 db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }